[英]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.