我遇到了以下问题: 我尝试使用php执行sh脚本。
我的尝试:
我可以运行其他命令。作为一个例子,我可以运行'cat'程序来显示我想要执行的脚本:<?php echo exec("cat /srv/web/scripts/start_server.sh"); ?>
以下代码段不起作用:
<?php echo `/srv/web/scripts/start_server.sh`; ?>
<?php echo `sh /srv/web/scripts/start_server.sh`; ?>
<?php exec("sh /srv/web/scripts/start_server.sh"); ?>
<?php exec("/srv/web/scripts/start_server.sh"); ?>
The same with: system(), popen(), proc_open(), passthru(), shell_exec()
我在脚本上尝试了各种文件权限。甚至rwxrwxrwx和rwsrwxrwx。 PHP在执行后继续执行,就像它有效一样。没有生成PHP错误。当我在控制台上启动脚本时(例如:sh /srv/web/scripts/start_server.sh),它可以工作。 我测试了一个简单的脚本,它在控制台上工作但不是当我尝试用php执行它时:
#!/bin/sh
echo hallo > /srv/web/scripts/file.txt
没有启用安全模式。 exec函数无法禁用。
作为一个环境,我在alix板上使用ipfire核心71。 Apache为httpd,php5为php解释器。
我希望有人可以帮助我。