Доброго времени! Задумали обновить своим сервисам ОС. Установили ОС Debian 12 + IspManager на FirstVDS. Почему именно Дебиан? Потому что только с ним IspManager с ноября этого года поддерживает нативную версию ПХП 8.2. Остальные варианты не выше 8.1 . Начали тестировать, оказалось что не работает shebang, попытки запустить файл вручную из командной строки выдает No such file or directory. Проверили всё, права доступа, окончание строк у нужных файлов, результат один и тот же. Кто-нибудь сталкивался с этим? Как настроить?
PHP 8.2.26 (cli) (built: Nov 25 2024 17:21:51) (NTS) Copyright (c) The PHP Group Zend Engine v4.2.26, Copyright (c) Zend Technologies with Zend OPcache v8.2.26, Copyright (c), by Zend Technologies Не знаю этого ещё! Но там не один исполняемый файл, там их 6 участвует в этом всём, и несколько файлов настроек, конфигураций и библиотек. Программист вот какую запись оставил: // В командной строке передаётся путь к файлам конфигурации, номер очереди, имя модуля и имена загруженных файлов if ($argc < 5) exit; // upload.php conf job module file1 [file2 ...] // Как понимаю, если $argc < 5 то прекращается работа, но если ни чего не прилетело, то процесс стоит на месте. ($argc - не системная!) Так и выглядит в результате! В окне через которое загрузка происходит , процесс загрузки отрабатывается, строка процента загрузки пробегает, что загрузка прошла 100% Потом второй процесс должен начаться "конвертации файлов", из того что засунули... но не начинается. Лоудер крутится и всё ... висит! #!/usr/bin/env -S php вот так сейчас шебенг записан, перестал выдавать ошибку ./proc.php /usr/bin/env: ‘php\r’: No such file or directory /usr/bin/env: use -[v]S to pass options in shebang lines Это вот как я понял новенькая опция... Собрал сегодня новый тестовый стенд, и ни чего старался вообще не накручивать. Переключал только версии ПХП, и режимы. Сейчас оставил PHP FastCGI (Nginx + PHP-FPM) у нас во всех вариантах работает на старом сервере.
ну настройки окружения просто разные на серверах... у вас видимо где-то конкретно пути прописаны, надо поменять на свои... ну и посмотреть код че там и как запускается для всех исполняемых файлов
На сервере, .bashrc весь закомментирован, в остальных папках где может быть профиль настроен - пусто! Наверно IspManager по своему что то сделал. Писал им, но им не до этого по большому счету, пояснять как настроить окружение в связки с ними, инструкций нет, в Тырнете всё по разному написано. Хоть прислали про #!/usr/bin/env -S php Да и вообще во всем интернете, по настройке $PATH для Debian 12 только старинные переписки про стары версии, и про то, что у всех эта проблема. --- Добавлено --- Сравнивал файлы с разных сборок, отличаются в некоторых только самой строкой шебанг, по принципу что прописать быстрее, или где симлинков по пути меньше. Но, там профиль Bash есть, разбираюсь...
Сравнивал файлы с разных сборок, отличаются в некоторых только самой строкой шебанг, по принципу что прописать быстрее, или где симлинков по пути меньше.