2013-07-11 371 views
2

命令PNG的優化插件使用OptiPNG:爲什麼PHP了shell_exec不工作

本教程使用命令

Synopsis: optipng [options] files ... 
Files: Image files of type: PNG, BMP, GIF, PNM or TIFF 
Basic options: 
    -?, -h, -help show the extended help 
    -o optimization level (0-7) [default: 2] 
    -v  run in verbose mode/show copyright and version info 
Examples: 
    optipng file.png 
(default speed) 
    optipng -o5 file.png 
(slow) 
    optipng -o7 file.png 
(very slow) 
Type "optipng -h" for extended help. 

然後我運行下面的PHP代碼

$txt = shell_exec("C:\DSPadmin\DEV\optipng\optipng C:\Source\ChangSha\temp_process\production\zoomTxt\A06_text.png"); 
var_dump ($txt); 

返回NULL並沒有執行

但是,當我在cmd shell中運行相同的命令我打開ned

C:\DSPadmin\DEV\optipng\optipng C:\Source\ChangSha\temp_process\production\zoomTxt\A06_text.png 

它按預期工作,如何解決問題?謝謝

+1

是否打開了安全模式?運行Web服務的用戶是否具有運行命令和/或寫入輸出目錄的權限? – Orangepill

+0

如果此功能在默認情況下未被禁用,您是否檢查過您的'php.ini'?在'php.ini'中尋找'disable_functions' –

+0

disable_functions = – user782104

回答

0

單引號您的命令。

您的字符串中「... hangSha \ temp_proces ...」中的「\ t」被製表符替換。