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

php4 и php5 вместе, одно и то же расширение, ограничить 4 папки

Могу ли я установить php 4 и 5 на одном сервере, сохранив одинаковое расширение «.php» для обоих и сделав так, чтобы только определенная папка (+ подпапки) на сервере работала под php4?

У меня CentOS 5.5 x64 с whm / cpanel, поэтому я могу установить оба с EasyApache, эта часть не является проблемой.

Причина, по которой я хочу, чтобы старый сценарий работал; он закодирован с помощью Zend, и обновление до php 5.3.x нарушает его, он будет работать только на 5.2 (или 4.x), так как его нужно перекодировать, если я запускаю его на 5.3 (не вариант). Его декодирование тоже не сработало, поэтому я думаю, что подход php4 / 5 был бы рабочим решением, если бы я мог ограничить 4 папки и не менять расширения (очевидно, что сценарий не сработает с ".php4" из-за жестко заданные пути и имена файлов).

мой текущий php.conf, обрабатываемый SuPHP

# SuPHP configuration for PHP5
LoadModule suphp_module modules/mod_suphp.so
suPHP_Engine on
AddType application/x-httpd-php5 .php5 .php .php3 .php2 .phtml
<Directory />
    suPHP_AddHandler application/x-httpd-php5
</Directory>

# SuPHP configuration for PHP4
AddType application/x-httpd-php4 .php4
<Directory />
    suPHP_AddHandler application/x-httpd-php4
</Directory>

Согласно Документация Apache, AddHandler / AddType можно использовать в контексте каталога, что означает, что вы должны иметь возможность просто делать что-то вроде следующего в конфигурации Apache:

LoadModule php5_module modules/libphp5.so
LoadModule php4_module modules/libphp4.so

AddHandler php5-script .php
AddType    text/html .php

<Directory /home/somedir>
     AddHandler x-httpd-php4 .php
</Directory>

Обратите внимание, что в зависимости от вашей установки у вас могут быть немного разные строки настройки для php4 / 5 (проверьте существующую конфигурацию). Если у вас уже есть установка php4 и 5, вам просто понадобится запись.