[LAMPP] Ubuntu 20.04에서 PHP 8.1을 설치하거나 업그레이드하는 방법

Ubuntu 20.04에서 PHP 8.1을 설치하거나 업그레이드하는 방법

PHP 8.1은 2021년에 출시된 최신 PHP 버전입니다.

이 가이드에서는 Ubuntu 20.04 시스템 또는 서버에 현재 8.1인 최신 PHP 버전을 설치하고 Apache 및 Nginx로 구성하는 방법을 배우게 됩니다. 또한 PHP 버전을 최신 버전으로 업그레이드하는 방법도 배웁니다.

이 튜토리얼은 애플리케이션이 원활하게 실행되는 데 더 유용한 PHP INI 설정, FPM 설정, 풀 등을 구성하는 방법을 안내합니다.

 

 

 전제 조건

Linux에서 SSH 터미널 사용에 대한 기본 지식.

이러한 명령은 되돌릴 수 없으므로 실행하기 전에 서버를 백업해야 합니다. 클라우드 호스팅을 사용 중인 경우 이러한 명령을 실행하기 전에 인스턴스를 이미지화해야 합니다.

현재 사용 중인 PHP 버전을 확인하려면 다음을 실행하십시오.

 

$ php -v
    

현재 서버에 어떤 PHP 7.x 확장이 설치되어 있는지 확인하고 만일의 경우를 위해 텍스트로 저장해 둡니다.

$ dpkg -l | grep php | tee packages.txt
    

 시작하기

다음 명령을 실행하여 Ubuntu 서버에 최신 패키지가 있는지 확인하십시오.

 

$ sudo apt update
$ sudo apt upgrade
  

 

이렇게 하면 패키지 색인이 업데이트되고 설치된 패키지가 최신 버전으로 업데이트됩니다.

 PHP 8.1용 PPA 추가

PHP 8.1 패키지 및 기타 필수 PHP 확장이 있는 ondrej/php를 추가합니다.

$ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt update
  

PPA를 추가하면 PHP 8.1을 설치할 수 있습니다.

 Apache용 PHP 8.1 설치

다음 명령을 실행하여 PHP 8.1을 설치합니다.

$ sudo apt install php8.1
  

설치가 완료되면 다음 명령을 사용하여 설치를 확인할 수 있습니다.

$ php -v
  

 Nginx용 PHP 8.1 FPM 설치

Nginx의 경우 FPM을 설치해야 합니다. 다음 명령을 실행하여 PHP 8.1 FPM을 설치합니다.

$ sudo apt install php8.1-fpm
  

설치가 완료되면 다음 명령으로 PHP 8.1 FPM이 올바르게 설치되었는지 확인하십시오.

$ php-fpm8.1 -v
  

 PHP 8.1 확장 설치

PHP 확장 설치는 다음 구문으로 간단합니다.

$ sudo apt install php8.1-extension_name
  

이제 다음 명령을 사용하여 일반적으로 사용되는 일부 php-extensions을 설치합니다.

$ sudo apt install php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-dev php8.1-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-redis php8.1-intl -y
  

 PHP 8.1 구성

이제 php.ini 파일에서 일부 값을 변경하여 웹 애플리케이션용 PHP를 구성합니다.

Apache가 설치된 PHP 8.1의 경우 php.ini 위치는 다음 디렉토리에 있습니다.

$ sudo nano /etc/php/8.1/apache2/php.ini
  

Nginx를 사용하는 PHP 8.1 FPM의 경우 php.ini 위치는 다음 디렉터리에 있습니다.

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

$ sudo nano /etc/php/8.1/fpm/php.ini
  

편집기 내에서 검색하려면 F6을 누르고 더 나은 성능을 위해 다음 값을 업데이트하십시오.

    upload_max_filesize = 32M
    post_max_size = 48M
    memory_limit = 256M
    max_execution_time = 600
    max_input_vars = 3000
    max_input_time = 1000
  

PHP 설정을 수정한 후 변경 사항을 적용하려면 Apache를 다시 시작해야 합니다.

PHP-FPM을 사용하는 Nginx 사용자의 경우 PHP-FPM을 다시 시작해야 합니다.

$ sudo service php8.1-fpm restart
  

 PHP 8.1 FPM 풀 구성

PHP-FPM을 사용하면 서비스가 실행될 user 및 group을 구성할 수 있습니다. 다음 명령으로 수정할 수 있습니다.

$ sudo nano /etc/php/8.1/fpm/pool.d/www.conf
  

username을 변경하려면 www-data를 username으로 대체하여 다음 행을 변경할 수 있습니다.

    user = username
    group = username
    listen.owner = username
    listen.group = username
  

