【问题标题】:How to install FFMpeg in WampServer 2.0 (Windows XP) [closed]如何在 WampServer 2.0(Windows XP)中安装 FFMpeg [关闭]
【发布时间】:2009-07-23 16:23:30
【问题描述】:

我需要在我的本地主机上安装 ffmpeg PHP 扩展,以便我可以测试我的一些脚本,但我无法弄清楚如何做到这一点。

我有 WampServer 2.0 和 PHP 5.2.9-2,我的操作系统是 Windows XP。请有人给我一步一步的指导。

我在这里找到了一些 Windows 版本:http://sourceforge.net/projects/ffmpeg-php/files/

但我不知道该下载哪个以及如何处理文件。

已编辑:

到目前为止我做了什么:

  1. 下载 ffmpeg_new
  2. 将php5文件夹下的php_ffmpeg.dll复制到C:\wamp\bin\php\php5.2.9-2\ext
  3. 将文件从 common 复制到 windows/system32 文件夹
  4. 将 extension=php_ffmpeg.dll 添加到 php.ini 文件中
  5. 重新启动所有服务(Apache、PHP...)

使用此代码后出现错误:

            $extension = 'ffmpeg';
            $extension_soname = 'php_ffmpeg.dll';
            $extension_fullname = PHP_EXTENSION_DIR . "/" . $extension_soname;

            // load extension
            if(false === extension_loaded($extension)) {
                if (false === dl($extension_soname))
                    throw new Exception("Can't load extension $extension_fullname\n");
            }

错误:

Warning: dl() [function.dl]: Not supported in multithreaded Web servers - use extension=ffmpeg.dll in your php.ini in C:\wamp\www\hunnyhive\application\modules\default\controllers\MyAccountController.php on line 314

另外,我也从上面得到了异常。

【问题讨论】:

  • 虽然下面的 cmets 将帮助您完成这项工作,但我过去发现跳过 FFMPEG 扩展并简单地调用可执行文件似乎是一个更好的解决方案。

标签: php ffmpeg video-streaming wampserver


【解决方案1】:

将此行添加到您的 php.ini 文件中

[PHP_ffmpeg]
extension=php_ffmpeg.dll

【讨论】:

【解决方案2】:

http://sergey89.ru/files/ffmpeg-php-win32-all.zip

  1. 解压ffmpeg-php-win32-all.zip
  2. 将 php_ffmpeg.dll 复制到 \wamp\php4\extension\(对于 php5 \wamp\bin\php\ext)
  3. 将 avcodec.dll 和 avformat.dll 以及包中的任何其他内容复制到 \windows\system32\
  4. 编辑 \wamp\apache\apache2.xx\bin\php.ini - 添加行扩展=php_ffmpeg.dll
  5. 重新启动 Apache。

【讨论】:

【解决方案3】:
  1. 下载 ffmpeg_new
  2. 将php5文件夹中的php_ffmpeg.dll复制到wamp/php/ext文件夹中
  3. 将文件从 common 复制到 windows/system32 文件夹

【讨论】:

  • 我已经这样做了,并且还在 php.ini 中添加了 extension=php_ffmpeg.dll。但它仍然不起作用,我将编辑我的第一篇文章以包含错误消息。
【解决方案4】:

看起来问题出在 ffmpeg 上……警告是关于 dl 函数的使用。多线程 PHP 不支持动态加载任何 PHP 扩展,因此您需要确保将其 .dll 文件放置在其余 php 模块所在的任何位置。

您真正需要弄清楚的是,尽管您的 php.ini 中有“extension=php_ffmpeg.dll”指令,但为什么无法加载扩展程序。通常,您可以在 apache 错误日志中看到任何启动错误(例如 PHP 说它无法加载库)。另外,您是否查看了 phpinfo() 并验证了 ffmpeg 不存在(不应该是因为 extension_loaded 返回 false),但也许它以不同的名称存在(您也可以使用 get_loaded_extensions() 我想) .

【讨论】:

  • 我已经检查了 phpinfo() 并且 ffmpeg 不存在,因此即使 dll 文件位于正确的文件夹中并且在 php.ini 中启用了它,它也没有加载。 Apache 错误日志中没有与此问题相关的内容,但 PHP 错误日志中充满了我第一篇文章中的错误消息。
  • 我感觉问题出在 dll 文件上,也许它是为旧版本的 PHP 编译的?但是我在网上没有找到任何其他的 ffmpeg Windows 构建。
  • 是的,我个人从来没有在 Ubuntu 机器上安装过 FFMPEG...除了尝试自己构建它:)
【解决方案5】:
; Whether or not to enable the dl() function.  The dl() function does NOT work
; properly in multithreaded servers, such as IIS or Zeus, and is automatically
; disabled on them.
; http://php.net/enable-dl
enable_dl = Off

这些是php.ini 中的行。确保 enable_dl 已关闭。之后就不会报错了。

【讨论】:

【解决方案6】:

编辑\wamp\apache\apache2.xx\bin\php.ini - 添加行extension=php_ffmpeg.dll

代替

编辑\wamp\bin\php\php5.2.9\php.ini - 添加行extension=php_ffmpeg.dll

【讨论】:

【解决方案7】:

MirKo 是正确的,但我想补充一下

之后

  1. 从这里下载编译好的dll:http://sergey89.ru/files/ffmpeg-php-win32-all.zip
  2. 解压 php_ffmpeg.dll 到你的 php ext 文件夹中
  3. 把剩下的 dll 放到你的 windows/system32 文件夹中
  4. 重启 apache 并运行 phpinfo() - 你应该会看到 ffmpeg 扩展(顺便说一句,如果你正在寻找错误 wamp->php->php 错误日志,你必须检查 php 而不是 apache 错误日志)

还有一步

  1. 打开php.ini文件找到 ; extension=msql.dll
    在它之后添加
    扩展=php_ffmpeg.dll

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-15
  • 2013-11-17
  • 2023-03-28
  • 1970-01-01
  • 2011-01-26
相关资源
最近更新 更多