在PHP中打开Linux终端命令
我有一台在Linux上运行的服务器,它可以执行12个节点的命令(其中12个运行Linux的计算机).我最近在服务器上下载了PHP,以创建可以通过打开特定的PHP文件来执行命令的网页. 我使用了exec(),passthru(),shell_exec()和system(). system()是唯一一个返回我的代码的一部分.我希望PHP在linux中像开放的termainal命令一样,我无法弄清楚如何做到这一点! 这是一个现在正在发生的事情的例子(Linux直接与PHP):
我得到一个输出:
现在使用PHP:
输出:
然后停下来!任何人都有解释发生了什么?以及如何解决它?只有系统显示部分代码,其他功能不显示任何内容! 最佳答案
我的第一个想法是它可能是关于std和输出错误的东西.有些软件会在std out上转储一些信息,有些则在std错误中转储.当您没有将std错误重定向到std out时,大多数系统调用只返回stdout部分.听起来这就是为什么你在终端看到整个输出而不能在系统调用中.
所以试试吧
编辑:
EDIT2
和这个PHP脚本,尝试通过exec运行:
看到它仍然倾倒了标准输出.但它没有收到stderr.
看,这次我们得到了整个产出. 这次系统:
等等 … (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |