php exec和shell_exec无法正常工作

chr*_*ris 4 php shell exec

我想在我的服务器上运行一个exe文件并将输出返回到浏览器屏幕.exe文件接受输入文件,然后在屏幕上返回数据.

为什么这段代码不起作用?

$output = shell_exec('myprogram < INP.DAT');
echo "<pre>" . var_export($output, TRUE) ."</pre>\\n";
Run Code Online (Sandbox Code Playgroud)

它在浏览器屏幕上显示"NULL".我也试过exec().它返回"Array()".

Joh*_*ica 6

shell_exec手册页上的一条评论说:

请注意以下不一致性:shell_exec()如果命令的输出为空,则反引号操作符不会返回字符串 - 它们将返回NULL.

这将进行严格的比较以''返回false.


如果PHP处于安全模式,它可能会被禁用.

shell_exec()(反引号的功能等价物)
当PHP以安全模式运行时,此功能被禁用.

exec()
您只能在中执行可执行文件safe_mode_exec_dir.出于实际原因,目前不允许..在可执行文件的路径中包含组件.escapeshellcmd()在此函数的参数上执行.

您可以使用该phpinfo()功能检查服务器的PHP设置.