除了我之前的问题,还出现了另一个问题,我决定为它做一个新问题:
我目前正在调用一个运行 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 脚本几乎一无所知,我不知道为什么会发生这种情况......
检查是否启用了 PHP safe_mode。您必须在/etc/php.ini 文件中将其关闭,并且显然检查文件系统权限。