저는 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 버전을 모두 제공하는 방법에 대한 단서가 있습니까?
감사해요