2011-11-11 140 views
0

我在Windows 7上使用xampp來開發我的程序,但我遇到了問題。php exec()不正確的命令使用

我嘗試通過exec()函數啓動ImageMagick。

這是我的代碼sniped。

<?php 
    $command = 'convert '.$tempOverlay.' '.$tempBg.' -compose Overlay -composite '.$tempImage; 
    exec($command); 
    die($command); 
?> 

如果我進入充滿$命令(轉換溫度/ 100000231446889-overlay.jpg溫度/ 100000231446889-bg.jpg -compose疊加 - 複合溫度/ 100000231446889.jpg)在我cmd在正確的文件夾它的作品完美,但與它執行的PHP我沒有得到ImageMagick的輸出。

我檢查了它是否通過'Echo%CD%'在正確的文件夾中執行,但它的權限文件夾。

+0

爲什麼不使用php-imagick? http://php.net/manual/en/book.imagick.php – danielrsmith

+0

我無法找到「-compse Overlay」命令的功能 –

+0

你得到了什麼$輸出?:exec($ command,$輸出);的print_r($輸出); –

回答

1

一個不錯的鏡頭會避免相對路徑。使用完整路徑進行測試。 它真的看起來像一個路徑問題...

或增加執行命令與CD +迪爾與PHP捕獲。

3

這可能會發生,當您安裝dll版本的imagemagick。您需要安裝靜態版本。爲什麼發生這種情況,imagemagick無法通過php調用時加載自己的dll,並且imagemagick的錯誤輸出不會輸出到stdout。它發展到stderr。所以你不能從PHP中看到。

+0

謝謝你,你救了我的命。 –