php - Ausführen eines Shell-Befehls mit shell_exec

php - Ausführen eines Shell-Befehls mit shell_exec

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...

verwandte Informationen