Weboldal keresés

A PHP 7 telepítése Apache vagy Nginx számára Ubuntu 14.04 és 14.10 rendszeren


Hónapokkal azután, hogy megjelent a PHP 7.0 stabil verziója, itt az ideje, hogy elgondolkodjon a régi verziókról való frissítésen.

Mindig óvatos a frissítés, különösen éles környezetben, de jó ötlet most frissíteni, hogy élvezhesse a sebességnövekedést, valamint olyan funkciókat, mint a skalár típusú tippelés és még sok más.

A PHP két verzióját telepítheti a rendszerére, és az egyiket használhatja tesztelési célokra, de ne feledje, hogy egy adott idő alatt csak egy PHP Apache modult engedélyez.

Ez az útmutató a PHP 5.X verzióról való frissítésre összpontosít, a mod_php használatával az Apache webszerverrel vagy a PHP-FPM használatával > az Nginx webszerverrel kapcsolatban.

  1. Telepítse a PHP 7-et az Ubuntu 14.04-es és 14.10-es verziójában
  2. Frissítés PHP 7.0-ra Apache webszerver alatt
  3. Frissítés PHP 7.0-ra az Nginx Web Server alatt

Most nézzük meg, hogyan frissíthet a PHP legújabb verziójára, és hogyan konfigurálhatja a rendszert a használatához.

A PHP 7 telepítése az Ubuntu 14.04-ben és 14.10-ben

Először is hozzá kell adnia a PPA-t, amelyet az Ondřej Surý tart fenn a Debianhoz és származékaihoz, például az Ubuntuhoz az alábbi parancs futtatásával:

sudo add-apt-repository ppa:ondrej/php

Következő frissítse a rendszert az alábbiak szerint:

sudo apt-get update

Most már minden be van állítva, és telepítheti a PHP 7.0-t, de megvizsgáljuk az Apache és az Nginx frissítését különböző szakaszokban.

Frissítés PHP 7.0-ra Apache webszerver alatt

Ez a szakasz az Apache-ot futtató rendszerekre vonatkozik, ahol a PHP kódot a mod_php modul segítségével hajtják végre. Telepítse a PHP legújabb verzióját az alábbi parancs futtatásával:

sudo apt-get install php7.0
Minta kimenet

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

A PHP frissítésre került a rendszerén, de ha MySQL adatbázis-kezelő rendszert használ, akkor a következő parancsot kell végrehajtania a PHP-MySQL kötés frissítéséhez és Ezenkívül telepítenie kell néhány hasznos modult, mint például a Curl, GD, Cli, JSON stb.

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

Ha további PHP7.0 modulokat szeretne telepíteni, az apt-cache paranccsal listázhatja az összes PHP7.0 modult és telepítheti.

sudo apt-cache search php7
Minta kimenet

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

A PHP7.0 és moduljai telepítése után újraindíthatja az Apache webszervert, és ellenőrizheti a PHP verzióját az alábbi módon:

sudo service apache2 restart
php -v
Minta kimenet

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

A PHP7 információkat úgy is ellenőrizheti, hogy létrehoz egy info.php fájlt a /var/www/html könyvtárban.


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

Helyezze be a következő kódot, és nyissa meg az oldalt a http://server_IP-address/info.php címen.


<?php
phpinfo();
?>

Frissítés PHP 7.0-ra az Nginx Web Server alatt

Ez a rész végigvezeti a PHP7.0-ra frissítés és a PHP-FPM frissítésének folyamatán az Nginx webszerverrel, ahol a PHP kód a PHP-FPM< segítségével fut le..

Futtassa az alábbi parancsot a legújabb PHP-FPM csomagok telepítéséhez:

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

A PHP-t most frissítettük, de ha MySQL-t használ, akkor a következő parancsot kell végrehajtania a PHP-MySQL összerendelés és néhány további modul frissítéséhez, ahogy az ábra mutatja:

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

Ezután hozzá kell fűznie a fastcgi_pass direktívát az /etc/nginx/sites-enabled/default fájlhoz vagy az összes olyan virtuális webhelyhez tartozó fájlhoz, amelynek használnia és támogatnia kell a PHP-t. , mivel megváltozott annak a PHP-FPM socket fájlnak az elérési útja, amelyet a PHP az Nginx-szel való kommunikációhoz használ.

Használja kedvenc szerkesztőjét, és nyissa meg a fájlt szerkesztéshez az alábbiak szerint:


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

Módosítsa vagy fűzze hozzá az alábbiak szerint:


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

Ezután indítsa újra az Nginxet és a php-fpmet az alábbiak szerint:


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

Végül ellenőrizheti, hogy a PHP működik-e vagy sem, ha először ellenőrzi a PHP verzióját, majd teszteli a webszerverrel.

php -v

Információkat kaphat PHP-csomagjairól, ha ír egy kis info.php fájlt az /usr/share/nginx/html/ könyvtárba:

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

Helyezze el ezt a kódot az info.php fájlba:

<?php
phpinfo();
?>

Mentse el és lépjen ki a fájlból.

Nyissa meg webböngészőjét, írja be a http://server_IP-address/info.php címet, és látnia kell az alábbi oldalt, amely a PHP-csomag részleteit mutatja be.

Most már boldogan használhatja a PHP 7.0-t Ubuntu 14.04/14.10 rendszerén, és remélem, hasznosnak találja ezt az útmutatót.

Bármilyen további információért a PHP frissítésével kapcsolatban, vagy kérdéseit, megjegyzéseit az alábbi megjegyzés részben várjuk.