Ubuntu 14.04 및 14.10에서 Apache 또는 Nginx용 PHP 7을 설치하는 방법
PHP 7.0의 안정적인 버전이 출시된 지 몇 개월이 지난 지금이 이전 버전에서 업그레이드를 고려할 적기입니다.
특히 프로덕션 환경에서는 업그레이드에 대해 항상 주의해야 하지만 속도 향상과 스칼라 유형 힌트 및 기타 기능과 같은 기능을 즐길 수 있도록 지금 업그레이드하는 것이 좋습니다.

시스템에 두 가지 버전의 PHP를 설치하고 테스트 목적으로 하나를 사용할 수 있지만 주어진 시간에 하나의 PHP Apache 모듈만 활성화한다는 점을 기억하십시오.
이 가이드는 Apache 웹 서버 또는 PHP-FPM과 연결된 mod_php를 사용하여 PHP 5.X에서 업그레이드하는 데 중점을 둡니다. > Nginx 웹 서버와 연결합니다.
- Ubuntu 14.04 및 14.10에 PHP 7 설치
- Apache 웹 서버에서 PHP 7.0으로 업그레이드
- Nginx 웹 서버에서 PHP 7.0으로 업그레이드
이제 최신 버전의 PHP로 업그레이드하고 이를 사용하도록 시스템을 구성하는 방법에 대해 살펴보겠습니다.
Ubuntu 14.04 및 14.10에서 PHP 7을 설치하는 방법
먼저 아래 명령을 실행하여 Debian 및 Ubuntu와 같은 파생 제품에 대해 Ondřej Surý에서 관리하는 PPA를 추가해야 합니다.
$ sudo add-apt-repository ppa:ondrej/php
다음으로 다음과 같이 시스템을 업데이트하십시오.
$ sudo apt-get update
이제 모두 설정되었으며 PHP 7.0을 설치할 수 있지만 다른 섹션에서 Apache 및 Nginx에 대한 업그레이드를 살펴보겠습니다.
Apache 웹 서버에서 PHP 7.0으로 업그레이드
이 섹션은 mod_php
모듈을 사용하여 PHP 코드가 실행되는 Apache를 실행하는 시스템을 위한 것입니다. 아래 명령을 실행하여 최신 PHP 버전을 설치합니다.
$ sudo apt-get install php7.0
샘플 출력
Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: libapache2-mod-php7.0 libssl1.0.2 php-common php7.0-cli php7.0-common php7.0-json php7.0-opcache php7.0-readline Suggested packages: php-pear The following NEW packages will be installed: libapache2-mod-php7.0 libssl1.0.2 php-common php7.0 php7.0-cli php7.0-common php7.0-json php7.0-opcache php7.0-readline 0 upgraded, 9 newly installed, 0 to remove and 80 not upgraded. Need to get 4,371 kB of archives. After this operation, 17.2 MB of additional disk space will be used. Do you want to continue? [Y/n] y
이제 시스템에서 PHP가 업그레이드되었지만 MySQL 데이터베이스 관리 시스템을 사용하는 경우 다음 명령을 실행하여 PHP-MySQL 바인딩을 업데이트하고 또한 Curl, GD, Cli, JSON 등과 같은 유용한 모듈을 설치해야 합니다.
$ sudo apt-get install php7.0-mysql php7.0-cli php7.0-gd php7.0-json
추가 PHP7.0 모듈을 설치하려면 apt-cache 명령을 사용하여 모든 PHP7.0 모듈을 나열하고 설치할 수 있습니다.
$ sudo apt-cache search php7
샘플 출력
php-radius - radius client library for PHP php-http - PECL HTTP module for PHP Extended HTTP Support php-uploadprogress - file upload progress tracking extension for PHP php-mongodb - MongoDB driver for PHP php7.0-common - documentation, examples and common module for PHP libapache2-mod-php7.0 - server-side, HTML-embedded scripting language (Apache 2 module) php7.0-cgi - server-side, HTML-embedded scripting language (CGI binary) php7.0-cli - command-line interpreter for the PHP scripting language php7.0-phpdbg - server-side, HTML-embedded scripting language (PHPDBG binary) php7.0-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary) libphp7.0-embed - HTML-embedded scripting language (Embedded SAPI library) php7.0-dev - Files for PHP7.0 module development php7.0-curl - CURL module for PHP php7.0-enchant - Enchant module for PHP php7.0-gd - GD module for PHP php7.0-gmp - GMP module for PHP php7.0-imap - IMAP module for PHP php7.0-interbase - Interbase module for PHP php7.0-intl - Internationalisation module for PHP php7.0-ldap - LDAP module for PHP php7.0-mcrypt - libmcrypt module for PHP php7.0-readline - readline module for PHP php7.0-odbc - ODBC module for PHP php7.0-pgsql - PostgreSQL module for PHP php7.0-pspell - pspell module for PHP php7.0-recode - recode module for PHP php7.0-snmp - SNMP module for PHP php7.0-tidy - tidy module for PHP php7.0-xmlrpc - XMLRPC-EPI module for PHP php7.0-xsl - XSL module for PHP (dummy) php7.0 - server-side, HTML-embedded scripting language (metapackage) php7.0-json - JSON module for PHP php-all-dev - package depending on all supported PHP development packages php7.0-sybase - Sybase module for PHP php7.0-sqlite3 - SQLite3 module for PHP php7.0-mysql - MySQL module for PHP php7.0-opcache - Zend OpCache module for PHP php-apcu - APC User Cache for PHP php-xdebug - Xdebug Module for PHP php-imagick - Provides a wrapper to the ImageMagick library php-ssh2 - Bindings for the libssh2 library php-redis - PHP extension for interfacing with Redis php-memcached - memcached extension module for PHP, uses libmemcached php-apcu-bc - APCu Backwards Compatibility Module php-amqp - AMQP extension for PHP php7.0-bz2 - bzip2 module for PHP php-rrd - PHP bindings to rrd tool system php-uuid - PHP UUID extension php-memcache - memcache extension module for PHP php-gmagick - Provides a wrapper to the GraphicsMagick library php-smbclient - PHP wrapper for libsmbclient php-zmq - ZeroMQ messaging bindings for PHP php-igbinary - igbinary PHP serializer php-msgpack - PHP extension for interfacing with MessagePack php-geoip - GeoIP module for PHP php7.0-bcmath - Bcmath module for PHP php7.0-mbstring - MBSTRING module for PHP php7.0-soap - SOAP module for PHP php7.0-xml - DOM, SimpleXML, WDDX, XML, and XSL module for PHP php7.0-zip - Zip module for PHP php-tideways - Tideways PHP Profiler Extension php-yac - YAC (Yet Another Cache) for PHP php-mailparse - Email message manipulation for PHP php-oauth - OAuth 1.0 consumer and provider extension php-propro - propro module for PHP php-raphf - raphf module for PHP php-solr - PHP extension for communicating with Apache Solr server php-stomp - Streaming Text Oriented Messaging Protocol (STOMP) client module for PHP php-gearman - PHP wrapper to libgearman php7.0-dba - DBA module for PHP
PHP7.0 및 해당 모듈이 설치되면 다음과 같이 Apache 웹 서버를 다시 시작하고 PHP 버전을 확인할 수 있습니다.
$ sudo service apache2 restart $ php -v
샘플 출력
PHP 7.0.7-1+donate.sury.org~trusty+1 (cli) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
/var/www/html 디렉토리 아래에 info.php
파일을 생성하여 PHP7 정보를 확인할 수도 있습니다.
$ sudo vi /var/www/html/info.php
다음 코드를 입력하고 http://server_IP-address/info.php
를 통해 페이지에 액세스합니다.
<?php phpinfo(); ?>

