浅谈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 相关文章推荐
CI框架在CLI下执行占用内存过大问题的解决方法
Jun 17 PHP
php中simplexml_load_file函数用法实例
Nov 12 PHP
php+ajax实现的点击浏览量加1
Apr 16 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
Jun 10 PHP
php实现的单一入口应用程序实例分析
Sep 23 PHP
如何写php守护进程(Daemon)
Dec 30 PHP
php通过smtp邮件验证登陆的方法
May 11 PHP
Centos 6.5系统下编译安装PHP 7.0.13的方法
Dec 19 PHP
PHP实现接收二进制流转换成图片的方法
Jan 10 PHP
Yii CDBCriteria常用方法实例小结
Jan 19 PHP
laravel 修改.htaccess文件 重定向public的解决方法
Oct 12 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
Feb 22 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中使用循环实现的金字塔图形
2014/11/08 PHP
PHP 500报错的快速解决方法
2016/12/14 PHP
PHP实现腾讯与百度坐标转换
2017/08/05 PHP
使用laravel指定日志文件记录任意日志
2019/10/17 PHP
PHP字符串与数组处理函数用法小结
2020/01/07 PHP
给Function做的OOP扩展
2009/05/07 Javascript
JavaScript DOM 学习第九章 选取范围的介绍
2010/02/19 Javascript
jquery选择器之内容过滤选择器详解
2014/01/27 Javascript
一个极为简单的requirejs实现方法
2016/10/20 Javascript
vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据
2017/04/22 Javascript
基于vue实现swipe轮播组件实例代码
2017/05/24 Javascript
微信小程序分页加载的实例代码
2017/07/11 Javascript
详解使用angularjs的ng-options时如何设置默认值(初始值)
2017/07/18 Javascript
jQuery UI 实例讲解 - 日期选择器(Datepicker)
2017/09/18 jQuery
如何用webpack4带你实现一个vue的打包的项目
2018/06/20 Javascript
用npm安装vue和vue-cli,并使用webpack创建项目的方法
2018/09/28 Javascript
浅谈在不使用ssr的情况下解决Vue单页面SEO问题(2)
2018/11/08 Javascript
JavaScript显式数据类型转换详解
2019/03/18 Javascript
微信小程序wx.request拦截器使用详解
2019/07/09 Javascript
vue点击标签切换选中及互相排斥操作
2020/07/17 Javascript
[54:43]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第一场 2月22日
2021/03/11 DOTA
Python、Javascript中的闭包比较
2015/02/04 Python
详解Python中的文本处理
2015/04/11 Python
详解Python编程中time模块的使用
2015/11/20 Python
python基础教程之匿名函数lambda
2017/01/17 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
2019/02/20 Python
django实现更改数据库某个字段以及字段段内数据
2020/03/31 Python
解决Keras 自定义层时遇到版本的问题
2020/06/16 Python
Django Model层F,Q对象和聚合函数原理解析
2020/11/12 Python
HTML5实现视频直播功能思路详解
2017/11/16 HTML / CSS
万得城电器土耳其网站:欧洲第一大电子产品零售商
2016/10/07 全球购物
选购世界上最好的美妆品:Cult Beauty
2017/11/03 全球购物
娇韵诗香港官网:Clarins香港
2020/08/13 全球购物
租房协议书
2014/04/10 职场文书
培训通知书模板
2015/04/17 职场文书
实操Python爬取觅知网素材图片示例
2021/11/27 Python