Все pecl для windows

Все pecl для windows

Если вы работаете с PHP под Windows или просто разрабатываете в Windows, как я, то наверняка вы знакомы со страничкой http://downloads.php.net/pierre/, которая временно-постоянно заменяет PECL для Windows и на которой можно найти свежие билды различных расширений.

Конечно, найти там нужное не так просто, если не знать, что именно вам нужно. Если у вас последние версии PHP (начиная с 5.3.6) для Windows и если вы не собирали их самостоятельно, можно смело игнорировать всё что помечено как vc6 или x64 . Далее смотрим, thread safe ли у вас версия PHP. Если не уверены, то можно посмотреть, имеется ли у вас php5ts.dll . Если да, версия thread safe и расширения надо выбирать только с пометкой ts . После этого обычно остаётся пара вариантов: стабильная версия и собранные из текущего svn/cvs кода.

С некоторыми расширениями, конечно, приходится повозиться. Например, APC. После очевидного отбора остаётся прилично вариантов:

  • php_apc-20110109-5.3-vc9-x86.zip
  • apc-igbinary-fastlz-snap20110301-5.3-ts-vc9-x86.zip
  • php_apc-3.1.8-dev-+igbinary-1.1.2-dev-5.3-ts-vc9-x86.zip
  • php_apc-3.1-5.3-svn20101116-vc9-x86.zip
  • php_apc-3.1.5-5.3-vc9-x86.zip

Мне было некогда разбираться, взял первый попавшийся php_apc-20110109-5.3-vc9-x86.zip и пару дней мучался с тем, что сервер время от времени просто переставал отвечать на запросы. Потом, методом исключения, нашёл виновника и проверил все остальные варианты:

  • php_apc-20110109-5.3-vc9-x86.zip — время от времени вешается.
  • apc-igbinary-fastlz-snap20110301-5.3-ts-vc9-x86.zip — сразу рушит апач.
  • php_apc-3.1.8-dev-+igbinary-1.1.2-dev-5.3-ts-vc9-x86.zip — стабильно.
  • php_apc-3.1-5.3-svn20101116-vc9-x86.zip — стабильно, но есть 3.1.5.
  • php_apc-3.1.5-5.3-vc9-x86.zip — стабильно, но есть 3.1.8.

т.к. 3.1.8 оказалась вполне стабильной, остановился на ней. Кстати, внутри там:

Все pecl для windows

PECL это хранилище PHP расширений которое доступно Вам через систему PEAR. Этот раздел руководства предназначет для демонстрации того, как получить и проинсталлировать PECL расширения.

Эти иструкции предполагают, что «/your/phpsrcdir/» это путь к исходному дистрибутиву PHP и что «extname» это имя PECL расширения, поэтому приведите все рассматриваемые здесь примеры в соответствии с Вашими требованиями. Эти инструкции также полагают, что Вы уже знакомы с командой pear.

Читайте также:  Routing commands in linux

Для использования расширения оно должно быть собрано, проинсталлировано и загружено. Методы описаные ниже предоставляют Вам различные инструкции о том, как собрать и инсталлировать расширения, но они не загружают их автоматически. Расширения могут быть загружены после добавления директивы расширений в php.ini файле или через использование функции dl().

Когда собираются PHP модули, очень важно знать версии всех необходимых инструментов (autoconf, automake, libtool, и т.д.) Смотрите Анонимные CVS инструкции для детализации требуемых инструментов и требуемых версий.

Загрузка PECL расширений

Существует несколько вариантов для загрузки PECL расширений, такие как:

Это веб сайт PECL содержащий информацию о различных расширениях, которые предлагаются командой разработчиков PHP. Информация доступная там содержит: лог изменений, замечания о релизе, требования и другие детали.

pecl download extname

PECL расширение имеющее релизы и находящееся в списке PECL на веб сайте и доступное для скачивания и инсталляции с использованием команды pear. Вами может быть выбрана требуемая ревизия.

Большинство PECL расширений размещено в CVS. Веб просмотр CVS может быть выполнен через http://cvs.php.net/pecl/. Для загрузки прямо из CVS должна быть использована следующая последовательность команд (заметьте, что phpfi это пароль для пользователя cvsread):

Скачивание для Windows

Пользователи Windows могут найти уже скомпилированные PECL файлы выполнив закачку Collection of PECL modules со страницы PHP Downloads и выбрав PECL Snapshot. Для компиляции PHP под Windows, читайте соответствующий раздел.

Компиляция совместных PECL расширений с PEAR

PEAR легко создает общедоступные PHP расширения. Используя команду pear, сделайте следующее:

Эта команда загрузит исходник extname, скомпилирует и инсталлирует extname.so в Вашу директорию с расширениями «extension_dir», затем extname.so может быть загружено через php.ini.

По умолчанию, команда pear не инсталлирует пакеты, которые помечены как альфа или бета релизы. Если нет доступного стабильного пакета, Вы можете инсталлировать бета пакет используя следующую команду:

Читайте также:  0xc004e028 активация windows server 2019

Вы также можете инсталлировать определенную версию расширения используя следующий вариант:

Компиляция совместных PECL расширений с phpize

Иногда использование PEAR инсталлятора невозможно. Такое может быть если Вы находитесь за файерволом или расширение, которое Вы хотите инсталлировать, недоступно Вам как PEAR совместимый пакет, таковыми могут быть неизданные расширения из CVS. Если Вам необходимо построить такое расширение, Вы можете использовать низко-уровневую сборку, выполнив построение вручную.

Команда phpize используется в качестве подготовки окружения для PHP расширения. В следующем примере исходные коды для расширения находятся в директории названной extname:

Успешная инсталляция создаст файл extname.so и разместит его в директорию с PHP расширениями. Вам необходимо откорректировать php.ini и добавить в него строку extension=extname.so, прежде чем Вы сможете использовать это расширение.

Если в системе отсутствует команда phpize и используются предварительно скомпилированные пакеты (такие как RPM), будьте уверенны в том, что инсталлируете подходящую версию PHP пакета, так как часто они включают в себя команду phpize наряду с предопределенными файлами заголовков для сборки PHP и его расширений.

Выполните phpize —help для показа дополнительной информации об использовании этой команды.

Компиляция статических PECL расширений PHP

Вам может понадобится собрать PECL расширение статически, т.е. прямо непосредственно в код PHP. Для этого Вам необходимо поместить исходный код расширения в директорию «php-src/ext/» и указать сборщику PHP на регенерацию его конфигурационного скрипта.

Оцените статью