Есть ли причина, по которой я не могу выполнить файлы в функции shell_exec/exec/system в PHP?Почему shell_exec не выполняет файлы, а выполняет простые команды?
Пример то, что делает работу в командной строке и shell_exec функция РНР:
<?php
$data = shell_exec("ls");
echo $data;
?>
Пример чего-то, что не работает в shell_exec функции PHP, но будет работать в командной строке (я могу подтвердить, что):
<?php
$data = shell_exec("./c-compiled-file argv1 argv2 argv3");
echo $data;
?>
Есть ли что-нибудь, что я могу сделать на моем сервере, чтобы это сработало? Я повсюду искал, и никаких решений, которые я нашел, не было исправлено. Скомпилированный файл находится в том же каталоге, что и скрипт PHP, он просто не выполнит его. Также, если вы спрашиваете, да, я пробовал это с SSH2, и он все равно не будет выполнен.
Также PHP не находится в безопасном режиме, и функции NO отключены.
Вы должны иметь + х режим на файле 'CHMOD + х./С-скомпилированных file' или' CHMOD 777./С-скомпилированных file' –
Мы говорим о том же пользователя и такой же рабочий каталог? –
Скомпилированный скрипт находится в той же папке, что и скрипт PHP, выполняющий выполнение оболочки. – user2484373