我在以下目录中有一个shell脚本,它位于webroot之外:
/usr/share/myshellscript.sh
我希望能够从位于以下位置的php文件中调用它来运行它:
/var/www/html/myphpscript.php
如何将php脚本导航到可以运行shell脚本的正确目录?
我试过了:
exec('/usr/share/myshellscript.sh');
但什么都没发生?
我已经在服务器上测试了.sh脚本并且它工作正常,只是无法让php执行它。
系统:Ubunutu 14.04 webserver / php 5.5.9-1
答案 0 :(得分:1)
最有可能的是,您无权执行.sh脚本。要确保脚本可读且可执行,请运行:
$scriptPath = '/usr/share/myshellscript.sh';
var_dump(array(
'file' => is_file($scriptPath),
'readable' => is_readable($scriptPath),
'executable' => is_executable($scriptPath)
));
另一个可能的原因是PHP中禁用了exec()
函数。
请参阅“Check if "exec" is disabled”