Wéi installéiere PHP 7 fir Apache oder Nginx op Ubuntu 14.04 an 14.10
Méint nodeems déi stabil Versioun vu PHP 7.0 verëffentlecht gouf, kann dëst de richtege Moment sinn fir Iech ze denken fir se vun den alen Versiounen ze upgraden.
Et gëtt ëmmer virsiichteg iwwer Upgrades besonnesch an engem Produktiounsëmfeld, awer et ass elo eng gutt Iddi fir Upgrade ze maachen fir Geschwindegkeetsverbesserungen ze genéissen, an och Features wéi scalar Typ Hiweis plus vill méi.
Dir kënnt zwou Versioune vu PHP op Ärem System installéieren an eng fir Testzwecker benotzen, awer drun erënnert datt Dir nëmmen ee PHP Apache Moduler an enger bestëmmter Zäit aktivéiert.
Dëse Guide konzentréiert sech op Upgrade vu PHP 5.X, benotzt mod_php a Verbindung mam Apache Webserver oder PHP-FPM a Verbindung mam Nginx Webserver.
- Installéiert PHP 7 an Ubuntu 14.04 an 14.10
- Upgrade op PHP 7.0 ënner Apache Web Server
- Upgrade op PHP 7.0 ënner Nginx Web Server
Loosst eis elo tauchen wéi Dir op déi lescht Versioun vu PHP upgrade kënnt an och Äre System konfiguréieren fir se ze benotzen.
Wéi installéiere ech PHP 7 an Ubuntu 14.04 an 14.10
Als éischt musst Dir de PPA erhale vum Ondřej Surý fir Debian a seng Derivate wéi Ubuntu addéieren andeems Dir de Kommando hei drënner leeft:
$ sudo add-apt-repository ppa:ondrej/php
Nächst update Äre System wéi follegt:
$ sudo apt-get update
Alles ass elo gesat, an Dir kënnt PHP 7.0 installéieren, awer mir kucken Upgrade fir Apache an Nginx a verschiddene Sektiounen.
Dës Sektioun ass fir Systemer déi Apache lafen, wou PHP Code mam mod_php
Modul ausgefouert gëtt. Installéiert déi lescht PHP Versioun wéi de Kommando hei drënner leeft:
$ 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 ass elo op Ärem System aktualiséiert ginn, awer wann Dir MySQL Datebank Management System benotzt, da musst Dir de folgende Kommando ausféieren fir d'PHP-MySQL Bindung ze aktualiséieren an och Dir musst e puer nëtzlech Moduler installéieren wéi Curl, GD , Cli, JSON, etc.
$ sudo apt-get install php7.0-mysql php7.0-cli php7.0-gd php7.0-json
Wann Dir zousätzlech PHP7.0 Moduler installéiere wëllt, kënnt Dir apt-Cache Kommando benotze fir all PHP7.0 Moduler ze lëschten an z'installéieren.
$ 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
Wann PHP7.0 a seng Moduler installéiert sinn, kënnt Dir Ären Apache Webserver nei starten an d'PHP Versioun verifizéieren wéi gewisen:
$ 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
Dir kënnt och PHP7 Informatioun verifizéieren andeems Dir eng info.php
Datei ënner /var/www/html Verzeechnes erstellt.
$ sudo vi /var/www/html/info.php
Gitt de folgende Code an Zougang zu der Säit iwwer http://server_IP-address/info.php
.
<?php phpinfo(); ?>
Dës Sektioun hëlt Iech duerch de Prozess vun der Upgrade op PHP7.0 an der Aktualiséierung vu PHP-FPM mam Nginx Webserver, wou PHP Code mat PHP-FPM ausgefouert gëtt.
Fëllt de Kommando hei ënnen fir déi lescht PHP-FPM Packagen z'installéieren:
$ sudo apt-get install php7.0 $ sudo apt-get install php7.0-fpm
PHP ass elo aktualiséiert ginn, awer wann Dir MySQL benotzt, da musst Dir de folgende Kommando ausféieren fir d'PHP-MySQL Bindung an e puer zousätzlech Moduler ze aktualiséieren wéi gewisen:
$ sudo apt-get install php7.0-mysql php7.0-cli php7.0-gd php7.0-json
Als nächst musst Dir d'fastcgi_pass
-Direktiv an der Datei /etc/nginx/sites-enabled/default oder all Dateie fir Är virtuelle Siten, déi PHP benotze mussen an ënnerstëtzen, zanter dem Wee vum PHP -FPM Socket Datei déi PHP benotzt fir mat Nginx ze kommunizéieren ass geännert.
Benotzt Äre Liiblingseditor an öffnet d'Datei fir z'änneren wéi follegt:
$ sudo vi /etc/nginx/sites-enabled/default
Änneren oder addéieren wéi follegt:
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; }
Dann nei starten Nginx a php-fpm wéi follegt:
$ sudo service nginx restart $ sudo service php7.0-fpm restart
Schlussendlech kënnt Dir testen ob PHP funktionnéiert oder net andeems Dir Är PHP Versioun fir d'éischt iwwerpréift an dann mam Webserver testen.
$ php -v
Dir kritt Informatiounen iwwer Är PHP Packagen andeems Dir eng kleng info.php Datei ënner /usr/share/nginx/html/ Verzeichnis schreift:
$ sudo vi /usr/share/nginx/html/info.php
Setzt dëse Code op Är info.php Datei:
<?php phpinfo(); ?>
Späichert a gitt d'Datei aus.
Öffnen Äre Webbrowser, gitt http://server_IP-address/info.php
an Dir sollt d'Säit hei ënnen gesinn, déi Iech Detailer iwwer Äre PHP-Paket weist.
Dir kënnt elo glécklech PHP 7.0 op Ärem Ubuntu 14.04/14.10 System benotzen, an ech hoffen Dir fannt dëse Guide hëllefräich.
Fir all zousätzlech Informatioun iwwer d'Upgrade vun PHP oder Froen, sinn Är Kommentarer wëllkomm an der Kommentarsektioun hei drënner.