php - 在 lampp 服务器中从 php 运行 ffmpeg 时找不到 GLIBCXX_3.4.9

标签 php c++ c linux ffmpeg

我编写了一个 php 程序,它使用 ffmpeg 从图像序列创建视频。

<?php
    $res = shell_exec("ffmpeg -framerate 50 -i image/image%d.png -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4 2>&1");
    echo "$res";

当我运行它时,

它说 GLIBCXX_3.4.15GLIBCXX_3.4.9GLIBCXX_3.4.11 未找到

ffmpeg: /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not

found (required by /usr/lib/i386-linux-gnu/libjack.so.0) ffmpeg:

/opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found

(required by /usr/lib/i386-linux-gnu/libzmq.so.3) ffmpeg:

/opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found

(required by /usr/lib/i386-linux-gnu/libopencv_core.so.2.4) ffmpeg:

/opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found

(required by /usr/lib/i386-linux-gnu/libopencv_core.so.2.4)

但是从终端,ffmpeg -framerate 50 -i image/image%d.png -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4 命令工作正常。 为什么 php 找不到库 而在终端上运行正常?我应该怎么做才能解决 php 中的问题?提前致谢。

最佳答案

我在从 PHP 脚本执行 ffmpeg 命令时也遇到了类似的问题。我通过从终端执行以下命令找到了解决方案。我在此处粘贴该命令,以便有人从中获得帮助。

sudo mv /opt/lampp/lib/libstdc++.so.6 /opt/lampp/lib/libstdc++.so.6.orig

现在只需运行您的 php 脚本,希望它会起作用。

关于php - 在 lampp 服务器中从 php 运行 ffmpeg 时找不到 GLIBCXX_3.4.9,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31353604/

相关文章:

php - 如何从 MySql 数据库表中删除重复项

c++ - 等待接收消息?与 msgrcv C++

c++ - 警告 MSB8012 - 在 Visual Studio 2015 上构建 Visual Studio 2003 项目

c函数充当指针?

PHPUnit 类无法找到自身

php - 一年中的每个月?

php - 我如何将一个div放在另一个div中的php中

c++ - 获取可变参数模板类的第 N 个参数的最简单方法?

c - C语言中的计时器不会耗尽CPU

c++ - 用 C 编写 Linux 服务器的最佳方法(phtreads、select 或 fork?)