PHP +运行bash脚本来创建文件

时间:2012-06-15 15:12:55

标签: php bash exec

除了previous question之外,还出现了另一个问题,我决定提出一个新问题:

我目前正在调用一个运行bash脚本的PHP脚本。 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脚本几乎一无所知,所以我不知道为什么会发生这种情况......

1 个答案:

答案 0 :(得分:2)

检查PHP safe_mode是否已启用。您必须在/etc/php.ini文件中将其关闭,并显然检查文件系统权限。