За последние 24 часа нас посетили 58728 программистов и 1804 робота. Сейчас ищут 909 программистов ...

Настройка shebang (командной строки) Debian 12

Тема в разделе "PHP для новичков", создана пользователем KNS, 25 дек 2024.

  1. KNS

    KNS Новичок

    С нами с:
    12 авг 2024
    Сообщения:
    33
    Симпатии:
    1
    Доброго времени!
    Задумали обновить своим сервисам ОС.
    Установили ОС Debian 12 + IspManager на FirstVDS.
    Почему именно Дебиан? Потому что только с ним IspManager с ноября этого года поддерживает нативную версию ПХП 8.2. Остальные варианты не выше 8.1 .
    Начали тестировать, оказалось что не работает shebang, попытки запустить файл вручную из командной строки выдает No such file or directory.
    Проверили всё, права доступа, окончание строк у нужных файлов, результат один и тот же.

    Кто-нибудь сталкивался с этим? Как настроить?
     
  2. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    939
    Симпатии:
    145
    Код (Text):
    1. php -v
    что-то отдаёт?
     
  3. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.866
    Симпатии:
    753
    Адрес:
    Татарстан
    ну по сути то и не особо он нужен .. можно ж запускать как php script.php
     
  4. KNS

    KNS Новичок

    С нами с:
    12 авг 2024
    Сообщения:
    33
    Симпатии:
    1
    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) у нас во всех вариантах работает на старом сервере.
     
  5. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.866
    Симпатии:
    753
    Адрес:
    Татарстан
    ну настройки окружения просто разные на серверах... у вас видимо где-то конкретно пути прописаны, надо поменять на свои...
    ну и посмотреть код че там и как запускается для всех исполняемых файлов
     
  6. KNS

    KNS Новичок

    С нами с:
    12 авг 2024
    Сообщения:
    33
    Симпатии:
    1
    На сервере,
    .bashrc весь закомментирован, в остальных папках где может быть профиль настроен - пусто!
    Наверно IspManager по своему что то сделал. Писал им, но им не до этого по большому счету, пояснять как настроить окружение в связки с ними, инструкций нет, в Тырнете всё по разному написано.
    Хоть прислали про #!/usr/bin/env -S php

    Да и вообще во всем интернете, по настройке $PATH для Debian 12 только старинные переписки про стары версии, и про то, что у всех эта проблема.
    --- Добавлено ---
    Сравнивал файлы с разных сборок, отличаются в некоторых только самой строкой шебанг, по принципу что прописать быстрее, или где симлинков по пути меньше.

    Но, там профиль Bash есть, разбираюсь...
     
  7. KNS

    KNS Новичок

    С нами с:
    12 авг 2024
    Сообщения:
    33
    Симпатии:
    1
    Сравнивал файлы с разных сборок, отличаются в некоторых только самой строкой шебанг, по принципу что прописать быстрее, или где симлинков по пути меньше.