如何解决php中system()不返回输出的问题
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍如何解决php中system()不返回输出的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php中system()不返回输出
千家信息网最后更新 2026年11月02日如何解决php中system()不返回输出的问题
这篇文章主要介绍如何解决php中system()不返回输出的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
php中system()不返回输出的解决方法:在命令中通过附加【2 >& 1】来将标准错误重定向到标准输出即可,例如【exec('some_command --option 2>& 1',$ output,$ ret);】。
本文操作环境:windows10系统、php 7、thinkpad t480电脑。
最近在工作时意外发现执行像'ls'这样的常用命令,exec()能够工作正常,例如:
exec('ls',$输出,$ retval); var_dump($ output,$ retval); // $ output包含文件名数组,retval === 0
但是当我尝试执行另一个程序时,我却无法得到输出,如下:
exec('some_command --a_parameter',$ output ,$ retval); var_dump($ output,$ retval); // $ output包含一个空数组,结束$ retval === 0
从命令行直接执行命令时会打印一些行,我知道命令执行成功了,我可以看到结果(一些文件更新,数据添加等),但是我却看不到输出。
exec()函数将只捕获标准输出。我并不能确定标准错误总是发送到apache错误日志,但似乎是可以的。
如果你不需要使用unix系统,其实我们可以通过在命令中附加 2>& 1 来将标准错误重定向到标准输出,这样问题就可以得到解决了,例如:
exec('some_command --option 2>& 1',$ output,$ ret);
以上是"如何解决php中system()不返回输出的问题"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
输出
命令
标准
错误
问题
内容
数组
文件
篇文章
系统
工作
附加
意外
成功
价值
兴趣
函数
可以通过
小伙
小伙伴
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技产业
厦门中拓互联网络科技有限公司
盈实互联网科技
美国互联网科技巨头监管
与互联网科技公司
互联网科技的英文
互联网金融科技创新
壹账通互联网科技
美国互联网黑科技
互联网金融科技委员会
互联网科技公司做什么
科技互联网的估值
成都互联网科技公司100强
彤创互联网科技有限公司
速维有品互联网信息科技(苏州)有限公司
青海科技产业互联网发展
小米互联网科技园入驻
广州互联网高科技取餐柜
保山浩联互联网科技有限公司
小牛互联网科技有限公司地址
互联网科技工作委员会
互联网 卓越科技
互联网科技小额贷款
成都狮子座互联网科技
顶级互联网科技成果有哪些
天津腾达互联网科技有限公司
南博望互联网科技有限公司
中科明德北京互联网科技
南通创西澳互联网科技有限公司
21世纪互联网科技成就