Сложилось так, что все мои сайты находятся на хостинге ru-center. К сожалению, максимальная версия сборки php у этого хостинг-провадера — 5.2.10, но одному из моих новых проектов понадобилась версия не ниже 5.3.2. Менять из-за этого хостера я не стал, тем более, что ru-center дает возможным собрать собственную сборку php.
Возможнасть устанавливать собственные сборки есть на всех тарифах, поддерживающих SSH, иными словами, на двух из трех (http://www.nic.ru/dns/service/hosting/all_trf.shtml).
Итак, приступим.
Нам понадобится:
- Клиент SSH PuTTY с офциального сайта: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
- Ссылка на дистрибутив PHP: http://ru2.php.net/get/php-5.3.10.tar.gz/from/this/mirror
Подключаемся к виртуальному серверу по SSH при помощи PuTTY. Сложного в этом ничего нет, подробности можно почитать здесь: http://hosting.nic.ru/support/ssh/index.shtml и http://hosting.nic.ru/support/ssh/secureshell.shtml.
На всякий случай проверим, что находимся в нужном месте командой:
|
1 |
pwd |
В ответ должны получить следующее:
/home/[идентификатор хостинга]
Скачиваем исходники командой:
|
1 |
wget http://ru2.php.net/get/php-5.3.10.tar.gz/from/this/mirror |
Распаковываем архив:
|
1 |
tar vxzf php-5.3.10.tar.gz |
Переходим в распакованную папку:
|
1 |
cd php-5.3.10 |
Читаем помощь по конфигурированию:
|
1 |
./configure --help |
Конфигурируем с указанием необходимых расширений модуля php. У меня получилась вот какая командная строка:
|
1 |
./configure --prefix=/home/[идентификатор хостинга]/php-5.3.10/ --with-zlib --enable-calendar --with-curl --enable-exif --with-gd --with-t1lib --with-mhash --enable-mbstring --with-mcrypt --with-mysql --enable-sockets --enable-zip --disable-fileinfo |
Компилируем сборку:
|
1 |
make |
Идем в панель управления хостингом, останавливаем веб-сервер и переводим его в ручной режим.
Теперь необходимо внести в файл конфигурации сервера следующие изменения, для этого при помощи любого FTP-клиента заходим в каталог:
/home/[идентификатор хостинга]/etc
Редактируем файл httpd.conf.manual. Комментируем строку со стандартным LoadModule php5_module. Добавляем следующие строки:
|
1 |
LoadModule php5_module /home/[идентификатор хостинга]/php-5.3.10/libs/libphp5.so |
|
1 |
PHPInidir "/home/[идентификатор хостинга]/php-5.3.10" |
Копируем файл php5.ini из /home/[идентификатор хостинга]/etc в /home/[идентификатор хостинга]/php-5.3.10 и переименовываем его в php.ini.
Запускаем веб-сервер.
Ссылки и HTML-разметка в комментариях не поддерживаются.