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

Raf*_*sin 6 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";
Run Code Online (Sandbox Code Playgroud)

当我运行它时,

它说GLIBCXX_3.4.15,GLIBCXX_3.4.9,GLIBCXX_3.4.11 没有找到.

ffmpeg:/opt/lampp/lib/libstdc++.so.6:版本`GLIBCXX_3.4.15'不是

找到(由/usr/lib/i386-linux-gnu/libjack.so.0要求)ffmpeg:

/opt/lampp/lib/libstdc++.so.6:未找到版本`GLIBCXX_3.4.9'

(/usr/lib/i386-linux-gnu/libzmq.so.3要求)ffmpeg:

/opt/lampp/lib/libstdc++.so.6:未找到版本`GLIBCXX_3.4.11'

(/usr/lib/i386-linux-gnu/libopencv_core.so.2.4要求)ffmpeg:

/opt/lampp/lib/libstdc++.so.6:未找到版本`GLIBCXX_3.4.9'

(/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中的问题?提前致谢.

小智 16

从PHP脚本执行ffmpeg命令时,我也遇到了类似的问题.我通过从终端执行以下命令找到了解决方案.我在这里粘贴这个命令,所以有人可以从中得到帮助.

sudo mv /opt/lampp/lib/libstdc++.so.6 /opt/lampp/lib/libstdc++.so.6.orig
Run Code Online (Sandbox Code Playgroud)

现在只需运行你的php脚本,希望它能运行.