CTRL+X 및 Y를 눌러 구성을 저장하고 구성이 올바른지 확인하고 PHP를 다시 시작하십시오.

 PHP 8.1 FPM 재시작

PHP FPM 설정을 업데이트한 후 변경 사항을 적용하려면 다시 시작해야 합니다.

$ sudo php-fpm8.1 -t
$ sudo service php8.1-fpm restart
  

이제 PHP 8.1을 설치하고 구성했습니다.

 Apache용 PHP 8.1로 업그레이드

PHP 8.1을 설치했으면 설치된 최신 버전의 PHP로 업그레이드해야 합니다.

지금 설치한 PHP 8.1 버전을 사용하려면 Apache에 지시해야 합니다. 이전 PHP 모듈을 비활성화하고(아래에서 php7.4를 언급했으며 Apache에서 사용하는 현재 PHP 버전을 사용해야 함) 다음 명령을 사용하여 새 PHP 모듈을 활성화합니다.

현재 활성화된 PHP 버전을 자신의 버전으로 교체하십시오.

$ sudo a2dismod php7.4
$ sudo a2enmod php8.1
  

변경 사항을 적용하려면 Apache를 다시 시작하십시오.

$ sudo service apache2 restart
  

 Nginx용 PHP 8.1 업그레이드

Nginx의 경우 sites-available 디렉토리 내에 있는 Nginx 구성에서 PHP-FPM 소켓을 업데이트해야 합니다. location 블록 location ~ \.php$ 안에 위치합니다.

환경설정 수정…

$ sudo nano /etc/nginx/sites-available/your.conf
  

수정해야 하는 줄은 다음과 같습니다.

fastcgi_pass unix:/run/php/php7.4-fpm.sock;
  

이전 PHP 버전을 새 버전으로 교체해야 합니다.

fastcgi_pass unix:/run/php/php8.1-fpm.sock;
  

환경설정을 테스트하십시오.

$ sudo nginx -t
  

파일을 저장하고 편집기를 종료한 다음 Nginx를 다시 시작하여 변경 사항을 적용합니다.

$ sudo service nginx restart
  

 

[출처] https://365ok.co.kr/okdocs/how-to-upgrade-php81.php

 

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
31 [web개발] [jQuery] Select박스 option 값 선택하기 졸리운_곰 2021.10.20 651
30 [web개발][javascript][JQuery] textarea 값 설정및 값 가져오기 졸리운_곰 2021.10.19 440
29 [javascript][jQuery] 제이쿼리(jQuery) 선택자 - #1 file 졸리운_곰 2021.09.07 570
28 [HTML5, Javascript, Jquery] Add item from array to list when button is clicked in jQuery 졸리운_곰 2021.06.01 739
27 textarea 태그에 값을 넣고 뺄때 아니면 개행문자 '\n'이 혼란이 온다 졸리운_곰 2019.04.08 692
26 jQuery ready와 load의 차이 file 졸리운_곰 2019.03.29 733
25 How can I detect if a selector returns null? 졸리운_곰 2019.03.25 454
24 jQuery.isEmptyObject() 졸리운_곰 2019.03.24 793
23 [jQuery]요소를 추가하는 메소드(append, prepend, after, before) 졸리운_곰 2019.03.10 575
22 jQuery / Method / .text() - 선택한 요소 안의 내용을 가져오거나, 다른 내용으로 바꾸는 메서드 file 졸리운_곰 2019.03.10 582
21 How do you convert a jQuery object into a string? 졸리운_곰 2019.03.10 454
20 JQuery 오브젝트 셀렉트한 select object의 내용 확인 졸리운_곰 2019.03.10 600
19 JQuery Object 선언 : jQuery creating objects [duplicate] 졸리운_곰 2019.03.06 542
18 [제이쿼리] 태그 및 요소 삭제, Remove() file 졸리운_곰 2019.03.06 848
17 jQuery .each문(for문) 사용시 break, continue를 하려면? file 졸리운_곰 2019.03.06 742
16 jQuery / Method / .removeClass() - 선택한 요소의 클래스 값을 제거하는 메서드 file 졸리운_곰 2019.03.06 543
15 [jQuery] 선택자에 변수 넣기 졸리운_곰 2019.03.04 639
14 JQuery로 radio 버튼의 값 가져오기 : How to get the value of selected radio button in a group using jQuery 졸리운_곰 2019.01.10 532
13 Ajax replace instead of append 그리고 jquery .append(Html). 에서 class 적용 적용 졸리운_곰 2019.01.07 625
12 [jQuery] Ajax 방법 졸리운_곰 2018.08.03 655
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED