如何解决php中system()不返回输出的问题
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章主要介绍如何解决php中system()不返回输出的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php中system()不返回输出
千家信息网最后更新 2025年01月19日如何解决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安全错误
数据库的锁怎样保障安全
vs修改sql数据库密码代码
网络安全高级技术人员考试题库
国开大数据库应用技术小结练习
代练删Q上号说网络安全问题
腾讯软件开发平台
资产信息数据库建立
软件开发实习生要会哪些
文件关系数据库管理系统
vfp数据库删除后怎么恢复
电脑怎样进pe版我的世界服务器
数据库考勤管理系统
数据网络安全与信息化的发展
网络安全评估岗工资
SAP软件开发工程师招聘
讲述网络安全的作文
网络安全的四种能力
网络安全及舆论掌控
我是市长城市模拟怎么选择服务器
网络安全法以什么为原则
去日本软件开发薪资
南平市民网络安全
csgo登录服务器失败
网络安全审计硬件多少钱
苏州软件开发维修电话
面试软件开发人员提问问题
2016数据库系统工程师
服务器带宽bgp哪里办理
存储服务器软件开发
通讯软件访问服务器需要哪些端口
海淀区未来计算机软件开发要求