Fork me on GitHub

The WebDevil

Enjoy development

Итак, задача: есть сервер с php4 и сервер с php5. Везде как модули. Который с php5 часто рубают по питанию (да, такой провайдер Fasty, и да, я не могу ничего с этим сделать ибо не мой сервер).
И вот возникла мысль – поднять на сервере с php4 php5 как cgi. Делов-то, в линуксе на 5 минут. Но не во FreeBSD, нет, это не наш путь.

Итак, я обновил порты и сделал так:

#cd /usr/ports/lang/php5
#make PREFIX=/isr/local/php5 install

И все легко и просто встало. Но… дальше я задумался о модулях. Как их поставить? Просто? А вот и нифига.

#cd /usr/ports/databases/php5-mysql
#make PREFIX=/usr/local/php5 install

и получаем матюки насчет того, что не будет оно собираться для php4. Я задумался о том, что php4 стоит в системных путях. И оно находит его, а не то что указано по префиксу. Надо лечить, подумалось мне. Но как – не знал.

И вот на irc добрый iATlevsha посоветовал поправить /usr/ports/Mk/bsd.php.mk.
Зашел я туда, и там везде в путях вместо ${PREFIX} указано ${LOCALBASE}. Надо заметить, что сборка

#make PREFIX=/usr/local/php5 LOCALBASE=/usr/local/php5 install

попыталась мне туда вломить все необходимые зависимости. Например, перл. Его-то там нет (в смысле,в /usr/local/php5). Мне это не понравилось.

И в файлике /usr/ports/Mk/bsd.php.mk мною все что нужно было исправлено с ${LOCALBASE} на ${PREFIX}.

О чудо! После этого все экстеншены начали соираться и нормально ставиться. А я еще больше утвердился в мысли что FreeBSD я по своей воле пользовать не буду.

6 Responses to “PHP4 and PHP5 together under FreeBSD”

  1. Э. А make config для кого придумали?

    anycolor

  2. А Вы скажите, что сделает make config? В /usr/ports/lang/php5-extensions.

    Можете не проверять – оно покажет список модулей, которые мы захотим собрать. Но там нет ничего что помогло бы взгромоздить их по альтернативному пути.

    dm

  3. Имхо про пхп4 надо начинать забывать. Скоро ведь хоронить надо, раз уже умер :)

    А если есть желание извращатся, то из сурсов можно поставить :)

    Olostan

  4. наши ИМХО совпадают. Вот только старые проекты просто так на пятерку не влезут без подпиливания напильником. А работать они должны. Вот пока такой переход.

    dm

  5. а что мешало при configure использовать LDFLAGS и CPPFLAGS ?

    drurus

  6. но зачем так все усложнять? Почему в убунте можно поставить и php4 и php5 сразу из пакетов просто apt-get install php4-cgi php5-cgi?

    dm