Как использовать 2 версии PHP на выделенном сервере/VDS
Система портов FreeBSD позволяет установить только одну версию PHP. Точка. Все остальное - поделки самоделкина. Мы категорически не
рекомендуем пытаться настроить еще одну версию PHP. Данная инструкция - на крайний случай.
Внимание! Мы не гарантируем оказание технической поддержки по отдельно собранным версиям PHP (даже платной, и даже если это мы
собирали). А также не несем ответственности за любые конфликты в работе ПО при использовании двух версий PHP.
Пример: в системе установлен PHP 5.3. Мы хотим для какого-то пользователя использовать PHP 5.2. Чтобы минимизировать конфликты, мы будем компилировать
php от имени этого пользователя и устанавливать бинарники в его же домашнюю директорию. Если мы все сделаем правильно, то не навредим системе, и в
случае возникновения проблем достаточно будет удалить этого пользователя.
1. Создаем в ISPmanager пользователя. Например pupkin. Также создаем сайт внутри пользователя pupkin, например pupkin.ru, причем в качестве режима
работы PHP выбираем "PHP как CGI".
2. Заходим в ssh под именем pupkin. Можно войти под root-ом, а затем выполнить:
# su -m pupkin
# whoami
Результатом второй команды должен быть "pupkin", не "root"!
3. Создаем директории /home/pupkin/data/build и /home/pupkin/data/php52
# mkdir /home/pupkin/data/build /home/pupkin/data/php52
4. Заходим в папку build
# cd /home/pupkin/data/build
5. Скачиваем php 5.2. Рекомендуется взять отсюда:
http://tim.ruweb.net/svalka/php/php-5.2.17-patched.tgz
это последняя версия PHP 5.2 с наложенными патчами безопасности и с mailheader-патчем.
# wget http://tim.ruweb.net/svalka/php/php-5.2.17-patched.tgz
6. Распаковываем архив и входим в него:
# tar -xf php-5.2.17-patched.tgz
# cd php-5.2.17-patched
7. Компилируем PHP (с некоторым наобором частоиспользуемых расширений):
# ./configure --prefix=/home/pupkin/data/php52 --enable-fastcgi --with-openssl --with-zlib --with-bz2 --with-gd --with-gettext --with-mhash
--enable-mbstring --with-mcrypt --with-mysql=/usr/local --with-mysqli=/usr/local/bin/mysql_config --with-pdo_mysql=/usr/local --with-curl=/usr/local
--with-jpeg-dir=/usr/local
# make
# make install
В результате в /home/pupkin/data/php52 должны появиться каталоги и файлы. В частности должен быть /home/pupkin/data/php52/bin/php-cgi
8. Отредактируем файл /home/pupkin/data/php-bin/php
Он должен принять следующий вид:
----------------
#!/home/pupkin/data/php52/bin/php-cgi
----------------
9. Проверяем работу сайта pupkin.ru. Он должен заработать на PHP 5.2. А также все сайты, созданные внутри пользователя pupkin с режимом работы "PHP
как CGI" будут работать на PHP 5.2.
[Отредактировано 12.11.2015 кто timru]
|