怎么解决php exec报错问题
发表于:2024-10-27 作者:千家信息网编辑
千家信息网最后更新 2024年10月27日,今天给大家介绍一下怎么解决php exec报错问题。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。php exec报错的
千家信息网最后更新 2024年10月27日怎么解决php exec报错问题
今天给大家介绍一下怎么解决php exec报错问题。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。
php exec报错的解决办法:1、修改ping或者对应命令的执行权限;2、将命令全路径补全"exec('/usr/sbin',$output);";3、在环境变量中增加目标目录。
本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑
如何解决php exec报错问题?
0.说明
在php中,我们可以使用exec()
来执行系统命令,但有时我们会遇到exec()
命令执行不成功,或者无返回的情况,下面来说明一下:
1.函数
exec ( string $command [, array &$output [, int &$return_var ]] ) : string 参数说明: 1.$command 要执行的命令 2.$output 执行结果 3.$return_var 若同时设置 $output 和此变量,命令执行后的返回状态会被写入到此变量
2.例子
exec("ping www.baidu.com", $output);
正常来说执行结果会跟在服务器上直接执行ping
没区别,但是由于某些原因会导致意外情况,下边针对两种情况作出说明,以及解决办法
2.1 权限问题
问题
当我们在服务器上直接执行linux系统命令时(此处以ping为例),执行权限取决于我们登陆用户的权限,如果我们登陆用户为root
,则执行ping
的时候是用root来执行。但当我们在网站上访问的时候,我们此时的用户为www
,如果不修改ping的执行权限的话,是无法执行成功的。
解决
修改ping或者对应命令的执行权限
2.2 命令路径问题
问题
还有一种情况,当我们用exec执行某个命令时,不报错,也不返回结果,原因是此命令没有在环境变量配置的目录下即/etc/profile
文件中,以ifconfig
为例,我们可以用whereis ifconfig
,找出此命令具体路径,比如路径在/usr/sbin
下,两种解决办法:
解决
1 复制命令到/usr/bin
下,也就是环境变量下的目录(不太推荐)
2 直接将命令全路径补全exec('/usr/sbin',$output);
(推荐)
3 在环境变量中增加目标目录例如增加/usr/sbin
到目录
以上就是怎么解决php exec报错问题的全部内容了,更多与怎么解决php exec报错问题相关的内容可以搜索之前的文章或者浏览下面的文章进行学习哈!相信小编会给大家增添更多知识,希望大家能够支持一下!
命令
问题
变量
权限
环境
目录
路径
情况
系统
内容
办法
文章
用户
结果
成功
函数
原因
时候
更多
服务器
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
项目对软件开发的影响
深圳指游网络技术有限公司
决定云数据库性能的关键因素
达梦数据库查询某个模式下的表名
外网连内网服务器
windos数据库
PS软件开发费用
oracle数据库认证
ecsp教育系统网络安全
软件开发csc是什么意思
宁波奇讯网络技术有限公司
国家关于网络安全法律
软件开发记什么科目
山东同道网络技术有限公司
日本软件开发报价单模板
数据库 cdur
育碧的服务器为什么
阿里云服务器数据如何备份本地
xml可以充当数据库吗
河南服务器虚拟化部署云空间
无线网络技术与无线通讯技术
学习通信息系统与数据库
页面获取到的数据库
上海基巨网络技术有限公司
秦皇岛海蒂软件开发
北仑手机软件开发工具
宝利通软件开发语言
人力资源需要会数据库吗
梦幻西游2新手服务器
从事软件开发的工作内容