Debian Stretch + Apache 2.4 + PHP 5.6 + PHP 7.0 및 가상 호스팅

Debian Stretch + Apache 2.4 + PHP 5.6 + PHP 7.0 및 가상 호스팅

저는 Apache 2.4가 설치된 작은 Debian 9 서버를 가지고 있습니다. PHP7.0이 필요한 집에 Nextcloud 서비스를 제공하려면 필요합니다. 그런 다음 상당히 오래된 서비스를 제공하도록 해야 합니다(http://www.refbase.net), PHP5.6이 필요합니다.

저는 Apache 전문가가 아닙니다. 제가 원하는 것은 이 두 가지 서비스를 가정 내에서 사용할 수 있도록 제공하는 것뿐입니다. 조금 읽은 후에 이것이 PHP5-FPM 및 PHP7.0-FPM 서비스를 사용하여 달성할 수 있다는 것을 이해한 것 같습니다. 나는 다음을 설치했습니다:

user@server:/$ sudo systemctl status php5-fpm
[sudo] password of user: 
● php5-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php5-fpm.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-11-05 22:08:08 GMT; 3 days ago

그런 다음:

user@server:~$ sudo systemctl status php7.0-fpm
● php7.0-fpm.service - The PHP 7.0 FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php7.0-fpm.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2019-11-09 16:48:14 GMT; 59min ago

나는 또한 다음을 설치했습니다:

sudo apt install libapache2-mod-fcgid
sudo a2enmod actions fcgid alias proxy_fcgi

따라서 두 개의 서로 다른 가상 호스트를 구성하기 위해 /var/www/, php56 및 php70에 두 개의 폴더를 만들었습니다.

<VirtualHost *:80>
    ServerName php56.example.com
    DocumentRoot /var/www/php56
    <Directory /var/www/php56>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
    <FilesMatch \.php$>
        # Apache 2.4.10+ can proxy to unix socket
        SetHandler "proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost/"
    </FilesMatch>
</VirtualHost>

그런 다음:

<VirtualHost *:80>
    ServerName php72.example.com
    DocumentRoot /var/www/php70
    <Directory /var/www/php70>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
    <FilesMatch \.php$>
        SetHandler "proxy:unix:/var/run/php/php7.0-fpm.sock|fcgi://localhost/"
    </FilesMatch>
</VirtualHost>

위에서 만든 해당 www 디렉터리에 두 개의 파일을 만들었습니다.

echo "<?php phpinfo(); ?>" > /var/www/php56/index.php
echo "<?php phpinfo(); ?>" > /var/www/php70/index.php

두 가상 사이트 모두 활성화되어 있지만 테스트하러 갔을 때 둘 다 PHP 7.0이 활성화된 것으로 표시되었습니다. /var/run/php/ 폴더를 확인할 때 7.0 FPM sock 및 pid 파일만 표시됩니다.

대안 업데이트PHP7.0은 기본적으로 활성화됩니다.

두 서비스를 모두 실행할 수 있도록 두 PHP 버전을 모두 제공하는 방법에 대한 단서가 있습니까?

감사해요

관련 정보