使用PHP运行命令行应用程序

时间:2014-08-30 10:18:12

标签: php command-line

如何在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()?

1 个答案:

答案 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";

?>