PHP система () помогает не работать простым командам - PullRequest
0 голосов
/ 02 июля 2010

Я пытаюсь запустить оболочку с одного из моих контроллеров в приложениях PHP codeigniter,

Я пытаюсь запустить файл /x/sh/xpay4.sh, но я просто возвращаю 127 на экран, я могу дажеиспользование базовых команд, таких как ls или pwd, может подсказать, почему это так, я подумал, что это может быть safe_mode, когда я ini_get('safe_mode') возвращает 1

Ответы [ 2 ]

1 голос
/ 02 июля 2010

system функция ограничена в безопасном режиме.

Вы можете выполнять только исполняемые файлы в пределах safe_mode_exec_dir.По практическим причинам в настоящее время не разрешено иметь .. компонентов в пути к исполняемому файлу.escapeshellcmd () выполняется для аргумента этой функции.

http://www.php.net/manual/en/features.safe-mode.functions.php

0 голосов
/ 02 июля 2010

system () возвращает только последнюю строку вывода оболочки. Звучит, что это "127".

Если вам нужен весь вывод, попробуйте:

$output = array();
exec('/x/sh/xpay4.sh', $output);
echo implode("<br>", $output);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...