2016-10-15 3 views
1

질문 자체에 대해 무시할 수있는 Remi Repositories의 PHP 버전 모음을 설치했지만 시도한 처리를 이해하기 위해 보관했습니다.htaccess에서 여러 PHP 버전에 대해 Apache를 구성하는 방법

그들은 명령 줄에서 잘 작동하지만, 나는 아파치 2를 사용하고 싶습니다 (아파치 페도라 24)에서와 같이 여러 개의 가상 호스트를 실행 : 나는 가상 호스트의 conf 파일을 만든

php54.test 
php55.test 
php56.test 
php70.test 
php71.test 

그리고 각각은 잘 작동합니다.

각각의 해당 PHP 버전 (이에 따라 서버 이름은 암시 적)을 실행하고 싶지만 각 가상 호스트에서 PHP를로드하는 방법을 찾을 수 없습니다. 나는 모듈로로드에 해당하는 레미 libphpX.so를 찾을 수 없습니다 :

<VirtualHost *:80> 
    ServerName php54.test 
    DocumentRoot /var/www/php54 

    #SOMETHING LIKE THIS... 
    LoadModule php??_module  modules/libphp??.so 

</VirtualHost> 

내가 가진, 그리고이없는 뉴스, 나를 htaccess로에서 PHP 버전을 변경하고, 내가 할 수있는 할 수있는 공유 호스팅

AddHandler application/x-httpd-php54 .php 
AddHandler application/x-httpd-php55 .php 
AddHandler application/x-httpd-php56 .php 
AddHandler application/x-httpd-php7 .php 
AddHandler application/x-httpd-php71 .php 

내가 지금 더미 보일 수도 있지만, 어떻게 가능한 여러 PHP 버전있는을위한 전환 같은 htaccess로 작업을 수행 할 수 있습니다 이런 일을합니까?

아마도 가장 일치하는 답변을 찾기 위해 Google에서 검색하는 방법과 방법을 알지 못합니다.

답변

4

여러 버전의 mod_php를 사용할 수 없습니다.

더 나은 해결책은있는 fcgi 서버에 SetHandler를 가상 호스트를 각각 사용하여, PHP-FPM합니다 (FastCGI 프로세스 관리자)를 사용하는 것입니다 :

SetHandler "proxy:fcgi://127.0.0.1:9070" 

또는 (사용하는 유닉스 도메인 소켓을)

SetHandler "proxy:unix:/var/opt/remi/php70/run/php-fpm/www.sock|fcgi://localhost" 

이에 대해서는 My PHP workstation에 설명되어 있습니다.

+0

그의 기사에서 @Remi Collet이 제시 한 해결책은 매력처럼 작동합니다! –