用php在linux上执行sh脚本

时间:2013-08-24 15:15:48

标签: php linux apache

我遇到了以下问题: 我尝试使用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解释器。

我希望有人可以帮助我。

0 个答案:

没有答案