2010-02-17 54 views
1

我正在Apache內運行的php執行ffmpeg。我以前遇到錯誤「加載共享庫時出錯:libavdevice.so.52:無法打開共享目標文件:沒有這樣的文件或目錄」。從運行在Apache中的php執行ffmpeg

如果php腳本是從命令提示符執行的,或者是直接從命令提示符調用ffpmeg,它就可以很好地工作。

我遵循下面的步驟來固定的apache錯誤:

步驟1:檢查文件「libavdevice.so.52「中使用下面的命令服務器中存在。

查找/ -name「libavdevice.so *。」

第2步:您將獲得其中的文件「libavdevice.so.52「從上面的命令所在的目錄。假設這個例子中的目錄是「/ usr/local/lib /」。

步驟3:您必須在文件「/etc/ld.so.conf」中添加目錄名稱。

第4步:執行命令「ldconfig」。

上述過程對apache有什麼影響?

回答

1

如果您遇到命令提示符vs php問題,我可能會查看文件執行權限。 www-data(或者PHP運行的人)是什麼權限FFMPEG將由PHP執行時將承擔。

我過去並沒有遇到這個確切的問題,但它是我建議你嘗試尋找的地方之一,因爲它從CLI正確運行。

+0

謝謝你。順便說一句,這個問題已經解決了我提到的步驟,但我想知道它對apache有什麼影響。順便說一句,我檢查了文件權限,它是所有(777)。 – foobar 2010-02-17 16:06:21

0

我不太明白這個問題,它似乎回答了我自己。

你做了3個步驟,你在那裏做的唯一能夠影響到Apache的東西是編輯/etc/ld.so.conf。我不知道它是否確實如此(我不知道該文件是什麼),但如果在遠程情況下沒有,它肯定是一些後臺進程。無論如何,findldconfig不會影響apache。