8

我需要在我的本地主机上安装 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

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

4

7 回答 7

5

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

[PHP_ffmpeg]
extension=php_ffmpeg.dll
于 2011-01-19T11:03:26.657 回答
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。
于 2010-07-07T13:28:26.957 回答
1
  1. 下载 ffmpeg_new
  2. 将php5文件夹中的php_ffmpeg.dll复制到wamp/php/ext文件夹
  3. 将文件从 common 复制到 windows/system32 文件夹
于 2009-07-23T16:37:58.363 回答
1

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

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

于 2009-07-24T02:23:30.867 回答
1

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

代替

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

于 2010-07-23T12:13:34.927 回答
1
; 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已关闭。之后,您将不会收到错误。

于 2011-07-06T09:30:23.063 回答
0

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
    后添加
    extension=php_ffmpeg.dll
于 2010-04-21T03:15:18.810 回答