Поиск:

Поиск по:

Результаты поиска по запросу «»
Найдено совпадений
По вашему запросу ничего не найдено
.
Показать еще

Установка php 5.2 на VDS с Debian Wheezy

В данной статье рассмотрено создание альтернативной версии PHP для определенного сайта на Облачном VDS.

Предлагаемые нами Облачные VDS поставляются с образами на базе современных ОС Debian и Ubuntu. Это так же означает, что в состав этих VDS входит php версии 5.4. Как быть, если требуется php версии 5.2, ведь между 5.2 и 5.4 есть ряд несовместимостей и старые сайты на новой версии php могут не работать?

Кроме того, на тарифах хостинга мы предлагаем возможность разные сайты запускать на разных версиях php. Возможно ли сделать что-то подобное на Облачных VDS?

Да! Это возможно и в этом нет ничего сложного. Давайте разберемся как установить php 5.2 на VDS с Debian Wheezy на базе образа Nginx + Apache2 + PHP 5.4 (FastCGI) + MariaDB 5.5 + phpMyAdmin + sftp.

Прописываем дополнительные репозитории

Php версии 5.2 мы предлагаем брать из сборок, выполняемых нашими специалистами для серверов хостинга. Обратите внимание, что мы делаем сборки только для 64 битных систем, поэтому при создании VDS вам нужно правильно выбрать разрядность ОС.

Открываем в вашем любимом текстовом редакторе файл /etc/apt/sources.list в режиме суперпользователя:

$ sudo mcedit /etc/apt/sources.list

И дописываем в конец этого файла строки:

deb http://noc.netangels.ru/debian unstable main
deb http://noc.netangels.ru/debian wheezy main

Теперь обновим список пакетов, известных системе:

$ sudo apt-get update

Устанавливаем php 5.2

Список доступных пакетов, входящих в состав php 5.2 можно посмотреть по команде:

$ apt-cache search php5.2
php5.2.17 - server-side, HTML-embedded scripting language
php5.2.17-apc - Alternative PHP Cache
php5.2.17-eaccelerator - eAccelerator module for PHP
php5.2.17-ffmpeg - ffmpeg-php module for PHP
php5.2.17-geoip - Map IP address to geographic places
php5.2.17-imagick - Imagick module for PHP
php5.2.17-memcache - memcache module for PHP
php5.2.17-timezonedb - Alternative PHP Cache
php5.2.17-xcache - Fast, stable PHP opcode cacher
php5.2.17-xdebug - The Xdebug extension helps you debugging your script

В минимальном варианте нам нужен только пакет php5.2.17. Установим его:

$ sudo apt-get install php5.2.17

Готово. Теперь cgi-вариант php 5.2 доступен по команде /usr/bin/php-cgi5.2.17, а cli-вариант по команде /usr/bin/php5.2.17

Создаем wrapper для php 5.2

Чтобы использовать php 5.2 на каком-либо из ваших сайтов, необходимо создать для него отдельный wrapper. Wrapper для запуска основного php (5.4) находится в файле /var/www/web/cgi-bin/php. Новый wrapper для 5.2 мы разместим рядом:

$ touch /var/www/web/cgi-bin/php5.2
$ chmod +x /var/www/web/cgi-bin/php5.2

Теперь откроем этот файл в текстовом редакторе:

$ mcedit /var/www/web/cgi-bin/php5.2

И запишем в него следующее содержимое:

#!/bin/sh
export PHPRC="/var/www/web/etc/php.ini"
exec /usr/bin/php-cgi5.2.17 -- "$@"

Если вы обратили внимание на вторую строку, в ней мы задаем путь к файлу php.ini для нашего php 5.2. Давайте теперь создадим этот php.ini:

$ mkdir /var/www/web/etc
$ mcedit /var/www/web/etc/php.ini

Мы предлагаем внести в него следующие строки:

[PHP]
memory_limit = 64M
upload_max_filesize = 32M
post_max_size = 32M
max_execution_time = 180
session.save_path = "/tmp"
error_log = "/var/www/web/php-error.log"
realpath_cache_size = 4096K
magic_quotes_gpc = Off
cgi.fix_pathinfo = yes
auto_prepend_file = "/etc/php5/fix_docroot.php"
date.timezone = "UTC"
allow_url_fopen = On
extension_dir = "/usr/lib/php5.2.17/"
extension=pdo.so
extension=curl.so
extension=gd.so
extension=mcrypt.so
extension=mysqli.so
extension=mysql.so
extension=pdo_mysql.so

Разумеется, вы можете их поправить по вашему вкусу. Обратите внимание на строки с error_log, extension_dir, auto_prepend_file и cgi.fix_pathinfo. Мы не рекомендуем их менять. А так же на строку date.timezone, где необходимо прописать требуемую вам временную зону, в которой будет работать ваш сайт.

Подключаем php 5.2 к вашему сайту

Php 5.2 можно подключить как ко всем сайтам одновременно, так и к какому-то отдельному сайту, либо даже к папке внутри сайта. Делается это посредством прописывания директивы Action в файле .htaccess.

Например, у вас есть сайт mysite.ru. Он размещается в папке /var/www/web/sites/mysite.ru, как рекомендуется в Инструкции, и вы хотите, чтобы этот сайт работал на php 5.2. В этом случае в папке /var/www/web/sites/mysite.ru вам необходимо отредактировать файл .htaccess и прописать в него следующую строку:

Action application/x-httpd-php "/cgi-wrapper/php5.2"

Здесь название wrapper'а php5.2 - это название файла /var/www/web/cgi-bin/php5.2, который мы с вами создали ранее. Если вы хотите установить еще какую-то версию php, например 5.3 или 5.5, вам необходимо проделать все те же самые действия, только разместив wrapper для запуска другой версии php в другом файле внутри папки /var/www/web/cgi-bin, а файл настроек php.ini в другом файле в папке /var/www/web/etc в другом файле в папке /var/www/web/etc.

Регистрация доменов

в зонах .RU .РФ

от 200 рублей Зарегистрировать домен

SSL сертификаты

Подтверждение сайта и надежная защита

передаваемых данных

Купить сертификат

Облачные VDS

дешевле чашки кофе

Процессорных ядер: 4, Память: 4 Гб, Диск: 20 Гб SSD, Резервное копирование

от 35 р/день Заказать VDS

Все, что нужно от хостинга

Простое решение для вашего сайта

Подробнее

Хранилище данных

Храни что хочешь по смешным ценам

Почасовая оплата за размещенные данные.

Заказать хранилище