Расширение PECL для Windows

Я нашел несколько связанных сообщений здесь, но не получил ответа. Итак, публикую снова.
Как мне установить расширение PECL в Windows? Скажем, мне нужно расширение PECL oAuth в Windows XP.
Я знаю 2 метода, но ни один из них мне не подходит.

  1. Сайт http://pecl4win.php.net/ не работает уже несколько месяцев. Поэтому я не могу загрузить DLL. Есть ли место, откуда мы можем скачать DLL?

  2. выполнение команды pecl install oauth-0.99.9.tgz выдает ошибку
    DSP oauth.dsp не существует.
    Я пробовал с несколькими другими расширения также и получить ту же ошибку.

Что мне здесь не хватает?


person Varun    schedule 12.01.2010    source источник


Ответы (6)


Релизы теперь можно найти здесь:
http://windows.php.net/downloads/pecl/releases/

Если вам нужно расширение, которого там нет, вы можете обратиться в список рассылки pecl-dev по адресу lists.php.net.

person johannes    schedule 12.01.2010
comment
Поскольку источник расширений легко доступен, вместо того, чтобы напрямую предоставлять конкретную dll, было бы лучше, если вы опубликуете подробное руководство о том, как создать dll расширения pecl из исходного кода. Я нашел несколько статей об этом, но все еще не очень ясно. - person Varun; 15.01.2010
comment
wiki.php.net/internals/windows/stepbystepbuild содержит некоторые инструкции. Как я сказал в комментарии к другому ответу здесь: система сборки в Windows в настоящее время не позволяет создавать автономные расширения, но вы должны строить из исходного дерева PHP. Для добавления oauth вам нужно либо поместить исходники в php-src/ext/oauth перед запуском buildconf.bat, либо использовать опцию --extra-ext-dir (или аналогичную) для buildconf.bat. - person johannes; 16.01.2010
comment
Два года спустя обновление моего предыдущего комментария: тем временем есть инструмент phpize, похожий на Unix, доступный для загрузки двоичных файлов для разработки. Создание расширений PECL часто все еще нетривиально, поскольку многие разработчики не тестируют Windows, что требует некоторых адаптаций, особенно при использовании сторонних библиотек. - person johannes; 15.05.2012

Я получил то, что искал в http://windows.php.net/downloads/pecl/releases/

person Erwin Kaddy    schedule 17.09.2013

В настоящее время PECL для окон находится в странном состоянии преобразования. Причина в том, что я считаю, что они пытаются предоставить исходные версии VS2008. На самом деле я бы предложил использовать Zend Server до тех пор, пока Windows не установит половину php. группа все исправит. Zend Server включает почти все расширения, которые можно найти в PECL, и все остальное, если повезет, можно было найти компиляцию самому.

person Kevin Peno    schedule 12.01.2010
comment
Можем ли мы сказать, что Zend делает это намеренно ради какой-то возможной будущей денежной выгоды? - person Pacerier; 26.10.2014
comment
@Pacerier Zend не владеет PHP, PHP использует Zend Engine. Группа Windows php — это группа с открытым исходным кодом. Тем не менее, Zend Server — это корпоративное решение от Zend для получения денежной выгоды. Вероятно, поэтому они добавили самые распространенные модули в Zend Server для Windows. - person Kevin Peno; 30.10.2014

Программа установки PECL загружает исходный код расширения и пытается скомпилировать его с помощью вашего локального компилятора C. Проблема в том, что весь процесс разработан для систем Unix, где компилятор C доступен или может быть легко установлен. Настройка среды для компиляции кода C под Windows довольно сложна.

Идеальным решением является получение DLL-файла, который кто-то уже скомпилировал. Для этого и был создан сайт pcle4win. Однако в настоящее время нет официального репозитория для загрузки PECL DLL, поэтому у вас есть только две альтернативы:

Было бы здорово, если бы там был репозиторий DLL, но я ничего не знаю.

person Álvaro González    schedule 12.01.2010

Исходный код php поставляется с набором сценариев конфигурации для Windows (с использованием хоста сценариев Windows), которые имитируют инструменты autoconf в том, что касается php. Если вы поместите код для расширения в каталог в каталоге /ext (где расположены все другие расширения, такие как bcmath, bzip, ...), вы можете позволить buildconf-скрипту создать make-файл, который включает правила сборки для этого (новое) расширение.
Пошаговое руководство доступно на странице http://wiki.php.net/internals/windows/stepbystepbuild, что кажется кратким, но выполнимым.

person VolkerK    schedule 12.01.2010
comment
Вы говорите Unix, а не Windows. Создание автономных расширений без создания всего PHP для Windows невозможно. - person johannes; 12.01.2010
comment
Да, я намеренно выразился расплывчато, сказав, что создаю make-файл, включающий правила сборки. Ну и что? Создайте ядро ​​и просто расширение, которое вы хотите использовать в качестве общего модуля, убедитесь, что параметры конфигурации соответствуют параметрам пакета php, который вы используете, а затем используйте .dll с вашей обычной установкой php. Могло бы быть проще, но это же не ракетостроение, не так ли? Расширение mailparse даже не зависит от внешних библиотек. - person VolkerK; 12.01.2010