Closed KarelWintersky closed 2 years ago
Do you mean that you can't use this as a composer package, because you have an older php version and you think so do most?
Yes. Current Debian 11 (latest) have default stable version 7.4
A lot of production servers have debian as OS.
Why do you want to use the tool as a composer package in the first place? It's actually kind of misuse. The composer package is mostly supposed to be used internally and through our own php build (aka "Manticore executor") of the needed version. The executor is already shipped as a part of "manticore-extra" and "manticore-backup" uses it. The composer package will be integrated with the daemon more tightly in the nearest future (that's why the composer package is needed at all - just so it's easier to integrate the pieces, not for actual use).
arris@blacktower:~$ ./manticore-backup
Parse error: syntax error, unexpected ')' in /tmp/pharextract/manticore-backup/src/init.php on line 31
How did you install it?
Just extracted from deb file, without installing :)
DEB-пакет не содержит никаких дополнительных инструкций, pre/post-инсталл скриптов. Поэтому его установка не обязательна
Try installing it normally as said here https://github.com/manticoresoftware/manticoresearch/issues/821#issuecomment-1279275221 or if you want to go the hard way at least install package "manticore-executor", too. Then "manticore-backup" should detect the executor and use it.
executor=$(which manticore-executor || which php)
if [[ -z "$executor" ]]; then
echo >&2 Manticore Backup requires php or manticore-executor. Please install package "manticore-extra".
exit 1
Судя по вышеприведенному коду допускается запуск с помощью родного PHP. Что я и сделал.
P.S. Английский язык это принципиально?
arris@blacktower:~$ sudo dpkg -i manticore-backup_0.2.19-221014-33a1bfd_amd64.deb
[sudo] password for arris:
Selecting previously unselected package manticore-backup.
(Reading database ... 93678 files and directories currently installed.)
Preparing to unpack manticore-backup_0.2.19-221014-33a1bfd_amd64.deb ...
Unpacking manticore-backup (0.2.19) ...
Setting up manticore-backup (0.2.19) ...
arris@blacktower:~$
arris@blacktower:~$ manticore-backup
Parse error: syntax error, unexpected ')' in /tmp/pharextract/manticore-backup/src/init.php on line 31
Nothing changed.
Вообще, заворачивание кода в PHAR, а заворачивание PHAR в DEB - это прямо какое-то костыльное решение, которое я уже много лет не видел в реальном мире.
Если нужен интерпретатор с конкретными зависимостями - их проще (и надежнее) прописать в control файл пакета.
Source: manticore-backup
Section: unknown
Priority: optional
Maintainer: ...
Build-Depends: debhelper (>= 9), composer
Standards-Version: 3.9.8
Package: manticore-backup
Architecture: all
Depends: php-common, php-cli, php-curl, php-json, php-mbstring, php-intl, php-readline
Description: manticore-backup
Как-то так.
Thanks. We'll make a better error handling for this case, so you'll be getting a better error about unsupported PHP version. But in the first place it's a misuse. We've made the executor specially to avoid issues like that this. Just install it.
Вообще, заворачивание кода в PHAR, а заворачивание PHAR в DEB - это прямо какое-то костыльное решение, которое я уже много лет не видел в реальном мире.
Если нужен интерпретатор с конкретными зависимостями - их проще (и надежнее) прописать в control файл пакета.
А:
Мы текущее решение месяц уже делаем и специфики там предостаточно. Наш билд php весит 3.5 мега, ничего вообще за собой не тянет, устанавливается за пару секунд, по лицензиям всё ок.
Хорошо. Исполнять single php file он не сможет? Обязательно нужен PHAR ?
https://github.com/KarelWintersky/kwTools.SitemapGenerator
Вот как сделано у меня. На выходе тот же единственный файл, только с шебангом #!/usr/bin/php
We've made the executor specially to avoid issues like that this. Just install it.
Тогда надо убрать из PHP-скрипта проверку на наличие PHP. Нет PHP - идем нафиг, требуем установить manticore-php-executor, говорим, как это сделать.
Мне сделать пулл-реквест?
Обязательно нужен PHAR ?
Да. Мы велосипеды стараемся не изобретать. Есть стандартное решение (10+ лет уже как) по объединению множества php файлов - используем.
Тогда надо убрать из PHP-скрипта проверку на наличие PHP. Нет PHP - идем нафиг, требуем установить manticore-php-executor, говорим, как это сделать.
Мне сделать пулл-реквест?
Спасибо, но нет. Мы не хотим ограничивать пользователя. Если кому-то несмотря на рекомендации его убеждения по какой-то причине не позволяют использовать manticore-executor, то есть альтернатива - стандартный php с нужными модулями. Обработку ошибок чуть улучшим, да.
"php": ">=8.1"
The language version requirement is too high.