2011-03-03 2 views
3

나는 아파치와 php5.2이 값을 httpd.conf에서 모듈로 설치 :다른 "을 LoadModule php5_module"명령

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

또한 나는 C에서 php5.3이 :/php53 폴더에 있습니다.

가상 호스트마다 다른 모듈을 사용할 수 있습니까?

지금은 LoadModule 및 PHPIniDir 명령어를 변경하고 아파치를 다시 시작해야합니다.

+2

필요한 모든 모듈을로드하고 다른 핸들러에 할당하고 .php를 각 가상 호스트에서 원하는 PHP 버전과 관련된 핸들러로 구문 분석하도록 설정하십시오. 하나의 Apache 프로세스가 모든 호스트에 대한 요청을 처리하기 때문에 선택적으로 다른 모듈을로드 할 수 없습니다. –

+0

안녕하세요 댄, 제안한 구성에 대한 몇 가지 예를 들어 주시겠습니까? –

답변

1

저는 아파치에 두 버전의 PHP를 동시에로드 할 수 없다고 확신합니다. 그러나 mod_fcgid를 사용하여 두 가지 버전의 PHP를 실행할 수 있습니다.

저는 지금 Windows 컴퓨터가 없으므로 작동하지 않습니다. 어쨌든 여기에서 Windows에서 FastCGI 및 PHP를 설치하는 방법을 발견했습니다. http://fuzzytolerance.info/blog/apache-mod_fcgid-and-php-on-windows/

다른 버전을 실행하려면 한 가지 예외가 있습니다. 대신

그것은이 같은

보일 것 글로벌 섹션에 있지만 각 가상 호스트 섹션에 FCGI 물건을 추가하지 않아야

<VirtualHost *:80> 
    ServerName site1 
    ServerAdmin [email protected] 
    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> 

그런 다음 php.ini 파일이있는 디렉토리 있도록 FcgidInitialEnv PHPRC을 설정하고 FcgidWrapper를 PHP 버전의 php-cgi.exe 파일에 추가합니다.

PHP를 실행하려는 모든 VirtualHost에 대해이 단계를 반복해야합니다. 그러나 각 호스트마다 PHPRC 경로와 실행 파일을 사용자 정의 할 수 있으므로 다른 버전을 실행하고 다른 구성을 사용할 수 있습니다.

+0

나는 문제가 나오면 다음 지침을 따랐습니다 : 은'FcgidInitialEnv'는''에서 허용되지 않습니다. 나는 솔루션에 대한 Google 검색, 나는''밖으로'FcgidInitialEnv' 지시어를 이동하는 제안을 찾을 때. 그러나, 그렇게 할 때, 나는 여전히 PHP의 이전 버전을 실행하게됩니다. 생각 하시겠습니까? – PeteK68

관련 문제