php exec()错误......任何人都知道这意味着什么?

时间:2011-06-06 17:13:34

标签: php linux apache ubuntu

我刚刚使用本指南http://ubuntuforums.org/showthread.php?t=786095在ubuntu上安装了ffmpeg,当我执行下面显示的ffmpeg命令时,在终端中正常工作,当我执行php文件时它可以工作我使用'php'命令使用通过终端

但是,当我尝试使用浏览器执行文件时,我的apache错误日志中出现以下错误。如果有人能给我指导,我会非常感激。

错误

  

的/ usr / local / bin中/ ffmpeg的:   /opt/lampp/lib/libgcc_s.so.1:version   找不到'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');

4 个答案:

答案 0 :(得分:6)

这对我有用。

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以覆盖上一个文件

答案 1 :(得分:3)

看起来你有一些依赖版本问题。我猜你从其他使用不同版本的核心系统文件的服务器复制了这些库。

您最好的选择是在您使用它的机器上构建源代码。这将确保您的库不会链接到系统中不存在的内容。

修改
实际上,对/ opt / lampp的引用让我觉得你没有使用通常在Ubuntu服务器上安装的标准网络服务器安装,而是使用lampp。这可能是你的冲突的根源 - 如果灯泡的东西与“普通”系统库的链接不同,那么你可能无法一起使用它们。

答案 2 :(得分:0)

您的Web服务器运行的用户与终端用户的环境不同。您需要将/ opt / lampp / lib添加到Web服务器用户的环境中。在/etc/ld.so.conf中查找/ opt / lampp / lib以及/etc/ld.so.conf.d中的文件。如果不存在,请在/etc/ld.so.conf.d中创建一个新文件,其中包含仅包含该路径的行。您需要重新启动Web服务器。

答案 3 :(得分:0)

看看这篇文章:http://fedoraforum.org/forum/showpost.php?p=1375187&postcount=2

我觉得您的问题可以解决,尝试从APT-GET而不是LAMPP安装PHP,看看它是否解决了您的问题。

你可以获得PHP,APACHE& MySQL by:

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/