<rmcreative>

RSS

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 оказалась вполне стабильной, остановился на ней. Кстати, внутри там:

Комментарии RSS

  1. №4562
    OZ
    OZ 08 мая 2011 г., 2:21:44

    Можно ещё юзать VirtualBox и поставить там мааленький линукс :)

  2. №4567
    Sam
    Sam 08 мая 2011 г., 22:00:55

    Вопрос ещё в том, с чем больше мороки…

  3. №4569
    OZ
    OZ 08 мая 2011 г., 22:11:14

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

  4. №4570
    OZ
    OZ 08 мая 2011 г., 22:12:44

    Под виндой можно ведь кодить на C#. Непонятно, зачем там PHP юзать - какие могут быть выгоды? Лицензию, ведь, оплачивать нужно дополнительно.

  5. №4571
    Sergey
    Sergey 09 мая 2011 г., 0:26:24

    Спасибо, за статью

    Если не разрабатываешь под Windows-сервера с PHP, то и незачем ...

    +1 зачастую двойная работа получается, настроить все на локали и на сервере, с некоторыми вещами очень ощутимо. Пробовал перейти на VMware, но быстро поднять рабочее место не получилось, так по-прежнему всё в XP и осталось, хотя стоило бы разобраться с этим...

    Не подскажете не_линуксоиду, есть ли какой дистрибьютив, чтоб сразу весь LAMP получить и дальше без лишнего геморроя жить (чтоб не прибегать к джедайским методам прибегать при каких-то рутинах: обновиться, эестеншн поставить)?

  6. №4574
    Sam
    Sam 09 мая 2011 г., 14:10:13

    OZ, разницы в выполнении, по большей части, нет. Есть пара особенностей в ОС, но, что касается PHP, их именно пара, а не сотни. Я их учитываю уже на автомате. Отсутствующих библиотек не так много. Основные все имеются.

    C# — это чуть из другой оперы. А выгода работать под виндой одна — привычные и необходимые инструменты. Total Commander, Photoshop, Internet Explorer, Miranda, Araxis Merge и т.д.

    Sergey, всё так и так настраивать и там и там, какая бы ОС не была.

  7. №4576
    OZ
    OZ 09 мая 2011 г., 14:24:26

    Работать - понятно, я и сам это делаю. Но сервер с виндой для PHP - непонятна тут выгода. Может я чего не знаю.

  8. №4578
    Sam
    Sam 09 мая 2011 г., 19:26:17

    Я про сервер и не говорил :)

  9. №4579
    Sergey
    Sergey 09 мая 2011 г., 19:43:26

    Sergey, всё так и так настраивать и там и там, какая бы ОС не была

    Я не имел в виду работать под линуксом, я имею в виду следующее: ставить виртуальную машину с LAMP, устанавливать сеть(?) со своей виндой и продолжать работать в XP с привычными прогами, только PHP & Co будут выполняться под линуксом. Причем файлы все будут видны из-под винды со всеми вытекающимим тоталкоммандерами и тортоисСВН-ами

    разве не так все делают? или я не понимаю чего-то важного :)

  10. №4580
    Sergey
    Sergey 09 мая 2011 г., 19:48:16

    Получаем: apache+mysql+php работают в линукс, а человек работает в виндовс - волки сыты, овцы целы. Только вот как это получить проще всего я не в курсе

  11. №4581
    OZ
    OZ 09 мая 2011 г., 19:59:16

    Sergey, я делал вот так: http://eugenioz.blogspot.com/2011/01/ssh-virtualbox.html http://eugenioz.blogspot.com/2011/01/dev.html

  12. №4582
    Чистяков Денис
    Чистяков Денис 09 мая 2011 г., 22:14:12

    Присоединяюсь к Сергею, тоже когда работал под виндой в итоге пришел к такому варианту, даже описал у себя в блоге: http://disachist.ya.ru/replies.xml?item_no=1403 Благодаря возможноси примонтировать любую папку с основной системы в гостевую очень удобно хранить локально все скрипты и редактировать их в любом любимом windows-редакторе, а исполнять их под LAMP или LNMP, это уже как больше нравиться ) Использовать готовые бинарники, как было описано выше это конечно вариант, но это сродни использованию PPA в дебиане, да как бе можно, но не факт что заработает правильно ( В последние разы ставил вместо Debian`а — Ubuntu Server, но там почти ничего не меняется.

  13. №4583
    Sam
    Sam 09 мая 2011 г., 22:53:59

    Sergey, я не так работаю. У меня локальный сервер также в винде. Неудобств вроде не наблюдается. Конечно, для сильно специфичных штук придётся поднять виртуалку, но для обычной разработки (PHP, APC, MySQL/PostgreSQL, Apache/nginx, memcached, Redis, SOLR, Sphinx) оно не особо полезно.

  14. №4584
    Sergey
    Sergey 10 мая 2011 г., 0:03:15

    Sam, у меня пока то же самое, но для некоторых вещей лучше б я виртуалку поднимал, чесслово :)

    OZ, спасибо

    Чистяков Денис, у вас очень хорошо описано, буду пробовать, спасибо

  15. №4652
    Dr0ID
    Dr0ID 17 мая 2011 г., 10:13:42

    Sergey, Чистяков Денис, OZ, ребят зачем разводить этот огород и лишний гемор с виртуалками, когда проще все нативно под виндой юзать? Мне для проекта нужно запускать виртуалку с Realplexor'ом и если честно, то порой лениво её даже просто запустить :)

  16. №4653
    OZ
    OZ 17 мая 2011 г., 10:53:59

    Dr0ID, потому что есть разница в исполнении, есть разница в разделителе директорий, есть разница в библиотеках. А виртуалка запускается (из сохранённого состояния) около 10 секунд.

  17. №4654
    Dr0ID
    Dr0ID 17 мая 2011 г., 11:19:24

    Для разделителя есть DIRECTORY_SEPARATOR. С библиотеками может быть что-то, но скорее с какими-то экзотическими. Имхо проблема надуманна.

  18. №4658
    Sam
    Sam 17 мая 2011 г., 17:03:20

    OZ, в исполнении разница минимальна. Линуксовый разделитель отлично работает под виндой.

  19. №4659
    OZ
    OZ 17 мая 2011 г., 18:02:38

    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 и т.д.

  20. №4661
    Sam
    Sam 17 мая 2011 г., 19:57:18

    OZ,

    1. Семофоры используются в типичных приложениях, коих 80%, очень редко.
    2. За много лет разработки под Windows и деплоя на nix-машины нарывался всего пару раз. Последний раз был 2—3 года назад.
    3. Опять же, это нетипично для большинства приложений. Всё стандартное и даже чуть больше под винду имеется.

    Злой калькулятор починю к вечеру. Видно, перемудрил с APC.

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.