按下网页上的按钮时,我必须执行shell脚本。 为此,我使用php,所以我在test.php文件中创建了一个按钮
<form method="get" action="buildMaster.php">
<input type="submit" value="Build Master" id="btnMaster">
</form>
按下按钮时,将调用php buildMaster.php:
<?php
shell_exec('touch /Users/testUser/xxx');
?>
要进行测试,我只需触摸一个文件即可查看该脚本是否被调用但没有任何反应。 浏览器(Mac Lion上的Safari)转到buildMaster.php但没有任何反应。 我做错了什么?
答案 0 :(得分:1)
试试这个:
<?php
$output = shell_exec('ls -lart');
echo "<pre>$output</pre>";
?>
您将看到命令的输出
另请参阅文档:http://pl1.php.net/shell_exec - 如果PHP在保存模式下运行,则可能会禁用此功能。
答案 1 :(得分:0)
好的,发现了。我必须将stderr重定向到stdout。
<?php
$output = shell_exec('touch /Users/testUser/xxx 2>&1');
echo "<pre>$output</pre>";
?>
输出: 触摸:......权限被拒绝