Назад | Перейти на главную страницу

Изменение имени обработчика Php

На моем сервере apache я хотел бы запускать несколько версий PHP одновременно, чтобы я мог легко переключаться между ними в зависимости от потребностей проекта. Я заметил, что некоторые поставщики виртуального хостинга, которые предлагают несколько версий PHP, требуют, чтобы вы указали версию PHP, которая вам нужна, в вашем .htaccess:

AddHandler application/x-httpd-php5 .php

Я хотел бы реализовать что-то подобное на своем сервере, чтобы я мог легко переключать версии PHP:

AddHandler application/xhttpd-php53 .php
 # .. or ..
AddHandler application/xhttpd-php54 .php
 # .. or ..
AddHandler application/xhttpd-php55 .php

Однако все версии PHP, которые я скомпилировали, имеют обработчик с именем application/xhttpd-php или php5-script. Я пытался найти ./configure флаг, который позволяет вам изменить эти имена обработчиков, но ничего не появилось.

Я искал Репозиторий PHP на github для этих два струны и вот что я нашел:

Будет ли безопасно заменить эти строки новым именем обработчика и номером версии, или существует более широко используемый (или фактически задокументированный) способ изменения имени обработчика?

Вы можете использовать одну из версий php как модуль, а другие версии как cgi. Если вам нужно использовать определенную версию php в каком-то конкретном проекте (vhost), вы можете использовать что-то вроде

<VirtualHost *:80>
    ServerAdmin webmaster@example.net
    DocumentRoot /vhosts/php55.example.net/
    ServerName php55.example.net

    ScriptAlias /php-fastcgi/ /usr/local/php-5.5.1/bin/

    AddHandler php-fastcgi .php
    AddType application/x-httpd-php .php
    Action php-fastcgi /php-fastcgi/php-cgi

    <Directory /vhosts/php55.example.net>
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@example.net
    DocumentRoot /vhosts/php54.example.net/
    ServerName php54.example.net

    ScriptAlias /php-fastcgi/ /usr/local/php-5.4.17/bin/

    AddHandler php-fastcgi .php
    AddType application/x-httpd-php .php
    Action php-fastcgi /php-fastcgi/php-cgi

    <Directory /vhosts/php54.example.net>
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>