2013-07-11 4 views
2

Команда для детские оптимизации плагин 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, ned

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

Работает должным образом, как исправить проблему? Спасибо

+1

безопасный режим включен? Имеет ли пользователь, выполняющий веб-службу, разрешение на запуск команды и/или запись в выходной каталог? – Orangepill

+0

У вас была проверка на ваш 'php.ini', если эта функция не отключена по умолчанию? посмотрите 'disable_functions' в' php.ini' –

+0

disable_functions = – user782104

ответ

0

Одиночная котировка вашей команды.

«\ t» в «... hangSha \ temp_proces ...» в вашей строке заменяется символом табуляции.