Kā instalēt PHP 7 Apache vai Nginx operētājsistēmā Ubuntu 14.04 un 14.10


Mēnešus pēc stabilas PHP 7.0 versijas izlaišanas tas varētu būt īstais laiks, lai jūs varētu domāt par jaunināšanu uz to no vecajām versijām.

Vienmēr ir piesardzīgi attiecībā uz jauninājumiem, īpaši ražošanas vidē, taču tagad ir ieteicams jaunināt, lai izbaudītu ātruma uzlabojumus, kā arī tādas funkcijas kā skalārā tipa norādījumi un vēl daudz vairāk.

Varat savā sistēmā instalēt divas PHP versijas un testēšanai izmantot vienu, taču atcerieties, ka noteiktā laikā iespējojat tikai vienu PHP Apache moduli.

Šī rokasgrāmata koncentrējas uz jaunināšanu no PHP 5.X, izmantojot mod_php saistībā ar Apache tīmekļa serveri vai PHP-FPM saistībā ar Nginx tīmekļa serveri.

  1. Instalējiet PHP 7 Ubuntu 14.04 un 14.10
  2. Apache Web Server jaunināšana uz PHP 7.0
  3. Jaunināšana uz PHP 7.0 zem Nginx tīmekļa servera

Tagad ļaujiet mums izpētīt, kā jūs varat jaunināt uz jaunāko PHP versiju, kā arī konfigurējiet savu sistēmu tā izmantošanai.

Kā instalēt PHP 7 Ubuntu 14.04 un 14.10

Pirmkārt, jums būs jāpievieno Ondřej Surý uzturētais PPA Debian un tā atvasinājumiem, piemēram, Ubuntu, palaižot zemāk esošo komandu:

$ sudo add-apt-repository ppa:ondrej/php

Nākamais atjauniniet sistēmu šādi:

$ sudo apt-get update

Tagad viss ir iestatīts, un jūs varat instalēt PHP 7.0, taču mēs aplūkosim Apache un Nginx jaunināšanu dažādās sadaļās.

Šī sadaļa paredzēta sistēmām, kurās darbojas Apache, kur PHP kods tiek izpildīts, izmantojot moduli mod_php . Instalējiet jaunāko PHP versiju, izpildot zemāk esošo komandu:

$ 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 tagad ir jaunināts jūsu sistēmā, bet, ja izmantojat MySQL datu bāzes pārvaldības sistēmu, jums būs jāizpilda šāda komanda, lai atjauninātu PHP-MySQL iesiešanu, kā arī jums būs jāinstalē daži noderīgi moduļi, piemēram, Curl, GD , Cli, JSON utt.

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

Ja vēlaties instalēt papildu PHP7.0 moduļus, varat izmantot komandu apt-cache, lai uzskaitītu visus PHP7.0 moduļus un instalētu.

$ 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

Kad PHP7.0 un tā moduļi ir instalēti, varat restartēt Apache tīmekļa serveri un pārbaudīt PHP versiju, kā parādīts:

$ 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

PHP7 informāciju var pārbaudīt arī, izveidojot info.php failu direktorijā/var/www/html.

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

Ievietojiet šo kodu un piekļūstiet lapai, izmantojot http://server_IP-address/info.php .

<?php
phpinfo();
?>

Šajā sadaļā ir aprakstīts jaunināšanas process uz PHP7.0 un PHP-FPM atjaunināšana ar Nginx tīmekļa serveri, kur PHP kods tiek izpildīts, izmantojot PHP-FPM.

Palaidiet zemāk esošo komandu, lai instalētu jaunākās PHP-FPM paketes:

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

PHP tagad ir jaunināts, bet, ja izmantojat MySQL, jums būs jāizpilda šāda komanda, lai atjauninātu PHP-MySQL iesiešanu un dažus papildu moduļus, kā parādīts:

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

Pēc tam jums jāpievieno direktīva fastcgi_pass failā/etc/nginx/sites-enabled/default vai visi faili virtuālajām vietnēm, kurām jāizmanto un jāatbalsta PHP, jo PHP ceļš -FPM ligzdas fails, ko PHP izmanto, lai sazinātos ar Nginx.

Izmantojiet iecienīto redaktoru un atveriet failu rediģēšanai šādi:

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

Mainiet vai pievienojiet šādi:

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

Pēc tam restartējiet Nginx un php-fpm šādi:

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

Visbeidzot, jūs varat pārbaudīt, vai PHP darbojas vai nedarbojas, vispirms pārbaudot savu PHP versiju un pēc tam pārbaudot to ar tīmekļa serveri.

$ php -v

Jūs saņemat informāciju par PHP pakotnēm, uzrakstot nelielu info.php failu zem/usr/share/nginx/html/direktorija:

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

Ievietojiet šo kodu failā info.php:

<?php
phpinfo();
?>

Saglabājiet un izejiet no faila.

Atveriet savu tīmekļa pārlūkprogrammu, ievadiet http://server_IP-address/info.php , un jums vajadzētu redzēt zemāk esošo lapu, kurā parādīta detalizēta informācija par jūsu PHP pakotni.

Tagad jūs varat ar prieku izmantot PHP 7.0 savā Ubuntu 14.04/14.10 sistēmā, un es ceru, ka šī rokasgrāmata jums būs noderīga.

Lai iegūtu papildinformāciju par PHP jaunināšanu vai jautājumus, komentāri ir laipni gaidīti zemāk esošajā komentāru sadaļā.