Cum se instalează PHP 7 pentru Apache sau Nginx pe Ubuntu 14.04 și 14.10


La câteva luni după lansarea versiunii stabile a PHP 7.0, acesta ar putea fi momentul potrivit pentru a vă gândi să faceți upgrade la ea de la versiunile vechi.

Există întotdeauna precauție cu privire la upgrade-uri, mai ales într-un mediu de producție, dar este o idee bună acum să faceți upgrade pentru a vă bucura de îmbunătățiri ale vitezei și, de asemenea, de funcții precum sugestiile de tip scalar și multe altele.

Puteți instala două versiuni de PHP pe sistemul dvs. și puteți utiliza una în scopuri de testare, dar rețineți că activați doar un singur module PHP Apache într-un anumit timp.

Acest ghid se concentrează pe actualizarea de la PHP 5.X, folosind mod_php în legătură cu serverul web Apache sau PHP-FPM > în legătură cu serverul web Nginx.

  1. Instalați PHP 7 în Ubuntu 14.04 și 14.10
  2. Actualizarea la PHP 7.0 sub Apache Web Server
  3. Actualizarea la PHP 7.0 sub serverul web Nginx

Acum haideți să descoperim cum puteți face upgrade la cea mai recentă versiune de PHP și, de asemenea, vă configurați sistemul pentru a o utiliza.

Cum se instalează PHP 7 în Ubuntu 14.04 și 14.10

Mai întâi, va trebui să adăugați PPA menținut de Ondřej Surý pentru Debian și derivatele sale, cum ar fi Ubuntu, rulând comanda de mai jos:

sudo add-apt-repository ppa:ondrej/php

În continuare, actualizați sistemul după cum urmează:

sudo apt-get update

Totul este acum setat și puteți instala PHP 7.0, dar ne vom uita la upgrade pentru Apache și Nginx în diferite secțiuni.

Actualizarea la PHP 7.0 sub Apache Web Server

Această secțiune este pentru sistemele care rulează Apache, unde codul PHP este executat folosind modulul mod_php. Instalați cea mai recentă versiune PHP, rulând comanda de mai jos:

sudo apt-get install php7.0
Ieșire eșantion

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 a fost acum actualizat pe sistemul dvs., dar dacă utilizați sistemul de gestionare a bazelor de date MySQL, atunci va trebui să executați următoarea comandă pentru a actualiza legătura PHP-MySQL și de asemenea, va trebui să instalați câteva module utile precum Curl, GD, Cli, JSON etc.

sudo apt-get install php7.0-mysql php7.0-cli php7.0-gd php7.0-json 

Dacă doriți să instalați module PHP7.0 suplimentare, puteți utiliza comanda apt-cache pentru a lista toate modulele PHP7.0 și pentru a le instala.

sudo apt-cache search php7
Ieșire eșantion

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

Odată instalate PHP7.0 și modulele sale, puteți reporni serverul dvs. web Apache și verificați versiunea PHP așa cum se arată:

sudo service apache2 restart
php -v
Ieșire eșantion

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

De asemenea, puteți verifica informațiile PHP7 creând un fișier info.php în directorul /var/www/html.


sudo vi /var/www/html/info.php

Introdu următorul cod și accesează pagina prin http://server_IP-address/info.php.


<?php
phpinfo();
?>

Actualizarea la PHP 7.0 sub serverul web Nginx

Această secțiune vă ghidează prin procesul de actualizare la PHP7.0 și de actualizare a PHP-FPM cu serverul web Nginx, unde codul PHP este executat utilizând PHP-FPM<.

Rulați comanda de mai jos pentru a instala cele mai recente pachete PHP-FPM:

sudo apt-get install php7.0
sudo apt-get install php7.0-fpm

PHP a fost acum actualizat, dar dacă utilizați MySQL, atunci va trebui să executați următoarea comandă pentru a actualiza legătura PHP-MySQL și câteva module suplimentare, după cum se arată:

sudo apt-get install php7.0-mysql php7.0-cli php7.0-gd php7.0-json 

Apoi, trebuie să atașați directiva fastcgi_pass în fișierul /etc/nginx/sites-enabled/default sau în toate fișierele pentru site-urile dvs. virtuale care trebuie să utilizeze și să accepte PHP , deoarece calea fișierului socket PHP-FPM pe care PHP îl folosește pentru a comunica cu Nginx s-a schimbat.

Utilizați editorul preferat și deschideți fișierul pentru editare după cum urmează:


sudo vi /etc/nginx/sites-enabled/default 

Modificați sau adăugați după cum urmează:


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;
}

Apoi reporniți Nginx și php-fpm după cum urmează:


sudo service nginx restart
sudo service php7.0-fpm restart

În cele din urmă, puteți testa dacă PHP funcționează sau nu verificând mai întâi versiunea dvs. PHP și apoi testând-o cu serverul web.

php -v

Obțineți informații despre pachetele dvs. PHP scriind un mic fișier info.php în directorul /usr/share/nginx/html/:

sudo vi /usr/share/nginx/html/info.php 

Puneți acest cod în fișierul dvs. info.php:

<?php
phpinfo();
?>

Salvați și ieșiți din fișier.

Deschideți browserul web, introduceți http://server_IP-address/info.php și ar trebui să puteți vedea pagina de mai jos care vă arată detalii despre pachetul dvs. PHP.

Acum puteți folosi cu plăcere PHP 7.0 pe sistemul dvs. Ubuntu 14.04/14.10 și sper că veți găsi acest ghid de ajutor.

Pentru orice informații suplimentare referitoare la actualizarea PHP sau întrebări, comentariile dumneavoastră sunt binevenite în secțiunea de comentarii de mai jos.