运行 bash 脚本以在 PHP 中创建文件


Run bash script to create file in PHP

除了我之前的问题,还出现了另一个问题,我决定为它做一个新问题:

我目前正在调用一个运行 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 文件中将其关闭,并且显然检查文件系统权限。