PHP PECL под Windows
7 мая 2011
Если вы работаете с 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 оказалась вполне стабильной, остановился на ней. Кстати, внутри там:
- php_apc-win7.dll — для Windows 7.
- php_apc-xp.dll — для XP.
- php_igbinary.dll — альтернативный сериализатор. Штука хорошая, но что он делает в архиве с APC я немного не понял.
Комментарии RSS по email OK
Можно ещё юзать VirtualBox и поставить там мааленький линукс :)
Вопрос ещё в том, с чем больше мороки…
Нет тут никакого вопроса. Если не разрабатываешь под Windows-сервера с PHP, то и незачем мучиться с отсутствующими библиотеками, разницей в выполнении и нюансами разных осей (путь к директориям, например).
Под виндой можно ведь кодить на C#. Непонятно, зачем там PHP юзать - какие могут быть выгоды? Лицензию, ведь, оплачивать нужно дополнительно.
Спасибо, за статью
+1 зачастую двойная работа получается, настроить все на локали и на сервере, с некоторыми вещами очень ощутимо. Пробовал перейти на VMware, но быстро поднять рабочее место не получилось, так по-прежнему всё в XP и осталось, хотя стоило бы разобраться с этим...
Не подскажете не_линуксоиду, есть ли какой дистрибьютив, чтоб сразу весь LAMP получить и дальше без лишнего геморроя жить (чтоб не прибегать к джедайским методам прибегать при каких-то рутинах: обновиться, эестеншн поставить)?
OZ, разницы в выполнении, по большей части, нет. Есть пара особенностей в ОС, но, что касается PHP, их именно пара, а не сотни. Я их учитываю уже на автомате. Отсутствующих библиотек не так много. Основные все имеются.
C# — это чуть из другой оперы. А выгода работать под виндой одна — привычные и необходимые инструменты. Total Commander, Photoshop, Internet Explorer, Miranda, Araxis Merge и т.д.
Sergey, всё так и так настраивать и там и там, какая бы ОС не была.
Работать - понятно, я и сам это делаю. Но сервер с виндой для PHP - непонятна тут выгода. Может я чего не знаю.
Я про сервер и не говорил :)
Я не имел в виду работать под линуксом, я имею в виду следующее: ставить виртуальную машину с LAMP, устанавливать сеть(?) со своей виндой и продолжать работать в XP с привычными прогами, только PHP & Co будут выполняться под линуксом. Причем файлы все будут видны из-под винды со всеми вытекающимим тоталкоммандерами и тортоисСВН-ами
разве не так все делают? или я не понимаю чего-то важного :)
Получаем: apache+mysql+php работают в линукс, а человек работает в виндовс - волки сыты, овцы целы. Только вот как это получить проще всего я не в курсе
Sergey, я делал вот так: http://eugenioz.blogspot.com/2011/01/ssh-virtualbox.html http://eugenioz.blogspot.com/2011/01/dev.html
Присоединяюсь к Сергею, тоже когда работал под виндой в итоге пришел к такому варианту, даже описал у себя в блоге: http://disachist.ya.ru/replies.xml?item_no=1403 Благодаря возможноси примонтировать любую папку с основной системы в гостевую очень удобно хранить локально все скрипты и редактировать их в любом любимом windows-редакторе, а исполнять их под LAMP или LNMP, это уже как больше нравиться ) Использовать готовые бинарники, как было описано выше это конечно вариант, но это сродни использованию PPA в дебиане, да как бе можно, но не факт что заработает правильно ( В последние разы ставил вместо Debian`а — Ubuntu Server, но там почти ничего не меняется.
Sergey, я не так работаю. У меня локальный сервер также в винде. Неудобств вроде не наблюдается. Конечно, для сильно специфичных штук придётся поднять виртуалку, но для обычной разработки (PHP, APC, MySQL/PostgreSQL, Apache/nginx, memcached, Redis, SOLR, Sphinx) оно не особо полезно.
Sam, у меня пока то же самое, но для некоторых вещей лучше б я виртуалку поднимал, чесслово :)
OZ, спасибо
Чистяков Денис, у вас очень хорошо описано, буду пробовать, спасибо
Sergey, Чистяков Денис, OZ, ребят зачем разводить этот огород и лишний гемор с виртуалками, когда проще все нативно под виндой юзать? Мне для проекта нужно запускать виртуалку с Realplexor'ом и если честно, то порой лениво её даже просто запустить :)
Dr0ID, потому что есть разница в исполнении, есть разница в разделителе директорий, есть разница в библиотеках. А виртуалка запускается (из сохранённого состояния) около 10 секунд.
Для разделителя есть DIRECTORY_SEPARATOR. С библиотеками может быть что-то, но скорее с какими-то экзотическими. Имхо проблема надуманна.
OZ, в исполнении разница минимальна. Линуксовый разделитель отлично работает под виндой.
Sam, нет, разница не так уж и минимальна. 1) http://ru2.php.net/manual/en/intro.sem.php - ОДНО из того, чего нет в Windows. 2) Разные версии библиотек диктуют разное поведение и разные баги. 3) В работе участвует не только PHP, есть сторонние модули, и они не всегда есть под Windows, или не всегда работают так, как хотелось бы.
Друзья, если у вас на хостинге Windows - тогда я вижу смысл в запуске PHP дома под виндой, и не собираюсь с этим спорить вообще - холиварить об осях глупо. Я уважаю чужое мнение и свободу выбора.
Я спорю только с тем моментом, когда на хостинге Linux - вот тогда лучше юзать виртуалку :)
Калькулятор в окне комментариев сломался. Он не верит, что 1+1=2, 10-8=4 и т.д.
OZ,
Злой калькулятор починю к вечеру. Видно, перемудрил с APC.