Сервер
У меня есть сервер разработки, который я использую для размещения своих текущих проектов. Вот некоторые характеристики:
root@myserver:/usr/bin $ cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.10
DISTRIB_CODENAME=maverick
DISTRIB_DESCRIPTION="Ubuntu 10.10"
root@myserver:/usr/bin $ apache2 -v
Server version: Apache/2.2.16 (Ubuntu)
Server built: Nov 18 2010 21:17:43
root@myserver:/usr/bin $ php --version
PHP 5.3.3-1ubuntu9.1 with Suhosin-Patch (cli) (built: Oct 15 2010 14:00:18)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
root@myserver:/usr/bin $ uname -r
2.6.35-22-server
Проблема
Я использую PHP 5.3.3, используя mod_php5
, и он отлично работает. Но мне нужно запустить PHP 5.2.11 только для одного VH на сервере, поэтому я использовал phpfarm для компиляции PHP 5.2.11. Я хочу настроить Apache для использования mod_php5 для всего на сервере, кроме этого VH. Я запусту PHP 5.2.11 для этого VH поверх FastCGI.
Мой тест
В качестве теста я использую сайт Apache по умолчанию на /var/www
. Я настроил следующие файлы каталогов, чтобы сообщать мне версии PHP:
- / вар / WWW / phpinfo.php
- / вар / WWW / PHP-5.2.11 / phpinfo.php
Моя цель - /var/www/phpinfo.php
показать мне версию 5.3.3 (mod_php5) и /var/www/php-5.2.11/phpinfo.php
показать мне 5.2.11 (CGI). Это еще не работает.
Я вставил следующий код /etc/apache2/httpd.conf
:
FastCgiServer /var/www/cgi-bin/php-cgi-5.2.11
ScriptAlias /cgi-bin-php/ /var/www/cgi-bin/
Я вставил следующий код в определение VH сайта по умолчанию:
<Directory /var/www/php-5.2.11/>
AddHandler php-cgi .php
Action php-cgi /cgi-bin-php/php-cgi-5.2.11
</Directory>
Результаты
С включенным mod_php5
:
- / var / www / phpinfo.php ---> 5.3.3 (
mod_php5
)
- / var / www / php-5.2.11 / phpinfo.php ---> 5.3.3 (
mod_php5
)
С mod_php5
отключено:
- / var / www / phpinfo.php ---> без обработчика; Firefox пытается загрузить файл PHP
- / var / www / php-5.2.11 / phpinfo.php ---> 5.2.11 (CGI)
Задействованные файлы
http://files.mattalexander.me/apacheconfig.tgz