2017-04-07 79 views
0

我已經在mac上和Linux上運行centos 7上安裝了pngquant 7.在兩臺機器上,我都可以在命令行中使用它,但是如果在php中運行相同的命令時不起作用。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) 

回答

0

使用sudo它會工作。爲我工作。