![](/img/trans.png)
[英]imagemagick convert does not work through php exec() but works through command line
[英]imagemagick convert does not work through php
imagemagick convert不能通過php shell_exec運行,但可以通過shell運行。
在外殼中, convert file.pdf file.png
可以正常工作。 但是當我在PHP文件中將其作為shell_exec('convert file.pdf file.png');
然后我沒有輸出! 我擁有執行此操作的權限,所以我認為這不是問題所在。 我已經通過getcwd()檢查了我所在的目錄,這也是可以的。
我知道shell_exec可以工作是因為我在代碼的前面使用了它,並且效果很好。
有任何想法嗎?
多虧了Crontab,我從另一個線程得到了解決方案 。 我從那里引用:
[i]如果您嘗試使用ImageMagick將PDF轉換為PNG…即使腳本的PATH也未包含Ghostscript的路徑位置,即使使用ImageMagick
convert
的完整路徑也無法使用。 在不弄亂任何用戶路徑的情況下,您可以添加:putenv("PATH=/usr/local/bin:/usr/bin:/bin");
或類似的設置取決於您的設置。
gs
可執行文件必須位於腳本用戶路徑中的某個位置,否則ImageMagick將無法轉換PDF或EPS文件。
嘗試完整路徑進行convert
,即shell_exec('/usr/bin/convert file.pdf file.png);
。 您可以使用which convert
來查找系統上的位置。
發生這種情況的原因有多種,但我建議閱讀此頁面和用戶評論:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.