Другая инструкция «LoadModule php5_module» для виртуальных хостов apache - PullRequest
3 голосов
/ 03 марта 2011

У меня apache2 и php5.2 установлены как модуль в httpd.conf:

LoadModule php5_module "c:/php/php5apache2_2.dll"
PHPIniDir "C:/php/"

Также у меня есть php5.3 в папке C: / php53.

Можно ли использовать разные модули для разных виртуальных хостов?

Пока что мне нужно изменить инструкции LoadModule и PHPIniDir и перезапустить apache.

1 Ответ

1 голос
/ 22 марта 2013

Я почти уверен, что вы не можете загрузить две версии PHP в apache одновременно. Однако можно запустить две разные версии PHP, используя вместо этого mod_fcgid.

У меня сейчас нет машины с Windows, поэтому я не могу убедиться, что это работает. Во всяком случае я нашел некоторые инструкции, как настроить FastCGI и PHP на окнах отсюда http://fuzzytolerance.info/blog/apache-mod_fcgid-and-php-on-windows/

Существует одно исключение, если вы хотите запустить другую версию. Вы не должны добавлять материал FCGI в глобальный раздел, а вместо этого в каждый раздел VirtualHost

Это должно выглядеть примерно так:

<VirtualHost *:80>
  ServerName site1
  ServerAdmin admin@site1
  DocumentRoot "c:/www/site1"

  <Directory "c:/www/site1/web">
    Options +ExecCGI
    AllowOverride All

    ## FastCGI stuff
    AddHandler fcgid-script .php
    FcgidInitialEnv PHPRC "c:/php52"
    FcgidWrapper "c:/php52/php-cgi.exe" .php
    AddType application/x-httpd-php .php

    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>

Затем установите FcgidInitialEnv PHPRC так, чтобы каталог, в котором находится php.ini, и FcgidWrapper для файла php-cgi.exe для этой версии PHP.

Вы должны повторить этот шаг для всех виртуальных хостов, для которых вы хотите запустить PHP. Но теперь вы можете настроить путь и исполняемый файл PHPRC для каждого хоста, чтобы можно было запускать разные версии и использовать разные конфигурации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...