1.php-fpm无法执行exec中的码下命令问题(附解决方案)
php-fpm无法执行exec中的命令问题(附解决方案)
因为有些浏览器不支持webp格式,需要将webp格式的码下转换为png。为此需要安装dwebp转换工具。码下sosse源码最开始采用源码编译安装,码下源码下载地址点击此处。码下源码UI优YYUIU可能需要先安装一些依赖库:yuminstalllibjpeg-devlibpng-devlibtiff-devlibgif-devtarzxvflibwebp-1.2.0.tar.gzcdlibwebp-1.2.0./configuremakemakeinstall在命令行下可以正确执行
dwebpxxx.webp-oxxx.png在phpcli命令行模式下也可以正确执行:
<?码下币严 合约源码php$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,码下但是码下源码时代测试助教我的系统版本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格式。