天空小小岛技术论坛

 找回密码
 注册
搜索
查看: 12368|回复: 0
打印 上一主题 下一主题

[分享] php的exec()函数无返回值排查方法

[复制链接]
跳转到指定楼层
1#
s.Bo 发表于 2011-6-16 14:09:35 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
在安全imagemagic时 需要用到 exec很多服务器上安装失败
exec()执行外部命令失败,但没有任何错误信息。

exec执行某命令在命令行下没有问题,但是在php中就出错。这个问题99.99%与权限有关,但是exec执行的命令不会返回错误。一个技巧就是使用管道命令,假设你的exec调用如下:
  1. exec('convert a.jpg b.jpg', $output, $return_val);  
复制代码
可以更改如下:
  1. exec('convert a.jpg b.jpg 2>&1', $output, $return_val);  
  2. print_r($output);  
复制代码
使用 2>&1, 命令就会输出shell执行时的错误到$output变量, 输出该变量即可分析。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|天空小小岛  |京ICP备2025130156号|

GMT+8, 2025-6-21 23:09 , Processed in 0.082216 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表