В этом вопросе мы встречаемся с разработчиком PHP, пытающимся выполнить скрипт bash из PHP с помощью Shell_exec. Используемый синтаксис:
$output = shell_exec("./script.sh var1 var2");
Однако при вызове этой команды сценарий не выполняется.
Для устранения этой проблемы важно определить причину сбоя. Поскольку сценарий успешно выполняется при запуске через командную строку с использованием ./script.sh var1 var2, проблема, скорее всего, кроется в коде PHP.
Одной из распространенных проблем, которые могут привести к сбою выполнения сценария, являются неправильные разрешения или пути к каталогу. . PHP-скрипты часто требуют установки правильного рабочего каталога перед выполнением внешних команд. Чтобы решить эту проблему, код может указать правильный каталог с помощью chdir перед вызовом Shell_exec.
Следующий фрагмент решает эту проблему:
$old_path = getcwd();
chdir('/my/path/');
$output = shell_exec('./script.sh var1 var2');
chdir($old_path);
В этом примере мы:
By гарантируя, что правильный каталог находится на месте, этот измененный код должен успешно выполнить сценарий bash из PHP.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3