像许多其他人一样,我在PHP中使用shell_exec()函数时遇到问题。我禁用了安全模式,并从php.ini中删除了disabled_functions。shell_exec()和exec()不能在PHP中工作
如果我从终端(php print.php)运行php脚本,它工作的很完美,但是如果我从网页浏览器运行它,什么都不会发生。
这里是素文字:
<?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在您的用户名下运行,具有您的shell环境。在网络服务器下,它以网络服务器的用户ID和网络服务器的shell环境运行。这是一个毫无意义的比较 - 苹果和橘子。唯一的共同点是它们都是水果(例如都是PHP)。 –
我一直在用这种类型的问题在桌子上撞我的头。我终于发现shell_exec('stuff_here 2>&1')会给出错误信息。然后,我可以从那里解决问题。 –