php - pngquant 不适用于 php

标签 php linux pngquant

我已经在 mac 和运行 centos 7 的 linux 上安装了 pngquant。在两台机器上我都可以通过命令行使用它,但是如果在 php 中运行相同的命令时将不起作用。

我尝试过的 Linux 命令:

yum install pngquant

表示已成功安装 pngquant

which pngquant

返回 /usr/bin/pngquant

我的 php 文件代码 ptst.php:

<?php
echo "start";
 echo $get_compress = exec("find . -name '*.png' -exec /usr/bin/pngquant -ext .png -force 256 {} \;");
echo "end";
?>

当前文件夹中只有 1 个 png 文件:image_5.png。它具有权限:-rwxrwxrw-,并且与 ptst.php

在同一文件夹中

使用 ls -la 我可以看到文件大小没有改变。回显输出只是 startend

如果我在终端中运行相同的代码,文件大小将变为之前大小的 1/3。

我做错了什么?显然有一些我不知道的问题。

编辑: 新命令:

echo $get_compress = exec("find . -name '*.png' -exec /usr/bin/pngquant --ext .png --force 256 {} \; 2>&1", $output);
print_r($output);

输出更具说明性;

'./image_5.png.tmp' for writingArray ( [0] => error: cannot open './image_5.png.tmp' for writing )

最佳答案

使用 sudo 就可以了。为我工作。

关于php - pngquant 不适用于 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43274792/

相关文章:

php - 为什么 php 试图使用 4GB 来 bind_results

c++ - 尝试使用外部库编译时出错

linux - linux 套接字轮询是否处理离散消息?

linux - Anydesk无法解锁安全设置以进行无人值守访问吗?

Gulp Imagemin 未完成

php - 计数数据取决于句子id和数据频率

php - 如果我有循环引用,我可以触发 PHP 垃圾收集自动发生吗?

php - 机器人发送垃圾邮件的 CodeIgniter session

python - 使用 PIL 时 pngquant 输出的文件大小增加