PHP 7:n asentaminen Apachelle tai Nginxille Ubuntu 14.04 ja 14.10


Kuukausia sen jälkeen, kun PHP 7.0:n vakaa versio julkaistiin, tämä voi olla oikea aika harkita päivittämistä siihen vanhoista versioista.

Päivityksessä on aina oltava varovainen varsinkin tuotantoympäristössä, mutta nyt on hyvä idea päivittää, jotta voit nauttia nopeuden parannuksista ja myös ominaisuuksista, kuten skalaarityyppisestä vihjauksesta ja monista muista.

Voit asentaa järjestelmääsi kaksi PHP-versiota ja käyttää yhtä testaustarkoituksiin, mutta muista, että otat käyttöön vain yhden PHP Apache -moduulin tietyn ajan kuluessa.

Tämä opas keskittyy päivittämiseen PHP 5.X:stä käyttämällä mod_php-yhteyttä Apache-verkkopalvelimen tai PHP-FPM:n kanssa. > Nginx-verkkopalvelimen yhteydessä.

  1. Asenna PHP 7 Ubuntuun 14.04 ja 14.10
  2. Päivitys PHP 7.0:aan Apache Web Server -palvelimella
  3. Päivitys PHP 7.0:aan Nginx Web Serverin alla

Sukellaan nyt siihen, kuinka voit päivittää PHP:n uusimpaan versioon ja myös määrittää järjestelmäsi käyttämään sitä.

PHP 7:n asentaminen Ubuntuun 14.04 ja 14.10

Ensin sinun on lisättävä PPA, jota ylläpitää Ondřej Surý Debianille ja sen johdannaisille, kuten Ubuntu, suorittamalla alla oleva komento:

sudo add-apt-repository ppa:ondrej/php

Päivitä seuraavaksi järjestelmäsi seuraavasti:

sudo apt-get update

Kaikki on nyt asetettu, ja voit asentaa PHP 7.0:n, mutta tarkastelemme päivitystä Apachelle ja Nginxille eri osioissa.

Päivitys PHP 7.0:aan Apache Web Server -palvelimella

Tämä osio on tarkoitettu Apachea käyttäville järjestelmille, joissa PHP-koodi suoritetaan mod_php-moduulilla. Asenna uusin PHP-versio käyttämällä alla olevaa komentoa:

sudo apt-get install php7.0
Näytelähtö

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 nyt päivitetty järjestelmässäsi, mutta jos käytät MySQL-tietokannan hallintajärjestelmää, sinun on suoritettava seuraava komento päivittääksesi PHP-MySQL-sidoksen ja Lisäksi sinun on asennettava joitain hyödyllisiä moduuleja, kuten Curl, GD, Cli, JSON jne.

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

Jos haluat asentaa lisää PHP7.0-moduuleja, voit käyttää apt-cache-komentoa luetteloimaan kaikki PHP7.0-moduulit ja asentamaan.

sudo apt-cache search php7
Näytelähtö

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

Kun PHP7.0 ja sen moduulit on asennettu, voit käynnistää Apache-verkkopalvelimen uudelleen ja tarkistaa PHP-version kuvan osoittamalla tavalla:

sudo service apache2 restart
php -v
Näytelähtö

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

Voit myös tarkistaa PHP7-tiedot luomalla info.php-tiedoston /var/www/html-hakemistoon.


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

Aseta seuraava koodi ja siirry sivulle osoitteessa http://server_IP-address/info.php.


<?php
phpinfo();
?>

Päivitys PHP 7.0:aan Nginx Web Serverin alla

Tämä osio opastaa sinua päivittämään PHP7.0:aan ja päivittämään PHP-FPM Nginx-verkkopalvelimella, jossa PHP-koodi suoritetaan PHP-FPM:llä<..

Suorita alla oleva komento asentaaksesi uusimmat PHP-FPM-paketit:

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

PHP on nyt päivitetty, mutta jos käytät MySQL:ää, sinun on suoritettava seuraava komento päivittääksesi PHP-MySQL-sidos ja joitain lisämoduuleja kuvan mukaisesti:

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

Seuraavaksi sinun on liitettävä fastcgi_pass-direktiivi tiedostoon /etc/nginx/sites-enabled/default tai kaikkiin virtuaalisten sivustojesi tiedostoihin, joiden on käytettävä ja tuettava PHP:tä. , koska PHP:n Nginxin kanssa kommunikoimaan käyttämän PHP-FPM-kantatiedoston polku on muuttunut.

Käytä suosikkieditoriasi ja avaa tiedosto muokkausta varten seuraavasti:


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

Muokkaa tai lisää seuraavasti:


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

Käynnistä sitten Nginx ja php-fpm uudelleen seuraavasti:


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

Lopuksi voit testata, toimiiko PHP vai ei, tarkistamalla ensin PHP-versiosi ja testaamalla sitä sitten Web-palvelimella.

php -v

Saat tietoa PHP-paketteistasi kirjoittamalla pienen info.php-tiedoston /usr/share/nginx/html/-hakemistoon:

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

Laita tämä koodi info.php-tiedostoosi:

<?php
phpinfo();
?>

Tallenna ja poistu tiedostosta.

Avaa verkkoselaimesi, kirjoita http://server_IP-address/info.php ja sinun pitäisi nähdä alla oleva sivu, joka näyttää tietoja PHP-paketistasi.

Voit nyt iloisesti käyttää PHP 7.0:aa Ubuntu 14.04/14.10 -järjestelmässäsi, ja toivon, että tästä oppaasta on apua.

Jos haluat lisätietoja PHP:n päivittämisestä tai sinulla on kysyttävää, kommentit ovat tervetulleita alla olevaan kommenttiosaan.