I'm using an ajax call to execute "shell_exec" on the server (centos). The line that I'm executing is the following
echo shell_exec("php -q /websockets/timedactions.php");
This is the server response:
X-Powered-By: PHP/5.5.16
Access-Control-Allow-Origin: http://myIpAddress
Access-Control-Allow-Credentials: true
Content-type: text/html
After running this command it seems that the process that it supposed to activate is not running.
Calling the same command on shell with root access
php -q /websockets/timedactions.php
works perfectly.
How can I make the script work using shell_exec ?
more 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*
sestatus | grep enforcing
)? If so, doesls -lZR /websockets/
show the right SELinux contexts (system_u:object_r:httpd_sys_script_exec_t:s0, most likely)? – Christopher Oct 6 at 13:38www-data
or whatever your webserver's user name is. Does that user have access to the file? Does the script depend on any specific variables? Do you have any errors in your log file? – terdon♦ Oct 6 at 13:38ps aux | grep httpd | awk '{print $1}'
(ignore "root"). Is SELinux on?sestatus|grep enforcing
. What are the file system permissions?ls -l /websockets/timedactions.php
What is the SELinux context?ls -lZ /websockets/timedactions.php
Knowing those things helps to sort it out. – Christopher Oct 6 at 14:00