浅谈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 相关文章推荐
PHP 中的面向对象编程:通向大型 PHP 工程的办法
Dec 03 PHP
PHP如何解决网站大流量与高并发的问题
Jun 25 PHP
如何使用FireFox插件FirePHP调试PHP
Jul 23 PHP
ThinkPHP让分页保持搜索状态的方法
Jul 02 PHP
php与Mysql的一些简单的操作
Feb 26 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
Mar 25 PHP
PHP实现HTML页面静态化的方法
Nov 04 PHP
Yii2中如何使用modal弹窗(基本使用)
May 30 PHP
2017年最新PHP经典面试题目汇总(上篇)
Mar 17 PHP
Yii2语言国际化的配置教程
Aug 19 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
Dec 05 PHP
Laravel Validator自定义错误返回提示消息并在前端展示
May 09 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验证复选框有效性的示例
2013/11/13 PHP
PHP正则提取不包含指定网址的图片地址的例子
2014/04/21 PHP
将二维数组转为一维数组的2种方法
2014/05/26 PHP
PHP遍历文件夹与文件类及处理类用法实例
2014/09/23 PHP
php设计模式之委托模式
2016/02/13 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
2020/04/05 PHP
jQuery 1.0.4 - New Wave Javascript(js源文件)
2007/01/15 Javascript
javascript 面向对象思想 附源码
2009/07/07 Javascript
Javascript在IE下设置innerHTML时出现未知的运行时错误的解决方法
2011/01/12 Javascript
javascript之typeof、instanceof操作符使用探讨
2013/05/19 Javascript
使用简洁的jQuery方法实现隔行换色功能
2014/01/02 Javascript
node.js中的events.emitter.removeListener方法使用说明
2014/12/10 Javascript
jquery+ajax验证不通过也提交表单问题处理
2014/12/12 Javascript
jQuery中animate()方法用法实例
2014/12/24 Javascript
轻松实现jquery手风琴效果
2016/01/14 Javascript
实例解析jQuery中proxy()函数的用法
2016/05/24 Javascript
基于jQuery实现弹出可关闭遮罩提示框实例代码
2016/07/18 Javascript
利用Jasmine对Angular进行单元测试的方法详解
2017/06/12 Javascript
js中如何完美的解析数据
2018/03/18 Javascript
Postman无法正常返回结果问题解决
2020/08/28 Javascript
python二进制文件的转译详解
2019/07/03 Python
tensor和numpy的互相转换的实现示例
2019/08/02 Python
logging level级别介绍
2020/02/21 Python
python实现批量修改文件名
2020/03/23 Python
突袭HTML5之Javascript API扩展3—本地存储全新体验
2013/01/31 HTML / CSS
使用jquery实现HTML5响应式导航菜单教程
2014/04/02 HTML / CSS
马来西亚演唱会订票网站:StubHub马来西亚
2018/10/18 全球购物
俄罗斯建筑和装饰材料在线商店:Stroilandia
2020/07/25 全球购物
建筑工程自我鉴定
2013/10/18 职场文书
营业员演讲稿
2013/12/30 职场文书
初中数学教学反思
2014/01/16 职场文书
涨价通知
2015/04/23 职场文书
邹越演讲观后感
2015/06/15 职场文书
培训班开班主持词
2015/07/02 职场文书
python中__slots__节约内存的具体做法
2021/07/04 Python
修改Nginx配置返回指定content-type的方法
2022/09/23 Servers