我刚刚使用本指南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');
答案 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/