Ubuntu 20.04(Amazon EC2 서버)에 Multi-PHP 버전을 설치하는 방법
AWS EC2 서버와 OS를 Ubuntu 20.04로 사용하겠습니다. 하지만 원하는 기계에서도 할 수 있습니다.
1단계: 먼저 PHP 저장소 추가
기본적으로 Ubuntu 20.04는 PHP 버전 7.4와 함께 제공됩니다. 따라서 여러 PHP 버전을 설치하려면 시스템에 PHP 리포지토리를 추가해야 합니다.
apt-get install software-properties-common gnupg2 -y
모든 종속성이 설치되면 다음 명령을 사용하여 PHP 리포지토리를 추가합니다.
add-apt-repository ppa:ondrej/php
이제 다음 명령으로 리포지토리를 업데이트합니다.
apt-get update -y
2단계: 여러 버전의 PHP 설치(7.2, 7.4, 8.0 및 8.1)
여러 PHP 버전을 설치하려면 다음 명령을 사용합니다.
apt-get install php7.2 php7.2-fpm php7.2-cli -y
apt-get install php7.4 php7.4-fpm php7.4-cli -y
apt-get install php8.0 php8.0-fpm php8.0-cli -y
apt-get install php8.1 php8.1-fpm php8.1-cli -y
이 시점에서 모든 PHP 버전이 시스템에 설치됩니다.
명령줄의 기본 PHP 버전 설정
그 전에 먼저 다음 명령으로 PHP가 실행 중인 CLI의 현재 버전을 확인하십시오.
php --version
다음 출력이 표시되어야 합니다.
PHP 8.0.5 (CLI) (built: May 3, 2021 11:30:57) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.5, Copyright (c) Zend Technologies
with Zend OPcache v8.0.5, Copyright (c), by Zend Technologies
보시다시피 PHP8.0은 기본 PHP 명령줄 버전입니다. 이제 아래 명령을 사용하여 기본 명령줄 PHP 버전을 PHP 7.4로 설정합니다.
update-alternatives --config php
아래와 같이 기본 PHP 버전을 설정하라는 메시지가 표시됩니다.
There are 3 choices for the alternative php (providing /usr/bin/php).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/php8.0 80 auto mode
1 /usr/bin/php7.2 72 manual mode
2 /usr/bin/php7.4 74 manual mode
3 /usr/bin/php8.0 80 manual mode
Press "enter" to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/bin/php7.4 to provide /usr/bin/php (php) in manual mode
이제 원하는 버전을 선택하고 "Enter"를 눌러 기본 버전을 설정하십시오.
이제 다음 명령을 사용하여 기본 PHP 버전을 확인하십시오.
php --version
이제 CLI에서 실행 중인 7.4 버전이 표시됩니다.
4단계: Nginx를 사용하여 여러 PHP 버전 간 전환
Nginx 가상 호스트와 PHP-FPM을 구성하여 여러 PHP 버전 간에 쉽게 전환할 수 있습니다.
PHP-FPM(Fast CGI Process Manager)은 모든 규모의 사이트, 특히 사용량이 많은 사이트에 유용한 몇 가지 추가 기능이 있는 대체 PHP Fast CGI 구현입니다.
먼저 다음 명령을 사용하여 Nginx 서버 패키지를 설치합니다.
apt-get install nginx -y
다음으로 Nginx 서버에서 사용하는 PHP 버전을 테스트해야 합니다.
이렇게 하려면 nginx 웹 루트 디렉터리에 info.php 파일을 만듭니다.
nano /var/www/html/info.php
편집기 안에 다음 줄을 추가합니다.
<?php phpinfo(); ?>
파일을 저장하고 닫습니다.
중요 포인트
nano /etc/nginx/sites-enabled/default
그런 다음 모든 행을 제거하고 다음 행을 추가하십시오.
server { # php/fastcgi
listen 80;
server_name _;
root /var/www/html/;
index info.php;
access_log /var/log/nginx/access_log;
error_log /var/log/nginx/error_log;
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
다음 출력이 표시되어야 합니다.
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
그런 다음 NGINX를 다시 시작하여 변경 사항을 적용합니다.
sysytemctl restart nginx
마지막으로 웹 브라우저를 열고 서버 IP(공개 IPv4 주소)를 사용하여 info.php 페이지에 액세스합니다.
다음 명령을 통해 서버의 공용 IP를 얻을 수 있습니다.
curl icanhazip.com
우리의 경우 nginx 서버에서 PHP 버전 7.4와 같은 다른 버전을 사용하려면 아래와 같이 Nginx 기본 가상 호스트 구성 파일을 편집하십시오.
nano /etc/nginx/sites-enabled/default
이제 다음 줄을 찾으십시오.
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
f=below 명령으로 바꿉니다.
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
파일을 저장하고 닫은 다음 Nginx를 다시 시작하여 변경 사항을 적용합니다.
systemctl restart nginx
이제 Enter 키를 누르면 PHP 버전 7.4가 실행되는 것을 볼 수 있습니다
http://your-server-ip/info.php
.요약: 이 블로그의 목표는 LAMP 또는 LEMP 스택에서 서로 다른 PHP 버전으로 여러 웹 애플리케이션을 호스트하는 데 도움을 주는 것입니다.
Reference
이 문제에 관하여(Ubuntu 20.04(Amazon EC2 서버)에 Multi-PHP 버전을 설치하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/tanmaygi/how-to-install-multi-php-versions-on-ubuntu-2004amazon-ec2-server-1ehb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)