我使用了 exec()、passthru()、shell_exec() 和 system()。只有 system() 返回了我的代码的一部分。我希望 PHP 的功能像 Linux 中的开放终端命令一样,但我无法弄清楚如何做到!
以下是现在发生情况的示例(Linux 直接 vs PHP):当直接使用 Linux 打开终端命令时:
user@wizard:/home/hyperwall/Desktop> /usr/local/bin/chbg -mt
我收到一个输出:
The following settings will be used:
option = mtsu COLOR = IMAGE = imagehereyouknow!
NODES = LOCAL
and additional code to send it to 12 nodes.
现在使用PHP实现如下:
switch($_REQUEST['do'])
{ case 'test':
echo system('/usr/local/bin/chbg -mt');
break;
}
输出:
The following settings will be used:
option = mtsu COLOR = IMAGE = imagehereyouknow!
NODES = LOCAL
停了!有人能解释一下正在发生什么吗?以及如何修复?只有系统会显示部分代码,而其他函数则没有显示任何内容!
strace
来找出它卡在哪里了吗?以调试模式运行 Web 服务器,以将其限制为单个进程。 - Ignacio Vazquez-Abrams