Nginx 웹 서버에서 PHP 7.0으로 업그레이드
이 섹션에서는 PHP7.0으로 업그레이드하고 PHP-FPM을 Nginx 웹 서버로 업데이트하는 과정을 안내합니다. 여기서 PHP 코드는 PHP-FPM<을 사용하여 실행됩니다. /강한>.
아래 명령을 실행하여 최신 PHP-FPM 패키지를 설치합니다.
$ sudo apt-get install php7.0 $ sudo apt-get install php7.0-fpm
이제 PHP가 업그레이드되었지만 MySQL을 사용하는 경우 다음 명령을 실행하여 표시된 대로 PHP-MySQL 바인딩 및 일부 추가 모듈을 업데이트해야 합니다.
$ sudo apt-get install php7.0-mysql php7.0-cli php7.0-gd php7.0-json
다음으로 /etc/nginx/sites-enabled/default 파일 또는 PHP를 사용하고 지원해야 하는 가상 사이트의 모든 파일에 fastcgi_pass
지시문을 추가해야 합니다. , PHP가 Nginx와 통신하는 데 사용하는 PHP-FPM 소켓 파일의 경로가 변경되었기 때문입니다.
즐겨 사용하는 편집기를 사용하고 다음과 같이 편집할 파일을 엽니다.
$ sudo vi /etc/nginx/sites-enabled/default
다음과 같이 수정하거나 추가합니다.
location ~ [^/]\.php(/|$) { fastcgi_split_path_info ^(.+?\.php)(/.*)$; if (!-f $document_root$fastcgi_script_name) { return 404; } fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_index index.php; include fastcgi_params; }
그런 다음 다음과 같이 Nginx와 php-fpm을 다시 시작합니다.
$ sudo service nginx restart $ sudo service php7.0-fpm restart
마지막으로 먼저 PHP 버전을 확인한 다음 웹 서버에서 테스트하여 PHP가 작동하는지 여부를 테스트할 수 있습니다.
$ php -v
/usr/share/nginx/html/ 디렉토리 아래에 작은 info.php 파일을 작성하여 PHP 패키지에 대한 정보를 얻습니다.
$ sudo vi /usr/share/nginx/html/info.php
info.php 파일에 다음 코드를 입력합니다.
<?php phpinfo(); ?>
파일을 저장하고 종료합니다.
웹 브라우저를 열고 http://server_IP-address/info.php
를 입력하면 아래에서 PHP 패키지에 대한 세부 정보를 보여주는 페이지를 볼 수 있습니다.

이제 Ubuntu 14.04/14.10 시스템에서 PHP 7.0을 즐겁게 사용할 수 있으며 이 가이드가 도움이 되었기를 바랍니다.
PHP 업그레이드에 관한 추가 정보나 질문이 있으시면 아래 댓글 섹션에 의견을 남겨주세요.