Установка PHP 5.4 на Ubuntu

5 Мар
2012

Как стало всем нам известно, 1 марта был выпущен новый релиз PHP c версией 5.4. Будучи человеком любопытным — решил опробовать сие новшество на своей тестовой машине с Ubuntu 11.10. Я программист, но ни в коем случае не админ, и поэтому установка релиза не с репозиториев при помощи команд а-ля apt-get install у меня вызвала некоторые трудности, которыми хотелось бы поделиться.
Итак, для начала я написал простенький скрипт на php, чтобы отслеживать текущую версию
<?php 
  echo phpversion();

что вывело мне 5.3.6-1ubuntu, что и не удивительно. Это была самая последняя версия, которую можно было установить через выше упомянутый apt-get. После сего я отправился за новым релизом. Распаковал его с помощью графических утилит, поэтому команду распаковки не приведу. На выходе у меня получился каталог php-5.4.0 перейдя в который я методом тыка начал подбирать команды. Почему подбирать? — Потому что компилировать и устанавливать я особо не умел. Итак методом «тыка» и «гугла» я дошел до команды

./configure


Сказать что у меня побежало много строк по экрану — нечего не сказать. В общем на каком-то этапе мне любезно вывелось сообщение что у меня отсутствует некая библиотека zliblg. Попытавшись ее установить мне система сказала что таковая уже имеется и я был удивлен. Прибег при помощи старого доброго «гугла» я обнаружил что нужна библиотека zliblg-dev. К слову сказать это мой частный случай и поэтому может случиться так, что в вашем случае будет отсутствовать некоторая другая библиотека. В любом случае лечилось оно так

sudo apt-get install zliblg zliblg-dev


Далее подобных проблем у меня не возникало и я успешно (с небольшими задержками на компиляцию) выполнил серию команд

./configure
make
make install


Всё прошло успешно, НО PHP, к моему огорчению остался прежним. И я понял что допустил ошибку, точнее сказать упущение, что PHP и Apache — разные вещи и их нужно еще «подружить», а до того Apache «дружит» с моей старой версией PHP 5.3.6.
Пробежавшись по Google набрел на статью «N»-летней давности по установке php4 из исходников. Этого мне хватило. Как оказалось для привязки php к apache нужно сконфигурировать его используя ммм… некоторую вещь под названием «apxs» для Apache2 соответственно добавляется «2» apxs2.
Этот, так сказать, необходимый файлик у меня нашелся тут /usr/bin/apxs2. Если его у вас нет и

sudo find / -name apxs2


его не находит. Это решается следующей установкой:

sudo apt-get install apache2-threaded-dev


На данном моменте приготовления и устранения неполадок закончились. Далее выполняем серию команд установки. Помним что мы находимся в каталоге с файлами установки php 5.4

./buildconf --force
./configure --with-apxs2=/usr/bin/apxs2 --enable-debug
sudo make clean
sudo make
make test
sudo make install
sudo service apache2 restart


Хотелось бы заметить что make test рекомендовал сделать установщик. Процедура длительная, но мне кажется — не обязательная. Поэтому можно пропустить. Ну и перезапуск Апача для применения изменений. Более лучшим вариантом была бы остановка его перед установкой. Но мой кривой вариант заработал и теперь вспоминая тот php-скрипт с выводом версии он выдает мне 5.4.0, а значит установка удалась.
По материалам Хабрахабр.



загрузка...

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

Наверх