【发布时间】:2012-06-17 14:22:36
【问题描述】:
像许多其他人一样,我对 PHP 中的 shell_exec() 函数有疑问。我从 php.ini 中删除了安全模式和 disabled_functions。
如果我从终端 (php print.php) 运行 php 脚本,它运行良好,但如果我从 Web 浏览器运行它,则没有任何反应。
这是脚本:
<?php
$output = shell_exec('lp print.php');
echo "<pre>$output</pre>";
?>
请帮助我。我在 Apache2 上运行 PHP 5.3.10。我的操作系统是 Ubuntu Server 12.4。这是phpinfo页面:http://testni-server.info/info.php
【问题讨论】:
-
命令行和Web服务器是两个完全不同的环境。 CLI 在您的用户 ID 下运行,使用您的 shell 环境。在 webserver 下,它作为 webserver 的用户 ID 运行,带有 webserver 的 shell 环境。这是一个毫无意义的比较——苹果和橘子。唯一的共同点是它们都是水果(例如都是 PHP)。
-
我一直在用同样类型的问题把头撞在桌子上。我终于发现 shell_exec(' stuff_here 2>&1') 会给我一个关于出了什么问题的错误。然后我能够从那里进行故障排除以解决问题。
-
您好,我遇到了同样的问题,我使用的是 OpenBSD 6.4。和 php-5.6。任何人知道它的解决方案请告诉我。谢谢
标签: php shell shell-exec