簡體   English   中英

php exec() 錯誤...有人知道這是什么意思嗎?

[英]php exec() error…Anyone know what this means?

I have just installed ffmpeg on ubuntu using this guide http://ubuntuforums.org/showthread.php?t=786095 , when I execute the ffmpeg command shown below, it works fine in terminal and it works when I execute the php file I我正在使用“php”命令通過終端使用。

但是,當我嘗試使用瀏覽器執行該文件時,我的 apache 錯誤日志中出現以下錯誤。 如果有人能給我指導,我將不勝感激。

錯誤

/usr/local/bin/ffmpeg:/opt/lampp/lib/libgcc_s.so.1:找不到版本“GCC_4.2.0”(/usr/lib/i386-linux-gnu/libstdc++.so.6 需要)

PHP代碼

定義('FFMPEG_LIBRARY', '/usr/local/bin/ffmpeg');

$command = shell_exec('/usr/local/bin/ffmpeg -i /home/geoff/Desktop/cave.wmv -acodec libfaac -aq 100 -vcodec libx264 -preset slow -crf 22 -threads 0 /home/geoff/Desktop /newvideo.flv');

這對我有用。

http://blog.codyjung.com/2011/05/29/problems-with-lampp-and-exec/

我進入 /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2

並將 libgcc_s.so 復制到

/opt/lampp/lib 並將其重命名為 libgcc_s.so.1 以覆蓋之前的文件

看起來你有一些依賴版本問題。 我猜你是從其他服務器上復制的庫,這些服務器使用的核心系統文件版本與這個不同。

您最好的選擇是在您使用它的機器上從源代碼構建。 這將確保您的庫不會鏈接到系統上不存在的東西。

編輯
實際上,對 /opt/lampp 的引用讓我認為您沒有使用通常在 Ubuntu 服務器上安裝的標准網絡服務器,而是使用 Lampp。 這可能是您沖突的根源——如果lampp 的東西與“正常”系統庫的鏈接方式不同,那么您可能無法將它們一起使用。

web 服務器運行的用戶與終端用戶的環境不同。 您需要將 /opt/lampp/lib 添加到 web 服務器用戶環境。 在 /etc/ld.so.conf 中查找 /opt/lampp/lib 和 /etc/ld.so.conf.d 中的文件。 如果它不存在,請在 /etc/ld.so.conf.d 中創建一個新文件,其中包含僅包含該路徑的行。 您將需要重新啟動 web 服務器。

看這個帖子: http://fedoraforum.org/forum/showpost.php?p=1375187&postcount=2

我覺得您的問題可以解決,嘗試從 APT-GET 而不是 LAMPP 安裝 PHP,看看它是否解決了您的問題。

您可以通過以下方式獲得 PHP,APACHE 和 MySQL:

sudo apt-get install apache2, libapache2-mod-php5, php5, mysql-client, mysql-common, mysql-server
- http://rakeshsankar.wordpress.com/2010/09/10/install-setup-debian-server/

暫無
暫無

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

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