pngquant не работает с php

Я установил pngquant на mac и на linux под управлением centos 7. На обеих машинах я могу использовать его с командной строкой, но если он не будет работать, когда в 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 )

1 ответ

Использование sudo и это сработает. Работал на меня.

Другие вопросы по тегам