除了我previous question,另一个问题出现了,我决定做一个新的问题吧:PHP +运行bash脚本来创建文件
我目前正在调用PHP脚本,比运行bash脚本。 PHP脚本的样子:
chdir('/home/');
$output = shell_exec('./do.sh');
echo "<pre>$output</pre>";
的do.sh包含:
#! /bin/bash
echo 12;
dd if=/dev/urandom of=test.test bs=1048576 count=2
是以下问题:
当我打电话./do.sh
从终端一切正常:test.test是创建和输出是12
但是,当我从我的PHP文件调用它时,输出为12
,但也是否文件正在创建中。由于我对bash脚本几乎一无所知,我不知道为什么会发生这种情况......
这可能是因为PHP运行的用户对'/ home /'目录没有写入权限。您必须'chmod nnn/home',其中'nnn'是适当的权限结构 - 请记住尽可能限制它。您可能需要查看所有权和组成员身份以获得最佳设置。要测试你可以'chmod 777/home',并且如果它有效,那么你有你的答案。 – DaveRandom
非常感谢!我没有忘记为主文件夹设置正确的权限。我只想到实际的php文件,并改变了它的权限,但没有做同样的文件夹!我希望你不要在意我标记@ dAm2K的答案,因为他还建议看看权限! – Andrej
不用担心... ;-) – DaveRandom