Ich verwende einen Ajax-Aufruf, um "shell_exec" auf dem Server (CentOS) auszuführen. Die Zeile, die ich ausführe, ist die folgende
echo shell_exec("php -q /websockets/timedactions.php");
Dies ist die Serverantwort:
X-Powered-By: PHP/5.5.16
Access-Control-Allow-Origin: http://myIpAddress
Access-Control-Allow-Credentials: true
Content-type: text/html
Nach dem Ausführen dieses Befehls scheint der Prozess, der aktiviert werden soll, nicht ausgeführt zu werden.
Aufrufen des gleichen Befehls in der Shell mit Root-Zugriff
php -q /websockets/timedactions.php
funktioniert perfekt.
Wie kann ich das Skript mit shell_exec zum Laufen bringen?
Mehr Info:
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*
Antwort1
Na gut dann
Die Antwort scheint ziemlich einfach zu sein (so frustrierend das auch sein kann :-) ) Ich habe einfach den vollständigen Pfad zu PHP hinzugefügt. Ich weiß nicht wirklich, warum ich vorher keine Fehler bekommen habe und warum es funktioniert (falls es jemand erklären kann)
shell_exec('/usr/local/bin/php -q /websockets/timedactions.php /dev/null 2>&1 &');
Danke für den Versuch...