Мне нужно установить расширение ffmpeg PHP на моем локальном хосте, чтобы я мог проверить несколько моих скриптов, но у меня возникают проблемы с выяснением, как это сделать.
У меня WampServer 2.0 с PHP 5.2.9-2, моя ОС – Windows XP. Пожалуйста, дайте мне пошаговые инструкции.
Я нашел некоторые сборки Windows здесь: http://sourceforge.net/projects/ffmpeg-php/files/
Но я не знаю, какой из них скачать и что делать с файлами.
Редакция:
Что я сделал до сих пор:
Я получаю сообщение об ошибке после использования этого кода:
$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
Плюс я также получаю исключение сверху.
добавьте эту строку в файл php.ini
[PHP_ffmpeg] extension=php_ffmpeg.dll
http://sergey89.ru/files/ffmpeg-php-win32-all.zip
Не похоже, что проблема связана с ffmpeg … предупреждение о использовании функции dl. Многопоточный PHP не поддерживает динамическую загрузку любого расширения PHP, поэтому вам нужно убедиться, что файл .dll для него размещен везде, где живут остальные модули php.
То, что вам действительно нужно выяснить, – это то, почему расширение не загружается, несмотря на то, что у вас есть директива «extension = php_ffmpeg.dll» в вашем php.ini. Обычно вы можете увидеть ошибки запуска в вашем журнале ошибок apache (например, PHP говорит, что он не может загрузить библиотеку). Кроме того, вы взглянули на phpinfo (), а проверенного ffmpeg нет (не должно быть, так как extension_loaded возвращает false), но, возможно, он существует под другим именем (вы также можете использовать get_loaded_extensions (), я полагаю) ,
; 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
выключен. После этого вы не получите ошибку.
Редактирование \wamp\apache\apache2.xx\bin\php.ini
– добавление extension=php_ffmpeg.dll
строки extension=php_ffmpeg.dll
ВМЕСТО
Редактирование \wamp\bin\php\php5.2.9\php.ini
– добавление extension=php_ffmpeg.dll
строки extension=php_ffmpeg.dll
MirKo является правильным, но я хотел бы добавить, что
после
есть еще один шаг