如何解决php中system()不返回输出的问题
发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,这篇文章主要介绍如何解决php中system()不返回输出的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php中system()不返回输出
千家信息网最后更新 2024年11月28日如何解决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安全错误
数据库的锁怎样保障安全
sdl 软件开发流程图
虚拟空间数据库连接不成功
store连接服务器出现问题
2021网络安全动画
创业小程序服务器
医院患者数据库管理系统安全
武汉量化软件开发
最新办公软件开发
互联网加科技创新
国家支持参加网络安全信息
网络安全技术论文致谢自己
ensp将内网服务器映射到公网
如何查询表单中的数据库
电脑自动被改代理服务器端口
ip访问服务器
绿色军团网络安全技术成员
数据库dd图
吉林省网络安全宣传工作
海康威视的服务器可以重启吗
APP软件开发有几种语言
服务器连接异常
有关网络安全的儿歌
网络安全宣传法治日
数据库中的宏查询
日存储1g数据到数据库
服务器网站源码下载
广牛数字科技互联网有限公司
计算机网络技术选题报告
ssh与数据库连接
广州科学城软件开发