我最近在我的Linux机器上设置了我的Apache2服务器。现在我想执行一个PHP脚本(index.php),该脚本运行一个shell脚本(foo.sh),该脚本在我的主目录中创建一个文件夹,但该目录未创建。“exec('sh foo.sh')”in PHP not working
这些都是原来的两个文件:
foo.sh:
#!bin/bash
mkdir /home/lorenzo/testDir
的index.php:
<?php
exec('sh test.sh');
?>
所以,我想也许是因为特权什么的问题,并且确实在我将文件更改为:
foo.sh:
#!bin/bash
echo "Hello world"
的index.php:
<?php
$temp=exec('sh test.sh');
echo $temp;
?>
我看到在我的网站输出Hello World
。
所以执行PHP脚本并运行shell脚本。但为什么shell脚本不能执行mkdir命令?
Apache用户可能没有写入主目录的权限。 – arco444 2014-10-02 11:02:56
要非常小心 - 你可能会将自己暴露在“shellshocked”的bug中! – 2014-10-02 11:10:22