浅谈PHP的exec()函数无返回值排查方法(必看)


Posted in PHP onMarch 31, 2017

在安全imagemagic时 需要用到 exec很多服务器上安装失败

exec()执行外部命令失败,但没有任何错误信息。

exec执行某命令在命令行下没有问题,但是在php中就出错。这个问题99.99%与权限有关,但是exec执行的命令不会返回错误。一个技巧就是使用管道命令,假设你的exec调用如下:

exec('convert a.jpg b.jpg', $output, $return_val);

可以更改如下:

exec('convert a.jpg b.jpg 2>&1', $output, $return_val); 


print_r($output);

使用 2>&1,命令就会输出shell执行时的错误到$output变量, 输出该变量即可分析。

备注: exec有3个参数,第一个是要执行的命令,第二个是参数是一个数组,数组的值是由第一个命令执行后生成的,第三个参数执行的状态,0表示成功,其他都表示失败。

在php里面一共有三个函数可以用来执行外部命令system,exec,passthru。

以上这篇浅谈PHP的exec()函数无返回值排查方法(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
我的论坛源代码(十)
Oct 09 PHP
php面向对象的方法重载两种版本比较
Sep 08 PHP
PHP删除数组中的特定元素的代码
Jun 28 PHP
PHP加密函数 Javascript/Js 解密函数
Sep 23 PHP
php获取远程图片体积大小的实例
Nov 12 PHP
php处理restful请求的路由类分享
Feb 27 PHP
PHP代码优化的53个细节
Mar 03 PHP
thinkphp连贯操作实例分析
Nov 22 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
Nov 15 PHP
ThinkPHP 3使用OSS的方法
Jul 19 PHP
如何在centos8自定义目录安装php7.3
Nov 28 PHP
PHP Pipeline 实现中间件的示例代码
Apr 26 PHP
关于PHP通用返回值设置方法
Mar 31 #PHP
PHP针对中英文混合字符串长度判断及截取方法示例
Mar 31 #PHP
微信小程序 消息推送php服务器验证实例详解
Mar 30 #PHP
Yii2使用$this->context获取当前的Module、Controller(控制器)、Action等
Mar 29 #PHP
PHP的反射机制实例详解
Mar 29 #PHP
php面向对象之反射功能与用法分析
Mar 29 #PHP
PHP命名空间namespace的定义方法详解
Mar 29 #PHP
You might like
php中大括号作用介绍
2012/03/22 PHP
Sublime里直接运行PHP配置方法
2014/11/28 PHP
关于php中的json_encode()和json_decode()函数的一些说明
2016/11/20 PHP
PHP中类的自动加载的方法
2017/03/17 PHP
boxy基于jquery的弹出层对话框插件扩展应用 弹出层选择器
2010/11/21 Javascript
jQuery 下拉列表 二级联动插件分享
2012/03/29 Javascript
js克隆对象、数组的常用方法介绍
2013/09/26 Javascript
一个css与js结合的下拉菜单支持主流浏览器
2014/10/08 Javascript
js获取UserControl内容为拼html时提供方便
2014/11/02 Javascript
Javascript无参数和有参数类继承问题解决方法
2015/03/02 Javascript
js实现YouKu的漂亮搜索框效果
2015/08/19 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
2016/06/17 Javascript
springMVC结合AjaxForm上传文件
2016/07/12 Javascript
Jquery遍历select option和添加移除option的实现方法
2016/08/26 Javascript
详解ES6系列之私有变量的实现
2018/11/21 Javascript
基于webpack4+vue-cli3项目实现换肤功能
2019/07/17 Javascript
p5.js临摹动态图形的方法
2019/10/23 Javascript
浅谈vue权限管理实现及流程
2020/04/23 Javascript
解决vue watch数据的方法被调用了两次的问题
2020/11/07 Javascript
[07:26]2015国际邀请赛第二日TOP10集锦
2015/08/06 DOTA
跟老齐学Python之有容乃大的list(1)
2014/09/14 Python
Python开发最牛逼的IDE——pycharm
2018/08/01 Python
Python骚操作之动态定义函数
2019/03/26 Python
Python函数的参数常见分类与用法实例详解
2019/03/30 Python
python except异常处理之后不退出,解决异常继续执行的实现
2020/04/25 Python
Python 如何反方向迭代一个序列
2020/07/28 Python
H5仿微信界面教程(一)
2017/07/05 HTML / CSS
HTML5是什么 HTML5是什么意思 HTML5简介
2012/10/26 HTML / CSS
印度服装购物网站:Limeroad
2018/09/26 全球购物
世界上最好的旅行夹克:BauBax
2018/12/23 全球购物
简历自我评价怎么写呢?
2014/01/06 职场文书
九月份红领巾广播稿
2014/01/22 职场文书
青年志愿者活动总结
2014/04/26 职场文书
绿色环保标语
2014/06/12 职场文书
2015年医药代表工作总结
2015/04/25 职场文书
Vue如何实现组件间通信
2021/05/15 Vue.js