Установка PHP-расширения в Windows
В Windows есть два способа загрузки PHP-расширения: скомпилировать его вместе с PHP или загрузить DLL. Загрузка заранее скомпилированного расширения является наиболее простым и предпочитаемым способом.
Для загрузки расширения, оно должно присутствовать на вашей системе в виде «.dll» файла. Все расширения автоматически и периодически компилируются командой PHP (см. следующий раздел для загрузки).
За инструкциями по компиляции расширения в PHP обратитесь к разделу «Сборка из исходников».
Для компиляции отдельного расширения (или DLL-файла), обратитесь к разделу » Сборка из исходников». Если DLL-файла нет ни в стандартной поставке PHP ни в PECL, возможно, вам придется скомпилировать его вручную.
Где найти расширение?
PHP-расширения обычно имеют имена вида «php_*.dll» (где звездочка обозначает имя расширения) и располагаются в папке «PHP\ext».
PHP поставляет расширения наиболее полезные большинству разработчиков. Такие расширения называются «основными» («core»).
Однако, если вам требуется функционал, который не предоставляется ни одним из основных расширений, возможно, нужное вам расширение есть в PECL. Библиотека расширений сообщества PHP (The PHP Extension Community Library, PECL) является хранилищем расширений PHP, предоставляя каталог и хостинг всех известных расширений для скачки и дальнейшей разработки расширений в PHP.
Если вы разработали какое-либо расширение для собственных нужд, возможно, вы захотите хранить его в PECL, так, чтобы другие также могли воспользоваться результатами вашего труда. Хорошим побочным эффектом будет неплохой шанс получить обратную связь, благодарности (надеемся, что так и будет), сообщения об ошибках и даже исправления/патчи. Пожалуйста, прочтите » публикация PECL; перед отправкой вашего расширения в PECL.
Какое расширение нужно загрузить?
- Различные номера версий (по крайней мере первые два числа должны совпадать)
- Различные настройки потокобезопасности
- Различная архитектура процессора (x86, x64, . )
- Различные настройки отладки
- и т.д.
Помните, что настройки ваших расширений должны совпадать со всеми настройками используемого вами бинарного файла PHP. Следующий PHP-скрипт выведет вам все настройки PHP:
Пример #1 Вызов phpinfo()
Или запустите из командной строки:
Установка расширений 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.
- измените опцию extension_dir так, чтобы она указывала на директорию, в которой расположены расширения или в которую вы поместили файлы php_*.dll . Например:
extension_dir = C:\php\extensions
// измените следующую строку с . ;extension=php_bz2.dll // . на extension=php_bz2.dll
Замечание: Если вы запустили PHP в качестве модуля сервера, не забудьте перезагрузить веб-сервер для применения ваших изменений в файле php.ini .
Следующая таблица описывает некоторые доступные расширения и требуемые дополнительные библиотеки dll.
Расширение | Описание | Примечания |
---|---|---|
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.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 версий |
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 | — |