J'ai installé pngquant sur un mac et sur un linux en cours d'exécution centos 7. Sur les deux machines, je peux l'utiliser avec la ligne de commande, mais si ne fonctionnera pas lorsque la même commande est exécutée en php .pngquant ne fonctionne pas avec php
commandes Linux J'ai essayé:
yum install pngquant
dit qu'il pngquant installé avec succès
which pngquant
retours /usr/bin/pngquant
mon code fichier php ptst.php:
<?php
echo "start";
echo $get_compress = exec("find . -name '*.png' -exec /usr/bin/pngquant -ext .png -force 256 {} \;");
echo "end";
?>
J'ai seulement 1 fichier png dans le dossier actuel: image_5.png
. Il a des autorisations: -rwxrwxrw-
, et est dans le même dossier que ptst.php
en utilisant ls -la
Je peux voir que la taille du fichier n'a pas changé. L'outout échoué est juste startend
.
Si j'exécute le même code dans Terminal, la taille du fichier passe au 1/3 de sa taille précédente.
Qu'est-ce que je fais mal? Il y a clairement certains problèmes que je ne connais pas.
EDIT: nouvelle commande:
echo $get_compress = exec("find . -name '*.png' -exec /usr/bin/pngquant --ext .png --force 256 {} \; 2>&1", $output);
print_r($output);
sortie est un peu plus illustratif;
'./image_5.png.tmp' for writingArray ([0] => error: cannot open './image_5.png.tmp' for writing)