Ubuntu 14.04 we 14.10-da Apache ýa-da Nginx üçin PHP 7-ni nädip gurmaly


PHP 7.0-iň durnukly wersiýasy çykandan birnäçe aý soň, köne wersiýalardan kämilleşdirmek hakda pikir etmegiň iň amatly wagty bolup biler.

Esasanam önümçilik gurşawynda täzelenmeler barada hemişe seresaplylyk bar, ýöne tizligiň gowulaşmagyndan lezzet almak üçin täzelenmek gowy zat, şeýle hem skalar görnüşli yşarat we başga-da köp zatlar.

PHP-iň iki wersiýasyny ulgamyňyza gurnap, birini synag maksatly ulanyp bilersiňiz, ýöne belli bir wagtda diňe bir PHP Apache modulyny açýandygyňyzy ýadyňyzdan çykarmaň.

Bu gollanma, Apache web serweri ýa-da Nginx web serweri bilen baglanyşykly PHP-FPM bilen mod_php ulanyp, PHP 5.X-den täzelenmäge ünsi jemleýär.

  1. PHP 7-ni Ubuntu 14.04 we 14.10
  2. guruň
  3. Apache Web Server-iň aşagyndaky PHP 7.0-a täzelenmek
  4. Nginx Web Server
  5. PHP 7.0-e täzelenmek

Indi PHP-iň iň soňky wersiýasyna nädip täzeläp boljakdygyny we ulgamyňyzy ulanmak üçin sazlap biljekdigiňize göz aýlalyň.

Ubuntu 14.04 we 14.10-da PHP 7-ni nädip gurmaly

Ilki bilen, Ondřej Surý tarapyndan Debian we Untu ýaly emele gelenler üçin aşakdaky PPA goşup, aşakdaky buýrugy işledip goşmaly bolarsyňyz:

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

Indiki ulgamyňyzy aşakdaky ýaly täzeläň:

$ sudo apt-get update

Hemmesi indi düzüldi, siz PHP 7.0 gurup bilersiňiz, ýöne Apache we Nginx-iň täzelenmegine dürli bölümlerde serederis.

Bu bölüm, kod mod_php modulyny ulanyp, PHP kody ýerine ýetirilýän Apache işleýän ulgamlar üçin niýetlenendir. Iň soňky PHP wersiýasyny aşakdaky buýrugy işlediň:

$ 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 indi ulgamyňyzda täzelendi, ýöne MySQL maglumat bazasyny dolandyrmak ulgamyny ulanýan bolsaňyz, PHP-MySQL baglanyşygyny täzelemek üçin aşakdaky buýrugy ýerine ýetirmeli bolarsyňyz, şeýle hem Curl, GD ýaly peýdaly modullary gurmaly bolarsyňyz. , Cli, JSON we ş.m.

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

Goşmaça PHP7.0 modullaryny gurmak isleseňiz, ähli PHP7.0 modullaryny sanamak we gurmak üçin apt-cache buýrugyny ulanyp bilersiňiz.

$ 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 we onuň modullary gurlansoň, Apache web serweriňizi täzeden açyp bilersiňiz we PHP wersiýasyny görkezilişi ýaly barlap bilersiňiz:

$ 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

Şeýle hem,/var/www/html katalogynyň aşagynda info.php faýly döretmek arkaly PHP7 maglumatyny barlap bilersiňiz.

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

Aşakdaky kody ýerleşdiriň we sahypa http://server_IP-address/info.php arkaly giriň.

<?php
phpinfo();
?>

Bu bölüm, PHP7.0-a täzelenmek we PHP-FPM ulanyp, PHP-FPM ulanyp, Nginx Web serweri bilen PHP-FPM-i täzelemek prosesini başdan geçirýär.

Iň soňky PHP-FPM paketlerini gurmak üçin aşakdaky buýrugy işlediň:

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

PHP indi täzelendi, ýöne MySQL ulanýan bolsaňyz, PHP-MySQL baglanyşygyny we görkezilişi ýaly käbir goşmaça modullary täzelemek üçin aşakdaky buýrugy ýerine ýetirmeli bolarsyňyz:

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

Ondan soň, fastcgi_pass direktiwasyny/etc/nginx/sites-enable/default ýa-da PHP-ni ulanmaly we goldamaly wirtual saýtlaryňyz üçin ähli faýllary goşmaly. PHP-iň Nginx bilen habarlaşmak üçin ulanýan soket faýly üýtgedi.

Halaýan redaktoryňyzy ulanyň we redaktirlemek üçin faýly aşakdaky ýaly açyň:

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

Aşakdaky ýaly üýtgediň ýa-da goşuň:

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

Soňra Nginx we php-fpm-i aşakdaky ýaly täzeden açyň:

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

Netijede, PHP-iň işleýändigini ýa-da işlemeýändigini ilki bilen PHP wersiýaňyzy barlap, soňra bolsa web serweri bilen synap bilersiňiz.

$ php -v

PHP paketleriňiz barada/usr/share/nginx/html/katalogynyň aşagyndaky kiçijik info.php faýly ýazyp maglumat alarsyňyz:

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

Bu kody info.php faýlyňyza salyň:

<?php
phpinfo();
?>

Faýly ýazdyryň we çykyň.

Web brauzeriňizi açyň, http://server_IP-address/info.php giriziň we PHP paketiňiz barada jikme-jiklikleri görkezýän aşakdaky sahypany görüp bilersiňiz.

Indi Ubuntu 14.04/14.10 ulgamyňyzda PHP 7.0-i bagtly ulanyp bilersiňiz, bu gollanmany peýdaly taparsyňyz diýip umyt edýärin.

PHP ýa-da soraglary kämilleşdirmek bilen baglanyşykly goşmaça maglumat üçin teswirleriňizi aşakdaky teswir bölüminde kabul edip bilersiňiz.