Предлагаю компилировать из исходников версии 5.3.29 интерпретатор PHP, в Ubuntu 14.04.
Подготовка
1
2
3
| apt-get update
apt-get install build-essential openssl libssl-dev openssl-blacklist openssl-blacklist-extra bison autoconf automake libtool re2c flex apache-prefork-dev
apt-get install libxml2-dev libssl-dev libbz2-dev libcurl3-dev libdb5.1-dev libjpeg-dev libpng-dev libXpm-dev libfreetype6-dev libt1-dev libgmp3-dev libc-client-dev libldap2-dev libmcrypt-dev libmhash-dev freetds-dev libz-dev libmysqlclient15-dev ncurses-dev libpcre3-dev unixODBC-dev libsqlite-dev libaspell-dev libreadline6-dev librecode-dev libsnmp-dev libtidy-dev libxslt-dev libt1-dev
|
Вычистим наш текущий php, в любом случае если что-то не получится мы без проблем сможем его установить заново.
Итак удаляем текущую версию PHP:
1
2
3
| apt-get remove php5-gd php5-curl php5-common
apt-get remove --purge php5*
apt-get autoremove
|
После чего пошагово выполняем следующие команды в терминале:
1
2
3
4
5
6
7
| sudo -i
wget http://in1.php.net/distributions/php-5.3.29.tar.bz2
tar -xvf php-5.3.29.tar.bz2
cd php-5.3.29
./configure
make
make install
|
Вместо строки ./configure
удобнее сделать следующее:
#vim php53.sh
Вставим в него строки:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| ./configure --with-config-file-path=/etc/php5/apache2 \
-with-pear=/usr/share/php \
-with-bz2=/usr \
-with-curl=/usr \
-with-gd \
-enable-calendar \
-enable-mbstring \
-enable-bcmath \
-enable-sockets \
-enable-zip \
-with-libxml-dir=/usr \
-with-mysqli \
-with-mysql \
-with-openssl\
-with-regex=php \
-with-zlib \
-with-apxs2
|
Сохраним и выполним
#sh php53.sh
а после этого снова
Данный вариант сборки расчитан на работу модулем apache2. Иначе требуются другие параметры при сборке. Не забудьте добавить в конфиг apache2 строку
AddType application/x-httpd-php .php
и активировать модуль командой
# a2enmod php5
Этот вариант замены можно применить для любой версии php. Не забывайте что если установить php из репозитория, то все ваши труды будут потеряны. Если нужно несколько версий php, то проще собирать с опцией prefix, в которой указать путь размещения. Если у Вас возникнут какие-нибудь проблемы, задавайте вопросы в комментариях, будем разбираться.