Я использую вызов ajax для выполнения "shell_exec" на сервере (centos). Строка, которую я выполняю, следующая
echo shell_exec("php -q /websockets/timedactions.php");
Вот ответ сервера:
X-Powered-By: PHP/5.5.16
Access-Control-Allow-Origin: http://myIpAddress
Access-Control-Allow-Credentials: true
Content-type: text/html
После выполнения этой команды оказывается, что процесс, который она должна активировать, не запущен.
Вызов той же команды в оболочке с правами root
php -q /websockets/timedactions.php
работает отлично.
Как заставить скрипт работать с помощью shell_exec?
больше информации:
ps aux | grep httpd | awk '{print $1}' = nobody
sestatus|grep enforcing = {no result}
file permissions -rwxr-xr-x 1 root root
ls -lZ timedactions.php -rwxr-xr-x root root ? timedactions.php*
решение1
Ну ладно тогда
Кажется, ответ был довольно простым (раздражающим, как это может быть :-) ) Я просто добавил полный путь к PHP. Не знаю, почему у меня раньше не было ошибок и почему это работает (если кто-то может объяснить)
shell_exec('/usr/local/bin/php -q /websockets/timedactions.php /dev/null 2>&1 &');
Спасибо за попытку...