簡體   English   中英

Exec命令無法按預期運行

[英]Exec command doesn't work as expected

我正在嘗試從PHP腳本啟動CLI命令:

特別是我想使用此命令convert a.png a.tif將圖像轉換為tiff。

當我從CLI啟動此命令時,它可以按預期工作,但是如果我從使用以下代碼的PHP腳本啟動,則不會在我的文件夾中創建任何tiff圖像:

$exec = "convert a.png a.tif";
exec($exec,$yaks,$err);
echo "<pre>";
print_r($yaks);
echo "$err";
echo "</pre>";

此外, $yaks為空, $err設置為127。

我不是專家,為什么這不能按預期進行?

最好的祝福

UPDATE

我改用這個命令$exec = "convert 4.png 4.tif 2>&1"; 我得到了回報[0] => sh: convert: command not found

在我看來這很奇怪,因為我可以從CLI使用它!

最后更新

非常感謝你們!

$exec = "/usr/local/bin/convert a.png a.tif";

這個命令解決了問題! 你很棒。

您應該輸入fullpath進行“轉換”,並且可能是文件。

錯誤127-找不到文件

看起來“轉換”二進制文件不在PHP使用的PATH任何目錄中。 您可以嘗試使用完整路徑,例如/opt/local/bin/convert或任何路徑。

您還可以修改PHP使用的PATH(但我不知道如何)。

PHP腳本可能不知道在exec命令中要找到的位置。 當您從命令行運行此命令時,shell將在您當時所在的目錄中查找它們; 但是從PHP運行它時,它可能默認為PHP目錄,而不是文件所在的特定目錄。 因此,寫下完整的路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM