如何在Linux / Mac系统上成功运行PHP的命令行应用程序。
我正在使用mac并尝试运行optipng。我从这里下载了optipng
http://sourceforge.net/projects/optipng/files/OptiPNG/optipng-0.7.5/optipng-0.7.5.tar.gz/download?use_mirror=softlayer-sng&download=
下载之后,我通过命令行将其安装到CD下载到下载文件夹,并相应安装:
cd path/to/optipng
sudo ./configure
sudo make install
我现在可以运行它并像这样压缩图像:
optipng path/to/example/file.png
一切正常,所以它已安装并在我的系统上运行。
我想通过php页面运行它,所以我试试这个:
<?php
echo "origional size =". filesize(path/to/example/file.png)."\n";
$compress = shell_exec('optipng path/to/example/file.png');
echo "<pre>$compress</pre>";
echo "new size =". filesize(path/to/example/file.png)."\n";
?>
但它什么都没做。我在这里错过了什么?如何成功使用shell_exec()或exec()?
答案 0 :(得分:1)
<?php
exec('/dev/null > /tmp/optipng.log');
echo "origional size =". filesize('/tmp/steve-jobs.png')."\n";
shell_exec('/usr/local/bin/optipng -log /tmp/optipng.log /tmp/steve-jobs.png');
$compress = file_get_contents('/tmp/optipng.log');
echo "<pre>$compress</pre>";
echo "new size =". filesize('/tmp/steve-jobs.png')."\n";
?>