PHP 5.4 - сборка и установка

 
php.gif

Описывается процесс установки интерпретатора из исходных кодов рядом с базовой версией дистрибутива. В основном для целей тестирования. Впрочем и для боевой работы эта инструкция тоже сгодиться.
PHP в примере компилируется с библиотекой SQLite крайней на тот момент версии (3.7.15.2). Если у вас нет необходимости в свежей версии SQLite, то всё что SQLite касается можете опускать.

Загрузка исходных текстов

Код PHP и SQLite загружаем с официальных сайтов проектов.

И распаковываем в специально подготовленный рабочий каталог

mkdir -v ~/src

Подготовка каталога для установки

Потому как установленные из исходников библиотеки и программы сложно отслеживать, то устанавливать всё будем в каталоги отличные от принятых в системе.
Создадим в домашней папке пользователя каталог local. Он и будет корнем для всех установок.

mkdir ~/local

Дополнительная от такого подходя польза заключается в том, что все эти операции вам нет необходимости выполнять от имени суперпользователя. Всё происходит в пределах вашего домашнего каталога.

Установка SQLite

переходим в каталог с распакованными исходниками и готовим их. Процедура достаточно простая и известная.

cd ~/src/sqlite-autoconf-3071502
./configure --prefix=$HOME/local

Возможно команда завершится с ошибкой, тогда потребуется установить дополнительные библиотеки. Используйте механизм вашего дистрибутива. В Ubuntu это может быть synaptic или aptitude. Пакеты нужно устанавливать с суффиксом -dev. Они содержат заголовочные файлы библиотек и нужны только для компиляции исходных кодов.

Компилируем и устанавливаем SQLite

make
make install

Установка PHP 5.4

Создадим необходимые каталоги

mkdir -pv ~/local/etc/php5/conf.d

Подготовим исходники

cd ~/src/php-5.4.10
./configure --prefix=$HOME/local --with-pdo-sqlite=$HOME/local --with-sqlite3=$HOME/local --with-config-file-path=$HOME/local/etc/php5 --with-config-file-scan-dir=$HOME/local/etc/php5/conf.d

В опциях мы указали префикс для установки, путь, по которому нужно искать заголовочные файлы для сборки модулей SQLite и PDO-SQLite, путь где должен располагаться php.ini и каталог, который нужно сканировать на предмет дополнительных файлов конфигурации.

Компилируем и устанавливаем PHP

make
make install

Скопируем файл настроек

cp ~/src/php-5.4.10/php.ini-development ~/local/etc/php5/php.ini

Добавим путь к бинарным файлам в домашнем каталоге пользователя в переменную окружения.

export PATH=$HOME/local/bin:$HOME/local/sbin:$PATH

Посмотрим, что получилось:

user@laptop:~/src/php-5.4.10$ php -v
PHP 5.4.10 (cli) (built: Jan 23 2013 16:49:51)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies

Запустился только что собранный интерпретатор.

Проверим версию SQLite:

php -i | most

Увидим что-то подобное:
phpinfo()

Настройка временной зоны

Не забудьте в php.ini в секции [Date] указать:

date.timezone = Europe/Moscow

Тестирование

Можете начать тестировать ваш код используя встроенный в PHP веб-сервер.
Подробнее смотрите другой статье