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

Запуск одиночного Apache Vhost на PHP 5.3 с использованием CGI, другие сайты используют PHP 5.2 в модуле Apache

Я пытался настроить свой сервер разработки для обслуживания одного из моих виртуальных хостов Apache через CGI с использованием PHP 5.3.14.

Я настроил сервер Apache - Apache 2.2.3 с PHP 5.2.10, работающим как модуль Apache. CentOS 5.5 - это ОС. На одном из сайтов используются функции, доступные только в PHP 5.3, а у меня есть сайты, которым нужна версия 5.2, поэтому я хотел бы запустить только сайт, для которого требуется PHP 5.3, поверх CGI.

Я следил за парой руководств до точки, где у меня установлен Apache / PHP 5.2 и работает как модуль. Я также успешно загрузил и скомпилировал PHP 5.3.14 до такой степени, что у меня есть исполняемый файл php-5.3.14 / sapi / cgi / php-cgi, созданный и готовый к работе. Если я запускаю его со сценарием, он работает правильно. Однако после добавления того, что я считаю правильными директивами для VirtualHost, сайт по-прежнему не использует PHP 5.3, он продолжает работать, используя PHP 5.2 (версия, настроенная как модуль Apache).

Вот моя конфигурация Vhost:

<VirtualHost *:80>
 ServerName utfl.peapoddev.com
 ServerAlias elegal.utfl.peapoddev.com subsite.utfl.peapoddev.com library.utfl.peapoddev.com
 DocumentRoot /var/www/utfl/drupal
 DirectoryIndex index.html index.php

 SetEnv PHPRC /var/www/cgi-bin/php_5_3_14/
 ScriptAlias /php-5-3-14/ /var/www/cgi-bin/php_5_3_14/
 Action application/x-httpd-php-5-3-14 /php-5-3-14/php-cgi
 AddType application/x-httpd-php-5-3-14 .php .inc
 <Directory "/var/www/cgi-bin/php_5_3_14">
   <Files "php-cgi">
     Allow from all
   </Files>
 </Directory>

 <Directory "/var/www/utfl/drupal">
   Options Indexes Includes FollowSymLinks
   AllowOverride None
   Order allow,deny
   Allow from all
   AllowOverride All
 </Directory>

 LogLevel Debug
 ErrorLog /var/www/utfl/logs/error_log
 CustomLog /var/www/utfl/logs/access_log combined

Дайте мне знать, если вам понадобится дополнительная информация. Что я делаю не так?

Я использовал следующую конфигурацию на CentOS-5.9

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

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

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

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

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

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

php-5.3 был настроен со следующими параметрами

# # ./configure --prefix=/usr/local/php-5.3.26/ --enable-force-cgi-redirect --enable-pcntl --with-imap=shared --with-imap-ssl --enable-mbstring=shared --enable-mbregex --with-gd=shared --enable-bcmath=shared --enable-dba=shared --with-db4=/usr --with-xmlrpc=shared --with-ldap=shared --with-ldap-sasl --with-mysql=shared,/usr --with-mysqli=shared --enable-dom=shared --with-pgsql=shared --enable-wddx=shared --with-snmp=shared,/usr --enable-soap=shared --with-xsl=shared,/usr --enable-xmlreader=shared --enable-xmlwriter=shared --with-curl=shared,/usr --enable-fastcgi --enable-pdo=shared --with-pdo-odbc=shared,unixODBC,/usr --with-pdo-mysql=shared --with-pdo-pgsql=shared,/usr --with-pdo-sqlite=shared,/usr --with-pdo-dblib=shared,/usr --enable-json=shared --enable-zip=shared --without-readline --with-libedit --with-pspell=shared --enable-phar=shared --with-mcrypt=shared,/usr --with-tidy=shared,/usr --with-mssql=shared,/usr --enable-sysvmsg=shared --enable-sysvshm=shared --enable-sysvsem=shared --enable-posix=shared --with-unixODBC=shared,/usr --enable-fileinfo=shared --enable-intl=shared --with-icu-dir=/usr --with-enchant=shared,/usr --with-libdir=lib64 --with-kerberos --with-sqlite=shared