Поддержка

Увеличение места для почты на всех тарифах хостинга
10 Янв 2012

С 11 января на всех тарифах хостинга увеличивается доступное место для хранения почты в 5 раз!

С наступающим Новым Годом!
29 Дек 2011

Поздравляем с наступающим Новым годом! График работы компании в новогодние праздники.

Все новости
RSS RSS

Екатеринбург:

253-55-00

Для регионов России:

8-800-2000-699

Проверить домен:

пример: netangels.ru или 91.201.52.1
Главная > Тех.поддержка > Программирование PHP, Perl, Python, Parser, MySQL и т.д. > Запуск нескольких версий PHP на одном аккаунте хостинга

Индивидуальные настройки PHP для сайтов

Довольно часто могут возникать ситуации, когда необходимо, чтобы PHP-файлы в определенном каталоге обрабатывались интерпретатором PHP с отличной от основной версией. Например, это может потребоваться для тестирования новой версии сайта или в том случае, если на одном аккаунте размещается несколько сайтов, требующих различных настроек PHP. 

Данная статья описывает способ настройки произвольного количества независимых версий PHP для работы в рамках одного аккаунта. Суть метода заключается в использовании собственного CGI-обработчика (враппера). Фактически, будет создан CGI-скрипт, единственной задачей которого будет правильная настройка переменных окружения и запуск интерпретатора PHP нужной версии. Затем при помощи единственной директивы в файле .htaccess веб-сервер будет проинструктирован о том, что все файлы с расширением .php внутри определенного каталога должны обрабатываться этим CGI-скриптом.

Рассмотрим на примере вариант решение данной задачи: пусть требуется для сайта site1.ru настроить обработку скриптов средствами PHP 5.2.11, в то время, как остальные сайты аккаунта продолжат работу с версией, указанной в панели управления хостингом.

  1. Авторизуйтесь на сервере хостинга, используя реквизиты доступа по SSH. Для установки соединения можно воспользоваться программой PUTTY и инструкциями из статьи SSH-доступ, авторизация по ключу, использование SFTP.

  2. Создайте файл с CGI-скриптом (собственным PHP интерпретатором):

    touch ~/site1.ru/cgi-bin/php5.2.11 && chmod 755 ~/site1.ru/cgi-bin/php5.2.11
    
  3. Созданный файл нужно заполнить следующим текстом:

    #!/bin/sh
    export PHPRC="/home/uXXXXX/site1.ru"
    exec /usr/bin/php-cgi5.2.11 $@
    

    здесь:

    • uXXXXX -- имя Вашего пользователя на сервере хостинга. В большинстве случаев, совпадает с логином
    • /usr/bin/php-cgi5.2.11 -- собственно PHP v5.2.11
    • PHPRC -- переменная окружения, указывающая PHP каталог с конфигурационным файлом php.ini

    Список установленных на сервере версий PHP можно посмотреть при помощи следующей команды:

    ls /usr/bin/php-cgi*
    
  4. Конфигурационный файл php.ini скопируем из каталога с настройками основной версии PHP:

    cp ~/etc/php/php.ini ~/site1.ru/
    
  5. В скопированном файле нам потребуется поправить значение параметра extension_dir - нужно текущее значение заменить на следующее:

    /usr/lib/php5.2.11
    

    здесь имя целевого каталога определяется исходя из номера выбранной версии. Например, для PHP 5.3.1 целевой каталог с расширениями будет иметь имя php5.3.1.

  6. Теперь необходимо сообщить веб-серверу Apache о том, что для обработки PHP-файлов у нас будет использоваться собственный враппер. Создадим файл .htaccess в каталоге с именем сайта site1.ru и запишем в него следующее указание:

    Action application/x-httpd-php "/cgi-bin/php5.2.11"
    
  7. Проверьте работоспособность выполненной конфигурации. Для этого создадим в каталоге ~/site1.ru/www/ файл phpinfo.php со следующим содержимым:

    <?php
    phpinfo();
    ?>
    
  8. Обратившись к созданному файлу через браузер, убедитесь в том, что Вы используете собственную конфигурацию PHP с версией 5.2.11. Это означает, что настройки выполнены правильно.


Теги:  cgi  php  ssh  хостинг 

Связанные статьи