[관련 게시물]
[필수 공지]
워드프레스와 미디어위키, 기타 다른 CMS를 설치할 예정이거나 현재 운영 중인 분들은 PHP를 7.3으로 업그레이드할 계획을 갖고 계신 경우, 그 계획을 미루시기 바랍니다.
PHP 7.3과 관련하여 compact(): Undefined variable 이슈를 발견했습니다. 사실 이 이슈는 좀 되었습니다. 그러나 저는 PHP를 최근에 업그레이드하여 최근에서야 알게 되었습니다.
따라서 초심자 분들은 이 글은 참고만 하시고 실제로 적용하시는 것은 미루시기를 권장합니다.
PHP를 7.3으로 업그레이드하거나 새로 설치하실 분들은 해당 이슈에 대하여 자세히 알아보시고 작업을 진행하시기 바랍니다.
자세한 글은 아래 링크를 참고하시기 바랍니다.
또한 PHP 7.3 환경에서 미디어위키 1.31.1 LTS 버전을 설치하는 방법에 대해서 글을 올려놓았으니 관심있으신 분은 아래 링크를 참고하시기 바랍니다.
2019/05/26 - [서버 운영/미디어위키(Mediawiki)] - PHP 7.3 환경에서 미디어위키(Mediawiki) 1.31.1 LTS 설치하기 - XAMPP 7.3.4
[작업환경]
가상머신 : VirtualBox 6.0
OS : Ubuntu 18.04.1
Apache2 : Apache/2.4.29 (Ubuntu)
PHP7 : PHP 7.2.15-0ubuntu0.18.04.1
MariaDB : mysql Ver 15.1 Distrib 10.3.12-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
phpMyAdmin : phpMyAdmin 4.6.6deb5
이번에는 우분투 18.04에서, php 7.2에서 php 7.3으로 업그레이드하는 방법에 대해 알아보도록 하겠습니다.
사실 이번 글을 적게 된 이유는 현재 연재 작업 중인 워드프레스가 5.1로 업그레이드되면서 추천 설치 요구사항 중 php가 7.3 이상으로 상향되었기 때문입니다. 물론 php 버전이 너무 오래된 것만 아니라면 굳이 7.3으로 업그레이드 하지 않더라도 워드프레스를 설치하고 사용하는데 큰 문제는 없을 걸로 생각됩니다만, 일단 워드프레스 측에서 공식적으로 php를 7.3 이상으로 올릴 것을 권장하고 있는 바, php를 업그레이드하는 방법에 대해 안내해드리고자 합니다.
글 맨 앞에 이번 작업의 환경을 적어두었으니 참고하시기 바랍니다. 작업 환경 중 우리가 눙여겨 볼 항목은 우분투와 php입니다.
우분투(Ubuntu) 18.04.1
현재 우분투 18.10이 최신 버전이고 조만간 우분투 19.04도 공개될 예정입니다만 이번 작업을 포함하여 기본 OS로 우분투 18.04를 선택하는 이유는 이 우분투 18.04가 LTS(장기간 지원) 버전이기 때문입니다. 서버의 생명은 바로 안정성입니다. 따라서 장기간 유지보수를 지원하는 OS를 사용함으로써 안정성을 확보하고, 잦은 업데이트로 인한 오류 발생 확률을 최대한 억제하기 위해 이 LTS 지원 버전을 사용합니다.
우분투의 경우, 짝수해 4월에 출시되는 버전이 이 LTS 버전입니다. 따라서 다음 LTS 버전은 2020년 4월에 출시되는 버전이 되겠습니다.
PHP 7.2.15-0ubuntu0.18.04.1
처음 이 블로그에서 연재를 시작했을 때는 우분투 18.04의 저장소를 통해 설치한 php의 버전이 PHP 7.2.10-0ubuntu0.18.04.1였습니다만 이 글을 적는 시점에서 PHP 7.2.15-0ubuntu0.18.04.1로 업그레이드된 상태입니다.
작업 환경 항목 중 이번 글 주제와 관련하여 가장 중요한 부분이 이 항목입니다. 이유는 우분투 18.04의 공식 wj장소와 세계 각지의 복제(미러 -mirror) 저장소들은 hphp를 7.2 버전만 지원합니다. 그 외의 버전은 존재하지 않아 따로 소스파일을 다운받아 컴파일 설치를 하거나, PPA(개인 패키지 저장소)를 통해 설치해주어야 합니다. 이번에는 php 7.2에서 공식 저장소에는 없는 php 7.3으로 업그레이드해야 하므로 PPA를 통한 설치를 이용하고자 합니다.
업그레이드를 하는 것인데 설치라는 단어를 쓰는 이유는 기존의 php 7.2를 7.3으로 파일을완전히 대체하는 것이 아니라, 기존의 것은 그대로 남기고 새 버전을 설치 후 아파치에 연결된 php 버전만 새 버전으로 교체하는 것이기 때문입니다.
그럼 지금부터 php 7.3으로의 업그레이드 방법을 알아보도록 하겠습니다.
사전 작업
먼저 업그레이드 가능한 패키지들을 확인하고 업그레이드 해주도록 합시다.
study@study-VirtualBox:~$ sudo apt update study@study-VirtualBox:~$ apt list --upgradable study@study-VirtualBox:~$ sudo apt upgrade
study@study-VirtualBox:~$ sudo apt upgrade E: /var/lib/dpkg/lock-frontend 잠금 파일을 얻을 수 없습니다 - open (11: 자원이 일시적으로 사용 불가능함) E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it? study@study-VirtualBox:~$
위와 같은 창이 뜨면 나중에 알림 버튼을 눌러 창을 닫고 다시 터미널에서 업글이드 명령을 실행해주시면 됩니다.
요즘은 우분투도 많이 안정화되어 소트웨어 업데이터 등 GUI 프로그램을 사용해 패키지 업그레이드를 해도 오류 없이 잘 되는 편이긴 합니다만 보다 안전히 업그레이드하려면 터미널을 이용하시기를 추천드립니다.
현재 php 버전 확인
이제 현재 설치되어 있는 php 버전을 확인해 봅시다.
study@study-VirtualBox:~$ php -v PHP 7.2.15-0ubuntu0.18.04.1 (cli) (built: Feb 8 2019 14:54:22) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.15-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies study@study-VirtualBox:~$
이 글이 적힌 시점에서 웁ㄴ투 공식 ㅈ장소 내 php의 버전은 7.2.15입니다.
현재 사용 중인 php 모듈 목록 확인 및 목록 파일 저장
study@study-VirtualBox:~$ dpkg -l | grep php | tee ~/다운로드/packages.txt
그러면 아래와 같은 방식으로 php로 시작하는 패키지 목록들을 터미널에 보여줍니다. 그리고 해당 내용은 ~/다운로드/packages.txt에 저장되어 있으나 나중에라도 확인할 수 있습니다. 참고로 ~은 현재 우분투에 로그인된 계정의 홈 디렉토리의 약자입니다. ~의 전체 절대 경로는 아래와 같은 식입니다.
~ : /home/우분투 계정 아이디
-예-
~/다운로드/packages.txt = /home/study/다운로드/packages.txt
해당 명령을 실행하면 다음과 같이 php로 시작되는 패키지 목록들이 나옵니다.
study@study-VirtualBox:~$ dpkg -l | grep php | tee ~/다운로드/packages.txt ii libapache2-mod-php7.2 7.2.15-0ubuntu0.18.04.1 amd64 server-side, HTML-embedded scripting language (Apache 2 module) ii php 1:7.2+60ubuntu1 all server-side, HTML-embedded scripting language (default) ii php-apcu 5.1.9+4.0.11-1build1 amd64 APC User Cache for PHP ii php-apcu-bc 1.0.3-2ubuntu2 amd64 APCu Backwards Compatibility Module ii php-bz2 1:7.2+60ubuntu1 all bzip2 module for PHP [default] ii php-cli 1:7.2+60ubuntu1 all command-line interpreter for the PHP scripting language (default) ii php-cli-prompt 1.0.3+dfsg-1 all tiny helper prompting for user input ii php-common 1:60ubuntu1 all Common files for PHP packages ii php-composer-ca-bundle 1.1.0-1 all utility library to find a path to the system CA bundle ii php-composer-semver 1.4.2-1 all utilities, version constraint parsing and validation ii php-composer-spdx-licenses 1.3.0-1 all SPDX licenses list and validation library ii php-curl 1:7.2+60ubuntu1 all CURL module for PHP [default] ii php-gd 1:7.2+60ubuntu1 all GD module for PHP [default] ii php-intl 1:7.2+60ubuntu1 all Internationalisation module for PHP [default] ii php-json-schema 5.2.6-1 all implementation of JSON schema ii php-mbstring 1:7.2+60ubuntu1 all MBSTRING module for PHP [default] ii php-mysql 1:7.2+60ubuntu1 all MySQL module for PHP [default] ii php-pear 1:1.10.5+submodules+notgz-1ubuntu1.18.04.1 all PEAR Base System ii php-php-gettext 1.0.12-0.1 all read gettext MO files directly, without requiring anything other than PHP ii php-phpseclib 2.0.9-1 all implementations of an arbitrary-precision integer arithmetic library ii php-psr-log 1.0.2-1 all common interface for logging libraries ii php-symfony-console 3.4.6+dfsg-1ubuntu0.1 all run tasks from the command line ii php-symfony-debug 3.4.6+dfsg-1ubuntu0.1 all tools to make debugging of PHP code easier ii php-symfony-filesystem 3.4.6+dfsg-1ubuntu0.1 all basic filesystem utilities ii php-symfony-finder 3.4.6+dfsg-1ubuntu0.1 all find files and directories ii php-symfony-polyfill-mbstring 1.6.0-2 all Symfony polyfill for the Mbstring extension ii php-symfony-process 3.4.6+dfsg-1ubuntu0.1 all execute commands in sub-processes ii php-tcpdf 6.2.13+dfsg-1ubuntu1 all PHP class for generating PDF files on-the-fly ii php-xml 1:7.2+60ubuntu1 all DOM, SimpleXML, WDDX, XML, and XSL module for PHP [default] ii php-zip 1:7.2+60ubuntu1 all Zip module for PHP [default] ii php7.2 7.2.15-0ubuntu0.18.04.1 all server-side, HTML-embedded scripting language (metapackage) ii php7.2-bz2 7.2.15-0ubuntu0.18.04.1 amd64 bzip2 module for PHP ii php7.2-cli 7.2.15-0ubuntu0.18.04.1 amd64 command-line interpreter for the PHP scripting language ii php7.2-common 7.2.15-0ubuntu0.18.04.1 amd64 documentation, examples and common module for PHP ii php7.2-curl 7.2.15-0ubuntu0.18.04.1 amd64 CURL module for PHP ii php7.2-gd 7.2.15-0ubuntu0.18.04.1 amd64 GD module for PHP ii php7.2-intl 7.2.15-0ubuntu0.18.04.1 amd64 Internationalisation module for PHP ii php7.2-json 7.2.15-0ubuntu0.18.04.1 amd64 JSON module for PHP ii php7.2-mbstring 7.2.15-0ubuntu0.18.04.1 amd64 MBSTRING module for PHP ii php7.2-mysql 7.2.15-0ubuntu0.18.04.1 amd64 MySQL module for PHP ii php7.2-opcache 7.2.15-0ubuntu0.18.04.1 amd64 Zend OpCache module for PHP ii php7.2-readline 7.2.15-0ubuntu0.18.04.1 amd64 readline module for PHP ii php7.2-xml 7.2.15-0ubuntu0.18.04.1 amd64 DOM, SimpleXML, WDDX, XML, and XSL module for PHP ii php7.2-zip 7.2.15-0ubuntu0.18.04.1 amd64 Zip module for PHP ii phpmyadmin 4:4.6.6-5 all MySQL web administration tool study@study-VirtualBox:~$
여기서 php7.2로 시작되는 패키지들의 이름을 php7.3으로 시작되는 패키지로 바꾸어 추후 php 7.3 관련 패키지를 설치할 때 같이 설치해 주시면 됩니다.
study@study-VirtualBox:~$ sudo apt install php7.3 php7.3-bz2 php7.3-cli php7.3-common php7.3-curl php7.3-gd php7.3-intl php7.3-json php7.3-mbstring php7.3-mysql php7.3-opcache php7.3-readline php7.3-xml php7.3-zip
PPA 등록
PPA는 Personal Package Archive의 약자로 우리말로 바꾸면 개인 패키지 저장소 쯤 되빈다. 아까도 말했지만 현재 우분투 18.04 공식 저장소는 php 7.2만을 올려두고 있습니다. 따라서 7.3버전을 설치하려면 7.3이 올라가 있는 PPA를 이용해야 합니다.
study@study-VirtualBox:~$ sudo apt-get install software-properties-common
study@study-VirtualBox:~$ sudo apt-get install software-properties-common [sudo] study의 암호: 패키지 목록을 읽는 중입니다... 완료 의존성 트리를 만드는 중입니다 상태 정보를 읽는 중입니다... 완료 패키지 software-properties-common는 이미 최신 버전입니다 (0.96.24.32.7). 0개 업그레이드, 0개 새로 설치, 0개 제거 및 0개 업그레이드 안 함. study@study-VirtualBox:~$
php와 관련하여 가장 유명하고 안정적으로 유지보수되어온 PPA는 Ondřej Surý의 PHP PPA(https://launchpad.net/~ondrej/+archive/ubuntu/php)입니다.
참고로 Ondřej Surý는 php PPA 뿐만 아니라 정말 다양하고 유용한 패키지의 PPA를 유지보수하고 있습니다. 해당 PPA는 https://launchpad.net/~ondrej에서 확인할 수 있습니다.
Ondřej Surý
Personal package archives
php PPA를 등록해봅시다.
study@study-VirtualBox:~$ sudo add-apt-repository ppa:ondrej/php
실행하면 PPA description이 나오고 엔터를 누르면 진행할 수 있게 됩니다.
study@study-VirtualBox:~$ sudo add-apt-repository ppa:ondrej/php Co-installable PHP versions: PHP 5.6, PHP 7.x and most requested extensions are included. Only Supported Versions of PHP (http://php.net/supported-versions.php) for Supported Ubuntu Releases (https://wiki.ubuntu.com/Releases) are provided. Don't ask for end-of-life PHP versions or Ubuntu release, they won't be provided. Debian oldstable and stable packages are provided as well: https://deb.sury.org/#debian-dpa You can get more information about the packages at https://deb.sury.org BUGS&FEATURES: This PPA now has a issue tracker: https://deb.sury.org/#bug-reporting CAVEATS: 1. If you are using php-gearman, you need to add ppa:ondrej/pkg-gearman 2. If you are using apache2, you are advised to add ppa:ondrej/apache2 3. If you are using nginx, you are advise to add ppa:ondrej/nginx-mainline or ppa:ondrej/nginx PLEASE READ: If you like my work and want to give me a little motivation, please consider donating regularly: https://donate.sury.org/ WARNING: add-apt-repository is broken with non-UTF-8 locales, see https://github.com/oerdnj/deb.sury.org/issues/56 for workaround: # LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php 더 많은 정보: https://launchpad.net/~ondrej/+archive/ubuntu/php [ENTER]을 눌러 진행하거나 Ctrl-c를 눌러 추가하는것을 취소합니다.위 PPA description은 Ondřej Surý의 php PPA 사이트(https://launchpad.net/~ondrej/+archive/ubuntu/php)에서도 확인할 수 있습니다.
내용을 확인하시고 ENTER키를 눌러 진행해주세요. 만약 PPA 등록을 취소하시려면 Ctrl-c를 눌러주시면 됩니다.
우분투 18.04는 PPA를 등록하면 자동으로 apt update를 실행합니다만 등록 패키지 저장소의 패키지 목록 업데이트를 보다 확실히 하시려면 아래의 명령을 한번 더 실행해주시면 됩니다.
study@study-VirtualBox:~$
만약 추가한 Ondřej Surý의 php PPA에 자신의 서버에 설치된 패키지보다 최신 버전의 패키지가 있는 경우 업데이트 할 수 있습니다.
study@study-VirtualBox:~$ sudo apt update 기존:1 http://mirror.kakao.com/ubuntu bionic InRelease 기존:2 http://mirror.kakao.com/ubuntu bionic-updates InRelease 기존:3 http://mirror.kakao.com/ubuntu bionic-backports InRelease 기존:4 http://mirror.kakao.com/ubuntu bionic-security InRelease 기존:5 https://ftp.harukasan.org/mariadb/repo/10.3/ubuntu bionic InRelease 무시:6 http://dl.google.com/linux/chrome/deb stable InRelease 기존:7 http://dl.google.com/linux/chrome/deb stable Release 기존:8 http://ppa.launchpad.net/ondrej/php/ubuntu bionic InRelease 패키지 목록을 읽는 중입니다... 완료 의존성 트리를 만드는 중입니다 상태 정보를 읽는 중입니다... 완료 37 packages can be upgraded. Run 'apt list --upgradable' to see them. study@study-VirtualBox:~$
apt list --upgradable을 실행하여 업그레이드 가능한 패키지를 확인하시기 바랍니다.
study@study-VirtualBox:~$ apt list --upgradable 리스팅... 완료 libapache2-mod-php7.2/bionic 7.2.15-1+ubuntu18.04.1+deb.sury.org+1 amd64 [upgradable from: 7.2.15-0ubuntu0.18.04.1] libgd3/bionic 2.2.5-5+ubuntu18.04.1+deb.sury.org+1 amd64 [upgradable from: 2.2.5-4ubuntu0.2] libnorm1/bionic 1.5r6+dfsg1-6+ubuntu18.04.1+deb.sury.org+1 amd64 [upgradable from: 1.5r6+dfsg1-6] libpcre3/bionic 2:8.42-1+ubuntu18.04.1+deb.sury.org+1 amd64 [upgradable from: 2:8.39-9] libsodium23/bionic 1.0.17-0.1+ubuntu18.04.1+deb.sury.org+1 amd64 [upgradable from: 1.0.16-2] libssl1.1/bionic 1.1.1a-2+ubuntu18.04.1+deb.sury.org+1 amd64 [upgradable from: 1.1.0g-2ubuntu4.3] libzmq5/bionic 4.3.1-1+ubuntu18.04.1+deb.sury.org+2 amd64 [upgradable from: 4.2.5-1ubuntu0.1] openssl/bionic 1.1.1a-2+ubuntu18.04.1+deb.sury.org+1 amd64 [upgradable from: 1.1.0g-2ubuntu4.3] php/bionic,bionic 2:7.2+69+ubuntu18.04.1+deb.sury.org+1 all [upgradable from: 1:7.2+60ubuntu1] php-apcu/bionic 5.1.17+4.0.11-1+ubuntu18.04.1+deb.sury.org+1 amd64 [upgradable from: 5.1.9+4.0.11-1build1] php-apcu-bc/bionic 1.0.4-4+ubuntu18.04.1+deb.sury.org+1 amd64 [upgradable from: 1.0.3-2ubuntu2] php-bz2/bionic,bionic 2:7.2+69+ubuntu18.04.1+deb.sury.org+1 all [upgradable from: 1:7.2+60ubuntu1] php-cli/bionic,bionic 2:7.2+69+ubuntu18.04.1+deb.sury.org+1 all [upgradable from: 1:7.2+60ubuntu1] php-common/bionic,bionic 2:69+ubuntu18.04.1+deb.sury.org+1 all [upgradable from: 1:60ubuntu1] php-curl/bionic,bionic 2:7.2+69+ubuntu18.04.1+deb.sury.org+1 all [upgradable from: 1:7.2+60ubuntu1] php-gd/bionic,bionic 2:7.2+69+ubuntu18.04.1+deb.sury.org+1 all [upgradable from: 1:7.2+60ubuntu1] php-intl/bionic,bionic 2:7.2+69+ubuntu18.04.1+deb.sury.org+1 all [upgradable from: 1:7.2+60ubuntu1] php-mbstring/bionic,bionic 2:7.2+69+ubuntu18.04.1+deb.sury.org+1 all [upgradable from: 1:7.2+60ubuntu1] php-mysql/bionic,bionic 2:7.2+69+ubuntu18.04.1+deb.sury.org+1 all [upgradable from: 1:7.2+60ubuntu1] php-pear/bionic,bionic 1:1.10.8+submodules+notgz-1+ubuntu18.04.1+deb.sury.org+1 all [upgradable from: 1:1.10.5+submodules+notgz-1ubuntu1.18.04.1] php-xml/bionic,bionic 2:7.2+69+ubuntu18.04.1+deb.sury.org+1 all [upgradable from: 1:7.2+60ubuntu1] php-zip/bionic,bionic 2:7.2+69+ubuntu18.04.1+deb.sury.org+1 all [upgradable from: 1:7.2+60ubuntu1] php7.2/bionic,bionic 7.2.15-1+ubuntu18.04.1+deb.sury.org+1 all [upgradable from: 7.2.15-0ubuntu0.18.04.1] php7.2-bz2/bionic 7.2.15-1+ubuntu18.04.1+deb.sury.org+1 amd64 [upgradable from: 7.2.15-0ubuntu0.18.04.1] php7.2-cli/bionic 7.2.15-1+ubuntu18.04.1+deb.sury.org+1 amd64 [upgradable from: 7.2.15-0ubuntu0.18.04.1] php7.2-common/bionic 7.2.15-1+ubuntu18.04.1+deb.sury.org+1 amd64 [upgradable from: 7.2.15-0ubuntu0.18.04.1] php7.2-curl/bionic 7.2.15-1+ubuntu18.04.1+deb.sury.org+1 amd64 [upgradable from: 7.2.15-0ubuntu0.18.04.1] php7.2-gd/bionic 7.2.15-1+ubuntu18.04.1+deb.sury.org+1 amd64 [upgradable from: 7.2.15-0ubuntu0.18.04.1] php7.2-intl/bionic 7.2.15-1+ubuntu18.04.1+deb.sury.org+1 amd64 [upgradable from: 7.2.15-0ubuntu0.18.04.1] php7.2-json/bionic 7.2.15-1+ubuntu18.04.1+deb.sury.org+1 amd64 [upgradable from: 7.2.15-0ubuntu0.18.04.1] php7.2-mbstring/bionic 7.2.15-1+ubuntu18.04.1+deb.sury.org+1 amd64 [upgradable from: 7.2.15-0ubuntu0.18.04.1] php7.2-mysql/bionic 7.2.15-1+ubuntu18.04.1+deb.sury.org+1 amd64 [upgradable from: 7.2.15-0ubuntu0.18.04.1] php7.2-opcache/bionic 7.2.15-1+ubuntu18.04.1+deb.sury.org+1 amd64 [upgradable from: 7.2.15-0ubuntu0.18.04.1] php7.2-readline/bionic 7.2.15-1+ubuntu18.04.1+deb.sury.org+1 amd64 [upgradable from: 7.2.15-0ubuntu0.18.04.1] php7.2-xml/bionic 7.2.15-1+ubuntu18.04.1+deb.sury.org+1 amd64 [upgradable from: 7.2.15-0ubuntu0.18.04.1] php7.2-zip/bionic 7.2.15-1+ubuntu18.04.1+deb.sury.org+1 amd64 [upgradable from: 7.2.15-0ubuntu0.18.04.1] python3-httplib2/bionic,bionic 0.11.3-1+ubuntu18.04.1+deb.sury.org+1 all [upgradable from: 0.9.2+dfsg-1] study@study-VirtualBox:~$
php 7.3 설치
이제 본격적으로 php 7.3을 설치해 봅시다.
원칙적으로 php 7.3의 핵심 패키지를 설치하고 나중에 php 7.3 관련 추가 모듈 패키지를 설치하도록 하겠습니다.
php 7.3 핵심 패키지 설치
study@study-VirtualBox:~$ sudo apt install php7.3 php7.3-common php7.3-cli
위 명령을 실행하면 다음과 같이 진행됩니다.
study@study-VirtualBox:~$ sudo apt install php7.3 php7.3-common php7.3-cli 패키지 목록을 읽는 중입니다... 완료 의존성 트리를 만드는 중입니다 상태 정보를 읽는 중입니다... 완료 다음의 추가 패키지가 설치될 것입니다 : libapache2-mod-php7.3 libpcre2-8-0 php7.3-json php7.3-opcache php7.3-readline 다음 새 패키지를 설치할 것입니다: libapache2-mod-php7.3 libpcre2-8-0 php7.3 php7.3-cli php7.3-common php7.3-json php7.3-opcache php7.3-readline 0개 업그레이드, 8개 새로 설치, 0개 제거 및 37개 업그레이드 안 함. 4,051 k바이트 아카이브를 받아야 합니다. 이 작업 후 17.6 M바이트의 디스크 공간을 더 사용하게 됩니다. 계속 하시겠습니까? [Y/n]
php 7.3 확장 패키지 설치
이제 php 7.3과 관련하여 자신의 서버 환경에 맞춰 필요한 추가 패키지들을 설치해 주시면 됩니다.
추천 확장 패키지 설치
아래는 php 7.3 관련하여 빈번하게 사용되는 추가 확장 패키지 설치의 예입니다. 잘 모르면 이대로 설치하시면 됩니다.
study@study-VirtualBox:~$ sudo apt install php7.3-bcmath php7.3-bz2 php7.3-curl php7.3-gd php7.3-intl php7.3-mbstring php7.3-xml php7.3-zip php7.3-mysql php7.3-gmp php7.3-xmlrpc
그럼 다음과 같이 진행됩니다.
study@study-VirtualBox:~$ sudo apt install php7.3-bcmath php7.3-bz2 php7.3-curl php7.3-gd php7.3-intl php7.3-mbstring php7.3-xml php7.3-zip php7.3-mysql php7.3-gmp php7.3-xmlrpc 패키지 목록을 읽는 중입니다... 완료 의존성 트리를 만드는 중입니다 상태 정보를 읽는 중입니다... 완료 다음의 추가 패키지가 설치될 것입니다 : libxmlrpc-epi0 다음 새 패키지를 설치할 것입니다: libxmlrpc-epi0 php7.3-bcmath php7.3-bz2 php7.3-curl php7.3-gd php7.3-gmp php7.3-intl php7.3-mbstring php7.3-mysql php7.3-xml php7.3-xmlrpc php7.3-zip 0개 업그레이드, 12개 새로 설치, 0개 제거 및 37개 업그레이드 안 함. 1,021 k바이트 아카이브를 받아야 합니다. 이 작업 후 3,724 k바이트의 디스크 공간을 더 사용하게 됩니다. 계속 하시겠습니까? [Y/n]
php 7.2 때 사용된 확장 패키지 설치
study@study-VirtualBox:~$ dpkg -l | grep php | tee ~/다운로드/packages.txt
아까 우리는 위 명령을 이용해 php 7.3을 설치하기 전에 php로 시작하는 패키지 목록들을 확인했습니다. 설치되어 있는 php7.2용 패키지에 대응되는 php7.3용 패키지들이 설치되어 있는지 확인하고 설치되어 있지 않은 것들만 따로 설치해주시면 됩니다.
php 버전 확인
터미널 확인
먼저 터미널에서 php 버전을 확인해봅시다.
study@study-VirtualBox:~$ php -v PHP 7.3.2-3+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Feb 8 2019 15:43:57) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.2, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.3.2-3+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies study@study-VirtualBox:~$
php 7.3 버전이 설치된 것을 확인할 수 있습니다.
참고로 터미널에서 위 명령을 통해 버전을 확인하면 서버에 설치되어있는 최신 php의 버전만을 확인할 수 있습니다. 여기서 유의할 점은 위 명령을 통해 확인할 수 있는 php의 버전은 서버에 설치된 최신 php의 버전이지, 서버에서 활성화 되어 있는 php의 버전이 아니라는 점입니다. 이게 무슨 뜻인지 다음을 통해 확인해 봅시다.
php.ini 파일 수정
php.ini 파일 수정은 아래 링크를 참고하여 작업해주시면 됩니다.
2018/11/21 - [IT/가상머신, 서버, CMS 구축] - 서버 환경 파일 수정 - php.ini, apache2.conf
주요 변경점의 줄번호와 원본 내용 및 수정 내용을 알려드리도록 하겠습니다.
줄번호 197 (php 7.2는 줄번호 197)
short_open_tag = Off
short_open_tag = On
줄번호 385 (php 7.2는 줄번호 383)
max_execution_time = 30
max_execution_time = 0
줄번호 395 (php 7.2는 줄번호 393)
max_input_time = 60
max_input_time = -1
줄번호 406 (php 7.2는 줄번호 404)
memory_limit = 128M
memory_limit = 2048M
줄번호 692 (php 7.2는 줄번호 672)
post_max_size = 8M
post_max_size = 2048M
줄번호 844 (php 7.2는 줄번호 825)
upload_max_filesize = 2M
upload_max_filesize = 2048M
줄번호 959 (php 7.2는 줄번호 939)
;date.timezone =
date.timezone = Asia/Seoul
☞ 주의
아래의 수정값 중 숫자는 최댓값입니다. 실제 서버 운영 시에는 이 최댓값을 사용할 수 없는 것이 보통입니다. 자신의 서버 사양과 회선, 트래픽 등에 따라 서버 ㅍ곤리자가 적절히 수정해주어야 합니다.
줄번호 959의 ;date.timezone = 구문은 ;(세미콜론)으로 주석처리 되어 있습니다. 반드시 이 ;(세미콜론)을 제거하고 Asia/Seoul을 채워주시기 바랍니다.
환경설정 파일은 수정 작업을 하기 전에 반드시 백업을 하여 혹시 모를 불상사를 미연에 방지하도록 합시다.
수정 완료 후 서버를 재시작하여 변경 내용을 적용해주도록 합시다.
study@study-VirtualBox:~$ sudo systemctl restart apache2.service
phpinfo.php 파일 확인
우리는 php 7.2를 설치 후 php의 환경변수 설정값의 정보를 확인하기 위해 phpinfo.php 파일을 생성한 적이 있습니다. 만약 생성한 적이 없다면 아래 링크를 참고하여 파일을 생성해주시기 바랍니다..
2018/11/19 - [IT/가상머신, 서버, CMS 구축] - PHP7 설치
이제 phpinfo.php 파일을 웹브라우저에서 불러와 봅시다.
http://localhost/phpinfo.php에 접속해봅니다.
위 그림을 확인해보니 php 버전이 7.3이 아닌 7.2.15에 머물러 있습니다.
이 이야기인 즉 서버에서는 아직 php 7.2.15 버전이 활성화 되어 있고, 방금 전 설치했던 php 7.3은 비활성화되어 있다는 말입니다.
활성화 php 버전 변경
이제 구 버전의 php를 비활성화하고 새 버전의 php를 활성화해주는 작업을 해야 합니다.
study@study-VirtualBox:~$ sudo a2dismod php7.2 Module php7.2 disabled. To activate the new configuration, you need to run: systemctl restart apache2 study@study-VirtualBox:~$ sudo a2enmod php7.3 Considering dependency mpm_prefork for php7.3: Considering conflict mpm_event for mpm_prefork: Considering conflict mpm_worker for mpm_prefork: Module mpm_prefork already enabled Considering conflict php5 for php7.3: Enabling module php7.3. To activate the new configuration, you need to run: systemctl restart apache2 study@study-VirtualBox:~$ sudo systemctl restart apache2 study@study-VirtualBox:~$
update-alternatives로 php 기본 패키지 변경
활성 php를 7.2에서 7.3으로 바꾸었으니 관련 패키지들도 그에 맞추어 활성화해주어야 합니다.
update-alternatives --set
study@study-VirtualBox:~$ sudo update-alternatives --set php /usr/bin/php7.3 && \ > sudo update-alternatives --set phar /usr/bin/phar7.3 && \ > sudo update-alternatives --set phar.phar /usr/bin/phar.phar7.3 study@study-VirtualBox:~$
study@study-VirtualBox:~$ sudo update-alternatives --set phpize /usr/bin/phpize7.3 && \ sudo update-alternatives --set php-config /usr/bin/php-config7.3
이것들은 pecl를 이용하여 php 모듈을 컴파일하는데 보다 유용합니다.
sudo update-alternatives --config php
sudo update-alternatives --set을 이용해 일일이 지정하는 대신 번호를 선택하여 php 버전을 지정하는 방법도 있습니다.
study@study-VirtualBox:~$ sudo update-alternatives --config php [sudo] study의 암호: 대체 항목 php에 대해 (/usr/bin/php 제공) 2개 선택이 있습니다. 선택 경로 우선순� 상태 ------------------------------------------------------------ * 0 /usr/bin/php7.3 73 자동 모드 1 /usr/bin/php7.2 72 수동 모드 2 /usr/bin/php7.3 73 수동 모드 Pressto keep the current choice[*], or type selection number: 1 update-alternatives: using /usr/bin/php7.2 to provide /usr/bin/php (php) in manual mode study@study-VirtualBox:~$
물론 php7.3을 쓰려면 해당 번호를 선택해주셔야 합니다.
phpinfo.php 파일 재확인
이제 다시 한번 phpinfo.php 파일을 확인해 봅시다.
php 버전이 7.3대로 바뀐 것을 확인할 수 있습니다.
이제 서버 내 활성 php가 7.3으로 제대로 바뀌었습니다.
기존 php 7.2 제거
php 제거는 두 가지 방식이 있습니다.
sudo apt purge php7.2* 명령
study@study-VirtualBox:~$ sudo apt purge php7.2* [sudo] study의 암호: 패키지 목록을 읽는 중입니다... 완료 의존성 트리를 만드는 중입니다 상태 정보를 읽는 중입니다... 완료 Note, selecting 'php7.2-pdo-odbc' for glob 'php7.2*' Note, selecting 'php7.2-phalcon' for glob 'php7.2*' Note, selecting 'php7.2-imagick' for glob 'php7.2*' Note, selecting 'php7.2-redis' for glob 'php7.2*' Note, selecting 'php7.2-bz2' for glob 'php7.2*' Note, selecting 'php7.2-mongodb' for glob 'php7.2*' Note, selecting 'php7.2-common' for glob 'php7.2*' Note, selecting 'php7.2-cgi' for glob 'php7.2*' Note, selecting 'php7.2-cli' for glob 'php7.2*' Note, selecting 'php7.2-dba' for glob 'php7.2*' Note, selecting 'php7.2-dev' for glob 'php7.2*' Note, selecting 'php7.2-smbclient' for glob 'php7.2*' Note, selecting 'php7.2-dom' for glob 'php7.2*' Note, selecting 'php7.2-bcmath' for glob 'php7.2*' Note, selecting 'php7.2-oauth' for glob 'php7.2*' Note, selecting 'php7.2-memcached' for glob 'php7.2*' Note, selecting 'php7.2-pinba' for glob 'php7.2*' Note, selecting 'php7.2-fpm' for glob 'php7.2*' Note, selecting 'php7.2-ftp' for glob 'php7.2*' Note, selecting 'php7.2-igbinary' for glob 'php7.2*' Note, selecting 'php7.2-gmp' for glob 'php7.2*' Note, selecting 'php7.2-sodium' for glob 'php7.2*' Note, selecting 'php7.2-apcu-bc' for glob 'php7.2*' Note, selecting 'php7.2-mysql' for glob 'php7.2*' Note, selecting 'php7.2-memcache' for glob 'php7.2*' Note, selecting 'php7.2-uuid' for glob 'php7.2*' Note, selecting 'php7.2-sockets' for glob 'php7.2*' Note, selecting 'php7.2-tidy' for glob 'php7.2*' Note, selecting 'php7.2-mailparse' for glob 'php7.2*' Note, selecting 'php7.2' for glob 'php7.2*' Note, selecting 'php7.2-sysvmsg' for glob 'php7.2*' Note, selecting 'php7.2-wddx' for glob 'php7.2*' Note, selecting 'php7.2-lua' for glob 'php7.2*' Note, selecting 'php7.2-sqlite3' for glob 'php7.2*' Note, selecting 'php7.2-pdo-pgsql' for glob 'php7.2*' Note, selecting 'php7.2-calendar' for glob 'php7.2*' Note, selecting 'php7.2-fileinfo' for glob 'php7.2*' Note, selecting 'php7.2-pdo' for glob 'php7.2*' Note, selecting 'php7.2-xmlwriter' for glob 'php7.2*' Note, selecting 'php7.2-json' for glob 'php7.2*' Note, selecting 'php7.2-opcache' for glob 'php7.2*' Note, selecting 'php7.2-mysqli' for glob 'php7.2*' Note, selecting 'php7.2-sass' for glob 'php7.2*' Note, selecting 'php7.2-sysvsem' for glob 'php7.2*' Note, selecting 'php7.2-sysvshm' for glob 'php7.2*' Note, selecting 'php7.2-phar' for glob 'php7.2*' Note, selecting 'php7.2-rrd' for glob 'php7.2*' Note, selecting 'php7.2-sybase' for glob 'php7.2*' Note, selecting 'php7.2-curl' for glob 'php7.2*' Note, selecting 'php7.2-stomp' for glob 'php7.2*' Note, selecting 'php7.2-msgpack' for glob 'php7.2*' Note, selecting 'php7.2-ldap' for glob 'php7.2*' Note, selecting 'php7.2-gearman' for glob 'php7.2*' Note, selecting 'php7.2-raphf' for glob 'php7.2*' Note, selecting 'php7.2-phpdbg' for glob 'php7.2*' Note, selecting 'php7.2-xmlreader' for glob 'php7.2*' Note, selecting 'php7.2-imap' for glob 'php7.2*' Note, selecting 'php7.2-gnupg' for glob 'php7.2*' Note, selecting 'php7.2-radius' for glob 'php7.2*' Note, selecting 'php7.2-uploadprogress' for glob 'php7.2*' Note, selecting 'php7.2-posix' for glob 'php7.2*' Note, selecting 'php7.2-iconv' for glob 'php7.2*' Note, selecting 'php7.2-xml' for glob 'php7.2*' Note, selecting 'php7.2-xsl' for glob 'php7.2*' Note, selecting 'php7.2-intl' for glob 'php7.2*' Note, selecting 'php7.2-yac' for glob 'php7.2*' Note, selecting 'php7.2-zip' for glob 'php7.2*' Note, selecting 'php7.2-tokenizer' for glob 'php7.2*' Note, selecting 'php7.2-zmq' for glob 'php7.2*' Note, selecting 'php7.2-odbc' for glob 'php7.2*' Note, selecting 'php7.2-mbstring' for glob 'php7.2*' Note, selecting 'php7.2-readline' for glob 'php7.2*' Note, selecting 'php7.2-ds' for glob 'php7.2*' Note, selecting 'php7.2-gd' for glob 'php7.2*' Note, selecting 'php7.2-ps' for glob 'php7.2*' Note, selecting 'php7.2-interbase' for glob 'php7.2*' Note, selecting 'php7.2-yaml' for glob 'php7.2*' Note, selecting 'php7.2-snmp' for glob 'php7.2*' Note, selecting 'php7.2-pdo-mysql' for glob 'php7.2*' Note, selecting 'php7.2-mysqlnd' for glob 'php7.2*' Note, selecting 'php7.2-xmlrpc' for glob 'php7.2*' Note, selecting 'php7.2-soap' for glob 'php7.2*' Note, selecting 'php7.2-solr' for glob 'php7.2*' Note, selecting 'php7.2-simplexml' for glob 'php7.2*' Note, selecting 'php7.2-ssh2' for glob 'php7.2*' Note, selecting 'php7.2-pdo-sqlite' for glob 'php7.2*' Note, selecting 'php7.2-pdo-dblib' for glob 'php7.2*' Note, selecting 'php7.2-pspell' for glob 'php7.2*' Note, selecting 'php7.2-amqp' for glob 'php7.2*' Note, selecting 'php7.2-gmagick' for glob 'php7.2*' Note, selecting 'php7.2-pgsql' for glob 'php7.2*' Note, selecting 'php7.2-enchant' for glob 'php7.2*' Note, selecting 'php7.2-recode' for glob 'php7.2*' Note, selecting 'php7.2-tideways' for glob 'php7.2*' Note, selecting 'php7.2-shmop' for glob 'php7.2*' Note, selecting 'php7.2-libsodium' for glob 'php7.2*' Note, selecting 'php7.2-propro' for glob 'php7.2*' Note, selecting 'php7.2-gettext' for glob 'php7.2*' Note, selecting 'php7.2-apcu' for glob 'php7.2*' Note, selecting 'php7.2-pdo-firebird' for glob 'php7.2*' Note, selecting 'php7.2-exif' for glob 'php7.2*' Note, selecting 'php7.2-ctype' for glob 'php7.2*' Note, selecting 'php7.2-http' for glob 'php7.2*' Note, selecting 'php7.2-geoip' for glob 'php7.2*' Note, selecting 'php7.2-xdebug' for glob 'php7.2*' 패키지 'php7.2-sodium'는 설치되어 있지 않아, 지우지 않았습니다. 주의, 'php7.2-calendar' 대신에 'php7.2-common' 패키지를 선택합니다 주의, 'php7.2-ctype' 대신에 'php7.2-common' 패키지를 선택합니다 주의, 'php7.2-exif' 대신에 'php7.2-common' 패키지를 선택합니다 주의, 'php7.2-fileinfo' 대신에 'php7.2-common' 패키지를 선택합니다 주의, 'php7.2-ftp' 대신에 'php7.2-common' 패키지를 선택합니다 주의, 'php7.2-gettext' 대신에 'php7.2-common' 패키지를 선택합니다 주의, 'php7.2-iconv' 대신에 'php7.2-common' 패키지를 선택합니다 주의, 'php7.2-pdo' 대신에 'php7.2-common' 패키지를 선택합니다 주의, 'php7.2-phar' 대신에 'php7.2-common' 패키지를 선택합니다 주의, 'php7.2-posix' 대신에 'php7.2-common' 패키지를 선택합니다 주의, 'php7.2-shmop' 대신에 'php7.2-common' 패키지를 선택합니다 주의, 'php7.2-sockets' 대신에 'php7.2-common' 패키지를 선택합니다 주의, 'php7.2-sysvmsg' 대신에 'php7.2-common' 패키지를 선택합니다 주의, 'php7.2-sysvsem' 대신에 'php7.2-common' 패키지를 선택합니다 주의, 'php7.2-sysvshm' 대신에 'php7.2-common' 패키지를 선택합니다 주의, 'php7.2-tokenizer' 대신에 'php7.2-common' 패키지를 선택합니다 주의, 'php7.2-mysqli' 대신에 'php7.2-mysql' 패키지를 선택합니다 주의, 'php7.2-mysqlnd' 대신에 'php7.2-mysql' 패키지를 선택합니다 주의, 'php7.2-pdo-mysql' 대신에 'php7.2-mysql' 패키지를 선택합니다 주의, 'php7.2-pdo-odbc' 대신에 'php7.2-odbc' 패키지를 선택합니다 주의, 'php7.2-pdo-pgsql' 대신에 'php7.2-pgsql' 패키지를 선택합니다 주의, 'php7.2-pdo-sqlite' 대신에 'php7.2-sqlite3' 패키지를 선택합니다 주의, 'php7.2-dom' 대신에 'php7.2-xml' 패키지를 선택합니다 주의, 'php7.2-simplexml' 대신에 'php7.2-xml' 패키지를 선택합니다 주의, 'php7.2-wddx' 대신에 'php7.2-xml' 패키지를 선택합니다 주의, 'php7.2-xmlreader' 대신에 'php7.2-xml' 패키지를 선택합니다 주의, 'php7.2-xmlwriter' 대신에 'php7.2-xml' 패키지를 선택합니다 주의, 'php7.2-amqp' 대신에 'php-amqp' 패키지를 선택합니다 주의, 'php7.2-apcu' 대신에 'php-apcu' 패키지를 선택합니다 주의, 'php7.2-ds' 대신에 'php-ds' 패키지를 선택합니다 주의, 'php7.2-gearman' 대신에 'php-gearman' 패키지를 선택합니다 주의, 'php7.2-geoip' 대신에 'php-geoip' 패키지를 선택합니다 주의, 'php7.2-gmagick' 대신에 'php-gmagick' 패키지를 선택합니다 주의, 'php7.2-gnupg' 대신에 'php-gnupg' 패키지를 선택합니다 주의, 'php7.2-http' 대신에 'php-http' 패키지를 선택합니다 주의, 'php7.2-igbinary' 대신에 'php-igbinary' 패키지를 선택합니다 주의, 'php7.2-imagick' 대신에 'php-imagick' 패키지를 선택합니다 주의, 'php7.2-libsodium' 대신에 'php-libsodium' 패키지를 선택합니다 주의, 'php7.2-mailparse' 대신에 'php-mailparse' 패키지를 선택합니다 주의, 'php7.2-memcache' 대신에 'php-memcache' 패키지를 선택합니다 주의, 'php7.2-memcached' 대신에 'php-memcached' 패키지를 선택합니다 주의, 'php7.2-mongodb' 대신에 'php-mongodb' 패키지를 선택합니다 주의, 'php7.2-msgpack' 대신에 'php-msgpack' 패키지를 선택합니다 주의, 'php7.2-oauth' 대신에 'php-oauth' 패키지를 선택합니다 주의, 'php7.2-pinba' 대신에 'php-pinba' 패키지를 선택합니다 주의, 'php7.2-propro' 대신에 'php-propro' 패키지를 선택합니다 주의, 'php7.2-ps' 대신에 'php-ps' 패키지를 선택합니다 주의, 'php7.2-radius' 대신에 'php-radius' 패키지를 선택합니다 주의, 'php7.2-raphf' 대신에 'php-raphf' 패키지를 선택합니다 주의, 'php7.2-redis' 대신에 'php-redis' 패키지를 선택합니다 주의, 'php7.2-rrd' 대신에 'php-rrd' 패키지를 선택합니다 주의, 'php7.2-sass' 대신에 'php-sass' 패키지를 선택합니다 주의, 'php7.2-smbclient' 대신에 'php-smbclient' 패키지를 선택합니다 주의, 'php7.2-solr' 대신에 'php-solr' 패키지를 선택합니다 주의, 'php7.2-ssh2' 대신에 'php-ssh2' 패키지를 선택합니다 주의, 'php7.2-stomp' 대신에 'php-stomp' 패키지를 선택합니다 주의, 'php7.2-tideways' 대신에 'php-tideways' 패키지를 선택합니다 주의, 'php7.2-uploadprogress' 대신에 'php-uploadprogress' 패키지를 선택합니다 주의, 'php7.2-uuid' 대신에 'php-uuid' 패키지를 선택합니다 주의, 'php7.2-xdebug' 대신에 'php-xdebug' 패키지를 선택합니다 주의, 'php7.2-yac' 대신에 'php-yac' 패키지를 선택합니다 주의, 'php7.2-yaml' 대신에 'php-yaml' 패키지를 선택합니다 주의, 'php7.2-zmq' 대신에 'php-zmq' 패키지를 선택합니다 주의, 'php7.2-pdo-firebird' 대신에 'php7.2-interbase' 패키지를 선택합니다 주의, 'php7.2-pdo-dblib' 대신에 'php7.2-sybase' 패키지를 선택합니다 주의, 'php7.2-apcu-bc' 대신에 'php-apcu-bc' 패키지를 선택합니다 주의, 'php7.2-phalcon' 대신에 'php-phalcon' 패키지를 선택합니다 주의, 'php7.2-lua' 대신에 'php-lua' 패키지를 선택합니다 패키지 'php7.2-bcmath'는 설치되어 있지 않아, 지우지 않았습니다. 패키지 'php7.2-cgi'는 설치되어 있지 않아, 지우지 않았습니다. 패키지 'php7.2-dba'는 설치되어 있지 않아, 지우지 않았습니다. 패키지 'php7.2-dev'는 설치되어 있지 않아, 지우지 않았습니다. 패키지 'php7.2-enchant'는 설치되어 있지 않아, 지우지 않았습니다. 패키지 'php7.2-fpm'는 설치되어 있지 않아, 지우지 않았습니다. 패키지 'php7.2-gmp'는 설치되어 있지 않아, 지우지 않았습니다. 패키지 'php7.2-imap'는 설치되어 있지 않아, 지우지 않았습니다. 패키지 'php7.2-interbase'는 설치되어 있지 않아, 지우지 않았습니다. 패키지 'php7.2-ldap'는 설치되어 있지 않아, 지우지 않았습니다. 패키지 'php7.2-odbc'는 설치되어 있지 않아, 지우지 않았습니다. 패키지 'php7.2-pgsql'는 설치되어 있지 않아, 지우지 않았습니다. 패키지 'php7.2-phpdbg'는 설치되어 있지 않아, 지우지 않았습니다. 패키지 'php7.2-pspell'는 설치되어 있지 않아, 지우지 않았습니다. 패키지 'php7.2-recode'는 설치되어 있지 않아, 지우지 않았습니다. 패키지 'php7.2-snmp'는 설치되어 있지 않아, 지우지 않았습니다. 패키지 'php7.2-soap'는 설치되어 있지 않아, 지우지 않았습니다. 패키지 'php7.2-sqlite3'는 설치되어 있지 않아, 지우지 않았습니다. 패키지 'php7.2-sybase'는 설치되어 있지 않아, 지우지 않았습니다. 패키지 'php7.2-tidy'는 설치되어 있지 않아, 지우지 않았습니다. 패키지 'php7.2-xmlrpc'는 설치되어 있지 않아, 지우지 않았습니다. 패키지 'php7.2-xsl'는 설치되어 있지 않아, 지우지 않았습니다. 다음의 추가 패키지가 설치될 것입니다 : libpcre3 php-apcu php-apcu-bc php-common 다음 패키지를 지울 것입니다: libapache2-mod-php7.2* php* php-bz2* php-cli* php-curl* php-gd* php-intl* php-mbstring* php-mysql* php-xml* php-zip* php7.2* php7.2-bz2* php7.2-cli* php7.2-common* php7.2-curl* php7.2-gd* php7.2-intl* php7.2-json* php7.2-mbstring* php7.2-mysql* php7.2-opcache* php7.2-readline* php7.2-xml* php7.2-zip* 다음 패키지를 업그레이드할 것입니다: libpcre3 php-apcu php-apcu-bc php-common 4개 업그레이드, 0개 새로 설치, 25개 제거 및 8개 업그레이드 안 함. 362 k바이트 아카이브를 받아야 합니다. 이 작업 후 20.2 M바이트의 디스크 공간이 비워집니다. 계속 하시겠습니까? [Y/n]
sudo apt-get purge `dpkg -l | grep php7.2| awk '{print $2}' |tr "\n" " "` 명령
study@study-VirtualBox:~$ sudo apt-get purge `dpkg -l | grep php7.2| awk '{print $2}' |tr "\n" " "` [sudo] study의 암호: 패키지 목록을 읽는 중입니다... 완료 의존성 트리를 만드는 중입니다 상태 정보를 읽는 중입니다... 완료 다음의 추가 패키지가 설치될 것입니다 : php-apcu php-apcu-bc php-common 다음 패키지를 지울 것입니다: libapache2-mod-php7.2* php* php-bz2* php-cli* php-curl* php-gd* php-intl* php-mbstring* php-mysql* php-xml* php-zip* php7.2* php7.2-bz2* php7.2-cli* php7.2-common* php7.2-curl* php7.2-gd* php7.2-intl* php7.2-json* php7.2-mbstring* php7.2-mysql* php7.2-opcache* php7.2-readline* php7.2-xml* php7.2-zip* 다음 패키지를 업그레이드할 것입니다: php-apcu php-apcu-bc php-common 3개 업그레이드, 0개 새로 설치, 25개 제거 및 9개 업그레이드 안 함. 124 k바이트 아카이브를 받아야 합니다. 이 작업 후 20.1 M바이트의 디스크 공간이 비워집니다. 계속 하시겠습니까? [Y/n]개인적으로 용량의 문제만 없다면 굳이 제거하지 않는 것이 좋지 않을까 싶습니다. 만약 업그레이드하여 문제가 생긴 경우 다시 복원할 필요가 생길 수도 있기 때문입니다.
여러분 수고하셨습니다.
'서버 운영 > APM 서버 구축' 카테고리의 다른 글
PHP 7.3으로의 업그레이드 및 사용 연기 권장 안내 - PHP Notice: compact(): Undefined variable: (0) | 2019.03.15 |
---|---|
[Samba]호스트[윈도10]에서 게스트[리눅스]의 폴더에 접근하기 03 - 네트워크 드라이브 연결, 네트워크 위치 추가(바로가기 등록) (0) | 2019.03.08 |
[Samba]호스트[윈도10]에서 게스트[리눅스]의 폴더에 접근하기 02 - 삼바(Samba) 설치와 설정 (0) | 2019.03.06 |
[Samba]호스트[윈도10]에서 게스트[리눅스]의 폴더에 접근하기 01 - 삼바(Samba) 설치 전 작업들 (0) | 2019.03.05 |
MariaDB & MySQL 백업과 복원 - Nextcloud 14 (0) | 2019.01.15 |
phpmyadmin 설치 - APT 패키지 관리자를 통한 설치 (0) | 2018.11.23 |
서버 환경 파일 수정 - php.ini, apache2.conf (0) | 2018.11.21 |
PHP7 설치 (0) | 2018.11.19 |