1.php-fpm无法执行exec中的命令问题(附解决方案)
php-fpm无法执行exec中的命令问题(附解决方案)
因为有些浏览器不支持webp格式,需要将webp格式的转换为png。为此需要安装dwebp转换工具。爱淘铺源码最开始采用源码编译安装,源码下载地址点击此处。什么jar属于源码可能需要先安装一些依赖库:yuminstalllibjpeg-devlibpng-devlibtiff-devlibgif-devtarzxvflibwebp-1.2.0.tar.gzcdlibwebp-1.2.0./configuremakemakeinstall在命令行下可以正确执行
dwebpxxx.webp-oxxx.png在phpcli命令行模式下也可以正确执行:
<?在线充值 源码 phpphp$shell="dwebpxxx.webp-oxxx.png";$output=array();$return='';exec($shell,$output,$return);返回的$return为0,表示没有错误,命令正常执行。
但是在php-fpm模式下,始终无法得到转换的png,而且$return为,表示无法找到命令。改成绝对路径也同样返回
$shell="/usr/bin/dwebpxxx.webp-oxxx.png";而且php.ini中的腾讯短网址源码safe_modes=off,disable_functions中也没有exec调用。查阅资料提示可能需要yum安装dwebp,但是asp收款源码我的系统版本centos6.5,国外yum源很多无法访问,最后将CentOS-Base.repo改为如下:
[base]name=CentOS-6failovermethod=prioritybaseurl=https://vault.centos.org/6.5/os/x_/gpgcheck=0yuminstalllibwebp-develyuminstalllibwebp-tools然后php-fpm中可以正常执行exec("dwebp..."),将webp转为png格式。