Я запускаю Debian Linux с apache2 и libapache2-mod-php5 5.3.3-7.
У меня есть один VirtualHost, для которого требуется php4. Итак, я исследовал и скомпилировал php4-cgi.
Однако я не могу:
Это мое отображение php4-cgi (внутри одного vhost php4):
ScriptAlias /php4 /usr/local/php4/bin
<Directory /usr/local/php4/bin>
Options +ExecCGI +FollowSymLinks
</Directory>
<Directory /www/test>
AddHandler php4-cgi-script .php
Action php4-cgi-script /php4/php
Options +ExecCGI
</Directory>
Это не работает, mod-php5 по-прежнему запускает все файлы .php в этом каталоге vhost /. Если я изменю расширение файла в AddHandler выше с .php на .php4, тогда файлы .php4 будут запускать php4-cgi, как ожидалось, но я не могу изменить все файлы в приложении на .php4.
Я подумал, может быть, я могу отключить отображение mod-php5 в моем виртуальном хосте или каталоге, а затем выполнить мою cgi-config (как указано выше), но многие их комбинации в разных контекстах не работали:
RemoveHandler .php
RemoveType .php
php_flag engine off (this seems to even disable my php4-cgi so that wont work)
Единственное другое место, где я могу найти какое-либо отображение, - это /etc/mime.types, но комментирование соответствующих строк и перезапуск apache2 не влияет на отображение .php mod-php5.
Я искал столько, сколько мог, теперь это для меня загадка.
Любая помощь или направление будут очень благодарны.
Конфигурация mod_php по умолчанию для большинства дистрибутивов Linux будет в каталоге apache в conf.d / и / или mods-available / (например: /etc/apache2/conf.d/php5.conf или / etc / apache2 / mods -available / mod-php5), где обработчик определяется глобально для области серверов.
Вам нужно будет либо изменить свою конфигурацию, чтобы включить php5 / php4 для каждого виртуального хоста, либо определить другое расширение в глобальной области сервера, например .php4 для обработчиков php4, в зависимости от того, сколько у вас есть vhosts, это может или не может быть привлекательный.
Вы можете использовать ScriptAlias вместе с Action - я уже писал об этом здесь: http://tales.itnobody.com/2009/05/running-parallel-versions-of-php-part-2.html
Суть того, что у вас получится:
ScriptAlias /php5.3 /path/to/php/bin
Action application/php5.3 /php5.3/php-cgi