Установка php 5.2 на CentOS 6
Только никому не говорите, что я это вам рассказал.
До сих пор остались сайты, которым для работы требуется php 5.2.x, на CloudLinux эту проблему решили централизовано и там для пользователя можно активировать с php 6.x до php 4.x парой команд или кликов (если панель управления сервером умеет работать с этим).
В ISPmanager такой возможности нет. Поэтому придется все сделать руками, оставив предустановленный php. php52 будет работать в режиме php как модуль cgi.
Тестировалось на шаблоне CentOS-6-amd64-ispmgr5.
1. Установить пакеты, которые понадобятся при сборке php
yum install -y gcc libxml2-devel openssl-devel libcurl-devel libpng-devel libmcrypt-devel libmhash-devel mysql-devel libtidy-devel libxslt-devel libtool-ltdl-devel
2. Создать симлинки для библиотек
ln -s /usr/lib64/libjpeg.so /usr/lib/ ln -s /usr/lib64/libpng.so /usr/lib/ ln -s /usr/lib64/mysql/ /usr/lib/
3. Скачать и распаковать архив исходных кодов php5.2
wget http://museum.php.net/php5/php-5.2.17.tar.gz && tar -xzf php-5.2.17.tar.gz -C /tmp
5. Приступить к сборке
cd /tmp/php-5.2.17 ./configure – prefix=/opt/php52 – enable-force-cgi-redirect – disable-debug – enable-libxml – with-libxml-dir=/usr/local – enable-reflection – enable-spl – enable-zend-multibyte – with-regex=system – with-tidy – enable-zip – enable-bcmath – enable-calendar – with-curl=shared – enable-dba – enable-exif – enable-ftp – with-gd – enable-gd-native-ttf – with-jpeg-dir=/usr – with-png-dir=/usr – with-zlib-dir=/usr – with-gettext=shared – enable-mbstring – with-mcrypt=/usr/include – with-mhash=shared – with-mysql – with-libdir=lib – with-mysqli – with-openssl – with-pdo-mysql – enable-sockets – with-xsl – with-zlib – enable-pcntl – enable-soap – with-iconv – enable-exif – enable-ftp – with-curl – enable-magic-quotes make make install
После выполнения команды make install, php52 будет установлен в директорию /opt.
Далее произведем действия для включения php52 для нужного сайта на примере ISPmanager5
6. Включить php как cgi
ISPmanager -> Домены -> WWW-домены -> изменить -> PHP
Обратите внимание, что пользователю-владельцу домена должно быть разрешено использование php как cgi
7. Заменить содержимое файла /var/www/<user>/data/php-bin/php на
#!/opt/php52/bin/php-cgi
8. В .htaccess, находящийся в корневой директории сайта, которому требуется использование php52 вносим две строки
Action php52-cgi /php-bin/php52 AddHandler php52-cgi .php
не компилится php5.2 по иснтрукции, нужно патчить исходники теперь (патч: https://mail.gnome.org/archives/xml/2012-August/txtbgxGXAvz4N.txt, php5.2.17# patch -p0 < ./$file_with_patch)
мне страшно подумать, кому в 2020 может понадобиться php5.2 😉
эт понятно, чисто академический интерес был =)