Установка расширений PHP в ОС Windows


После установки PHP и веб-сервера на ОС Windows может понадобиться установить некоторые расширения для добавления функционала. Вы можете выбрать, какие расширения будут загружаться при старте PHP, модификацией вашего файла php.ini. Также вы можете загружать расширения динамически в ваших скриптах, используя функцию dl().

Библиотеки DLL расширений PHP имеют префикс php_.

Многие расширения встроены в Windows-версию PHP. Это значит, что дополнительные DLL-файлы и директива extension не используются для загрузки данных расширений. Таблица расширений PHP в Windows, содержащая список расширений, требующих (или обычно требующих) дополнительные DLL-файлы. Ниже приведен список встроенных расширений (обновлено PHP 5.0.4): BCMath, Caledar, COM, Ctype, DOM, FTP, LibXML, Iconv, ODBC, PCRE, Session, SimpleXML, SPL, SQLite, WDDX, XML и Zlib.

Место по умолчанию, в котором PHP ищет расширения - C:\php5. Для изменения данной настройки согласно вашей установке PHP отредактируйте файл php.ini следующим образом:

  • измените опцию extension_dir так, чтобы она указывала на директорию, в которой расположены расширения или в которую вы поместили файлы php_*.dll. Например:

    extension_dir = C:\php\extensions

  • Включите одно или несколько расширений, которые вы хотите использовать, раскомментировав в файле php.ini строки вида extension=php_*.dll. Это делается удалением символа ";" в начале строки для каждого расширения, которое вы хотите включить.

    Пример #1 Включение расширения Bzip2 в PHP-Windows

    // измените следующую строку с ... ;extension=php_bz2.dll  // ... на extension=php_bz2.dll

  • Некоторые расширения для своей работы требуют дополнительные библиотеки DLL. Несколько из них находятся в распространяемом дистрибутиве PHP, в в корневой директории, но некоторые расширения, например, Oracle (php_oci8.dll), требут наличия библиотек DLL, не включаемых в дистрибутив PHP. Не забудьте включить директорию C:\php в системную переменную PATH (данный процесс описан в отдельном разделе помощи).

  • Некоторые из этих библиотек DLL не поставляются в дистрибутиве PHP. За деталями обратитесь к странице документации конкретного расширения. Также прочтите раздел руководства Установка расширений PECL, чтобы узнать дополнительную информацию о PECL. Все большее число расширений PHP можно найти в PECL, и данные расширения требуют отдельной загрузки.

Замечание: Если вы запустили PHP в качестве модуля сервера, не забудьте перезагрузить веб-сервер для применения ваших изменений в файле php.ini.

Следующая таблица описывает некоторые доступные расширения и требуемые дополнительные библиотеки dll.

Расширения PHP
Расширение Описание Примечания
php_bz2.dll Функции сжатия bzip2
php_calendar.dll Функции преобразования календарей -
php_crack.dll Функции Crack
php_ctype.dll Семейство функций ctype -
php_curl.dll Функции библиотеки CURL Требует библиотеки libeay32.dll, ssleay32.dll (в комплекте дистрибутива PHP)
php_dba.dll DBA: функции абстрактного слоя DataBase (dbm-стиль)
php_dbase.dll Функции dBase
php_dbx.dll Функции dbx
php_exif.dll Функции EXIF Требуется библиотека php_mbstring.dll. Библиотека php_exif.dll должна загружаться после php_mbstring.dll в файле php.ini.
php_fbsql.dll Функции FrontBase -
php_fdf.dll FDF: функции формата данных "Forms Data Format" Требуется библиотека fdftk.dll (в комплекте дистрибутива PHP)
php_filepro.dll Функции filePro Доступ только для чтения
php_ftp.dll Функции FTP -
php_gd2.dll Библиотека функциий обработки изображений GD GD2
php_gettext.dll Функции Gettext В PHP версий <= 4.2.0 требуется библиотека gnu_gettext.dll (в комплекте дистрибутива PHP), в PHP версий >= 4.2.3 требуется библиотека libintl-1.dll и iconv.dll (в комплекте дистрибутива PHP).
php_hyperwave.dll Функции HyperWave
php_iconv.dll Функции конвертации кодировок ICONV Требуется библиотека iconv-1.3.dll (в комплекте дистрибутива PHP), iconv.dll
php_ifx.dll Функции Informix Требуются библиотеки Informix
php_iisfunc.dll Функции управления IIS
php_imap.dll Функции IMAP POP3 и NNTP
php_ingres.dll Функции Ingres Требуются библиотеки Ingres
php_interbase.dll Функции InterBase Требуется библиотека gds32.dll (в комплекте дистрибутива PHP)
php_ldap.dll Функции LDAP Требует libeay32.dll, ssleay32.dll (в комплекте дистрибутива PHP)
php_mbstring.dll Функции для работы с многобайтовыми (Multi-Byte) строками
php_mcrypt.dll Функции кодирования Mcrypt Требуется библиотека libmcrypt.dll
php_mhash.dll Функции Mhash Требуется библиотека libmhash.dll (в комплекте дистрибутива PHP)
php_mime_magic.dll Функции Mimetype Требуется файл magic.mime (в комплекте дистрибутива PHP)
php_ming.dll Функции Ming для Flash
php_msql.dll Функции mSQL Требуется библиотека msql.dll (в комплекте дистрибутива PHP)
php_mssql.dll Функции MSSQL Требуется библиотека ntwdblib.dll (в комплекте дистрибутива PHP)
php_mysql.dll Функции MySQL Требуется библиотека libmysql.dll (в комплекте дистрибутива PHP)
php_mysqli.dll Функции MySQLi Требуется библиотека libmysql.dll (libmysqli.dll в PHP версий <= 5.0.2) (в комплекте дистрибутива PHP)
php_oci8.dll Функции Oracle 8 Требуются клиентские библиотеки Oracle 8.1+
php_openssl.dll Функции OpenSSL Требуется библиотека libeay32.dll (в комплекте дистрибутива PHP)
php_pdf.dll Функции PDF
php_pgsql.dll Функции PostgreSQL
php_shmop.dll Функции для работы с разделяемой памятью
php_snmp.dll Функции для использования протокола SNMP Только на Windows NT!
php_soap.dll Функции SOAP -
php_sockets.dll Функции для работы с сокетами
php_sybase_ct.dll Функции Sybase Требуются клиентские библиотеки Sybase
php_tidy.dll Функции Tidy -
php_tokenizer.dll Функции Tokenizer -
php_w32api.dll Функции W32api
php_xmlrpc.dll Функции XML-RPC Требуется библиотека iconv.dll (в комплекте дистрибутива PHP)
php_xslt.dll Функции XSLT Требуются библиотеки sablot.dll, expat.dll, iconv.dll (в комплекте дистрибутива PHP).
php_yaz.dll Функции YAZ Требуется библиотека yaz.dll (в комплекте дистрибутива PHP)
php_zip.dll Функции для работы с файлами Zip Доступ только для чтения
php_zlib.dll Функции сжатия ZLib -