Apache või Nginxi jaoks PHP 7 installimine Ubuntu 14.04 ja 14.10


Kuu aega pärast PHP 7.0 stabiilse versiooni väljaandmist võib see olla teie jaoks õige aeg mõelda selle vanadele versioonidele üleminekule.

Uuenduste osas on alati ettevaatus, eriti tootmiskeskkonnas, kuid nüüd on hea mõte uuendada, et nautida kiiruse täiustamist, ning ka selliseid funktsioone nagu skalaarse tüübi vihjeid ja palju muud.

Võite oma süsteemi installida kaks PHP versiooni ja testimiseks kasutada ühte, kuid pidage meeles, et lubate etteantud aja jooksul ainult ühe PHP Apache mooduli.

See juhend keskendub uuemale versioonile PHP 5.X-st, kasutades mod_php-d koos Apache veebiserveriga või PHP-FPM-i seoses Nginx veebiserveriga.

  1. Installige PHP 7 Ubuntu 14.04 ja 14.10
  2. Apache veebiserveri versiooniuuendus versioonile PHP 7.0
  3. Üleminek PHP 7.0-le Nginxi veebiserveri all

Nüüd laseme uurida, kuidas saate uuemale versioonile üle minna PHP-le, ja konfigureerige oma süsteem selle kasutamiseks.

Kuidas installida PHP 7 Ubuntu 14.04 ja 14.10

Esiteks peate lisama Debiani ja selle derivaatide, näiteks Ubuntu, Ondřej Surý hooldatud PPA, käivitades alltoodud käsu:

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

Järgmisena värskendage oma süsteemi järgmiselt:

$ sudo apt-get update

Kõik on nüüd seatud ja saate installida PHP 7.0, kuid uurime Apache ja Nginxi versiooniuuendusi erinevates jaotistes.

See jaotis on mõeldud süsteemidele, kus töötab Apache, kus PHP-kood käivitatakse mooduli mod_php abil. Paigaldage uusim PHP versioon alltoodud käsku käivitades:

$ 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 on nüüd teie süsteemis täiendatud, kuid kui kasutate MySQL-i andmebaaside haldussüsteemi, peate PHP-MySQL-i sidumise värskendamiseks täitma järgmise käsu ja lisaks peate installima mõned kasulikud moodulid, näiteks Curl, GD , Cli, JSON jne.

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

Kui soovite installida täiendavaid PHP7.0 mooduleid, võite kõigi PHP7.0 moodulite loetlemiseks ja installimiseks kasutada käsku apt-cache.

$ 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

Kui PHP7.0 ja selle moodulid on installitud, saate oma Apache veebiserveri taaskäivitada ja PHP versiooni kontrollida, nagu näidatud:

$ 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

Samuti saate PHP7 teavet kontrollida, luues kataloogi/var/www/html faili info.php .

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

Sisestage järgmine kood ja pääsege lehele http://server_IP-adressi/info.php kaudu.

<?php
phpinfo();
?>

Selles jaotises tutvustatakse PHP7.0 versioonile üleminekut ja PHP-FPM värskendamist Nginxi veebiserveriga, kus PHP kood käivitatakse PHP-FPM abil.

Uusimate PHP-FPM-i pakettide installimiseks käivitage allolev käsk:

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

PHP on nüüd täiendatud, kuid kui kasutate MySQL-i, peate PHP-MySQL-i sidumise ja mõnede lisamoodulite värskendamiseks täitma järgmise käsu, nagu näidatud:

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

Järgmisena peate lisama fastcgi_pass -i faili faili/etc/nginx/sites-enabled/default või kõik oma virtuaalsaitide failid, mis peavad PHP-d kasutama ja toetama, kuna PHP-i tee -FPM sokli fail, mida PHP kasutab Nginxiga suhtlemiseks, on muutunud.

Kasutage oma lemmikredaktorit ja avage fail redigeerimiseks järgmiselt:

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

Muutke või lisage järgmiselt:

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

Seejärel taaskäivitage Nginx ja php-fpm järgmiselt:

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

Lõpuks saate testida, kas PHP töötab või mitte, kontrollides kõigepealt oma PHP versiooni ja seejärel seda veebiserveriga.

$ php -v

Teavet oma PHP-pakettide kohta saate kirjutades väikese info.php-faili kataloogi/usr/share/nginx/html/kataloogi:

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

Pange see kood oma faili info.php:

<?php
phpinfo();
?>

Salvestage ja väljuge failist.

Avage oma veebibrauser, sisestage http://server_IP-address/info.php ja peaksite nägema allolevat lehte, kus kuvatakse üksikasjad teie PHP-paketi kohta.

Nüüd saate oma Ubuntu 14.04/14.10 süsteemis rõõmsalt kasutada PHP 7.0 ja loodan, et leiate sellest juhendist abi.

PHP täiendamise kohta lisaküsimuste ja küsimuste saamiseks võite kommentaare oodata allpool olevast kommentaaride jaotisest.