У меня проблемы с exec и shell_exec. Я просмотрел все сообщения здесь и не могу найти проблему. код, который я использую:
chdir('/');
$handle = shell_exec("/usr/bin/php /home/donor/public_html/batch/testlaunch.php 2>&1");
echo $handle .":". gettype($handle) . "\n";
$read = fread($handle, 2096);
echo $read;
экран выглядит так:
...
X-Powered-By: PHP/5.3.21 Content-type: text/html (repeated about 100 times)
X-Powered-By: PHP/5.3.21 Content-type: text/html
PHP Warning: shell_exec() [function.shell-exec]: Unable to execute '/usr/bin/php /home/donor/public_html/batch/testlaunch.php 2>&1' in /home/donor/public_html/batch/test.php on line 4 X-Powered-By: PHP/5.3.21 Content-type: text/html
Warning: shell_exec() [function.shell-exec]: Unable to execute '/usr/bin/php /home/donor/public_html/batch/testlaunch.php 2>&1' in /home/donor/public_html/batch/test.php on line 4
:boolean PHP Warning: fread() expects parameter 1 to be resource, boolean given in /home/donor/public_html/batch/test.php on line 6
Warning: fread() expects parameter 1 to be resource, boolean given in /home/donor/public_html/batch/test.php on line 6
:string PHP Warning: fread() expects parameter 1 to be resource, string given in /home/donor/public_html/batch/test.php on line 6 (repeated another 100ish times)
Безопасный режим PHP отключен. Разрешения для папки, в которой находятся файлы .../batch/ и /usr/bin/php, установлены на 755. Пользователь для всех файлов один и тот же, за исключением php (пользователь файла php - root). В файле php.ini ничего не отключено. Отлично работает в CLI. и простые команды, такие как whoami
и ls
, работают нормально. я чувствую, что я что-то упускаю
РЕДАКТИРОВАТЬ: попробовал то, что сказал cpattersonv1, и получил:
X-Powered-By: PHP/5.3.21 Content-type: text/html sh: fork: retry: Resource temporarily unavailable sh: fork: retry: Resource temporarily unavailable sh: fork: retry: Resource temporarily unavailable sh: fork: retry: Resource temporarily unavailable X-Powered-By: PHP/5.3.21 Content-type: text/html sh: fork: retry: Resource temporarily unavailable sh: fork: retry: Resource temporarily unavailable sh: fork: retry: Resource temporarily unavailable sh: fork: retry: Resource temporarily unavailable sh: fork: Resource temporarily unavailable X-Powered-By: PHP/5.3.21 Content-type: text/html 2540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
РЕДАКТИРОВАТЬ 2: кто-нибудь знает, почему похоже, что он пытается выполнить команду более одного раза?
РЕДАКТИРОВАТЬ 3: я поместил команду в файл .sh и попытался запустить ее. работает в CLI, но опять же не работает из php
chdir('/');
$handle = exec(". /home/donor/public_html/batch/test.sh");
Я получаю тот же результат;