Run Bash Script from Php
I Want to Run a Shell Script Within a Php Webpage to Check Some Processes Running on My System (Ubuntu 12.04). Googleing I've Found About Shell_Exec() but I...
I want to run a shell script within a php webpage to check some processes running on my system (Ubuntu 12.04). Googleing I've found about shell_exec() but I can't manage to run the script when loading php.
This is the php code I use.
$output = shell_exec('./dirlist.bash');
echo "<pre>$output</pre>";
and the piece of html I get
<pre></pre>
Also tried $output = shell_exec('sudo -u www-data ./dirlist.bash');
dirlist.bash does ls -l (just for testing script and shell_exec)
I think it is not a permission problem. Running directory grants write and execute privileges for all users (I should be careful here).
drwxrwxrwx 4 meteo meteo 4096 mar 11 15:20 RAMS
User www-data has been added to sudoers file in case it was needed
www-data ALL = (meteo) NOPASSWD: /home/meteo/www/RAMS/dirlist.bash
Thanks in advance
1 Answer
You probably need to chdir to the correct directory before calling the script. This way you can ensure what directory your script is "in" before calling the shell command.
$old_path = getcwd();
chdir('/my/path/');
$output = shell_exec('./script.sh var1 var2');
chdir($old_path);
echo "<pre>$output</pre>";