Kif Tinstalla PHP 7 għal Apache jew Nginx fuq Ubuntu 14.04 u 14.10
Xhur wara li ġiet rilaxxata l-verżjoni stabbli ta 'PHP 7.0, dan jista' jkun iż-żmien it-tajjeb biex taħseb biex taġġorna għaliha mill-verżjonijiet l-qodma.
Dejjem hemm kawtela dwar titjib speċjalment f'ambjent ta 'produzzjoni, iżda hija idea tajba issa li taġġorna sabiex igawdu titjib fil-veloċità, u wkoll karatteristiċi bħal ħjiel ta' tip skalar flimkien ma 'ħafna aktar.
Tista' tinstalla żewġ verżjonijiet tal-PHP fis-sistema tiegħek u tuża waħda għal skopijiet ta' ttestjar, imma ftakar li tattiva biss moduli PHP Apache wieħed f'ħin partikolari.
Din il-gwida tiffoka fuq l-aġġornament minn PHP 5.X, bl-użu ta 'mod_php b'konnessjoni ma' Apache Web server jew PHP-FPM b'konnessjoni ma 'Nginx Web server.
- Installa PHP 7 f'Ubuntu 14.04 u 14.10
- Aġġornament għal PHP 7.0 taħt Apache Web Server
- Aġġornament għal PHP 7.0 taħt Nginx Web Server
Issa ejjew noffsu kif tista' taġġorna għall-aħħar verżjoni tal-PHP u tikkonfigura wkoll is-sistema tiegħek biex tużaha.
Kif Tinstalla PHP 7 f'Ubuntu 14.04 u 14.10
L-ewwel, ser ikollok iżżid il-PPA miżmum minn Ondřej Surý għal Debian u d-derivattivi tiegħu bħal Ubuntu billi tħaddem il-kmand hawn taħt:
$ sudo add-apt-repository ppa:ondrej/php
Li jmiss aġġorna s-sistema tiegħek kif ġej:
$ sudo apt-get update
Kollox issa huwa stabbilit, u tista 'tinstalla PHP 7.0, iżda se nħarsu lejn l-aġġornament għal Apache u Nginx f'taqsimiet differenti.
Din it-taqsima hija għal sistemi li jaħdmu Apache, fejn il-kodiċi PHP jiġi esegwit bl-użu tal-modulu mod_php
. Installa l-aħħar verżjoni PHP kif taħdem il-kmand hawn taħt:
$ 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 issa ġie aġġornat fuq is-sistema tiegħek, imma jekk qed tuża sistema ta 'ġestjoni tad-database MySQL, allura jkollok tesegwixxi l-kmand li ġej biex taġġorna l-irbit PHP-MySQL u wkoll ikollok bżonn tinstalla xi moduli utli bħal Curl, GD , Cli, JSON, eċċ.
$ sudo apt-get install php7.0-mysql php7.0-cli php7.0-gd php7.0-json
Jekk trid tinstalla moduli PHP7.0 addizzjonali, tista 'tuża kmand apt-cache biex telenka l-moduli PHP7.0 kollha u tinstalla.
$ 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
Ladarba PHP7.0 u l-moduli tiegħu installati, tista 'terġa' tibda s-server tal-web Apache tiegħek u tivverifika l-verżjoni PHP kif muri:
$ 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
Tista 'wkoll tivverifika l-informazzjoni PHP7 billi toħloq fajl info.php
taħt /var/www/html direttorju.
$ sudo vi /var/www/html/info.php
Poġġi l-kodiċi li ġej u aċċessa għall-paġna permezz ta' http://server_IP-address/info.php
.
<?php phpinfo(); ?>
Din it-taqsima tieħdok permezz tal-proċess ta 'aġġornament għal PHP7.0 u taġġorna PHP-FPM ma' Nginx Web server, fejn il-kodiċi PHP jiġi esegwit bl-użu ta 'PHP-FPM.
Mexxi l-kmand hawn taħt biex tinstalla l-aħħar pakketti PHP-FPM:
$ sudo apt-get install php7.0 $ sudo apt-get install php7.0-fpm
PHP issa ġie aġġornat, imma jekk qed tuża MySQL, allura jkollok tesegwixxi l-kmand li ġej biex taġġorna l-irbit PHP-MySQL u xi moduli addizzjonali kif muri:
$ sudo apt-get install php7.0-mysql php7.0-cli php7.0-gd php7.0-json
Sussegwentement, trid tehmeż id-direttiva fastcgi_pass
fil-fajl /etc/nginx/sites-enabled/default jew il-fajls kollha għas-siti virtwali tiegħek li jridu jużaw u jappoġġaw PHP, peress li l-passaġġ tal-PHP -FPM socket file li PHP juża biex jikkomunika ma 'Nginx inbidel.
Uża l-editur favorit tiegħek u iftaħ il-fajl għall-editjar kif ġej:
$ sudo vi /etc/nginx/sites-enabled/default
Immodifika jew ehmeż kif ġej:
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; }
Imbagħad erġa ibda Nginx u php-fpm kif ġej:
$ sudo service nginx restart $ sudo service php7.0-fpm restart
Fl-aħħar nett, tista' tittestja jekk PHP hux qed jaħdem jew le billi l-ewwel tiċċekkja l-verżjoni PHP tiegħek u mbagħad tittestjaha mas-server tal-Web.
$ php -v
Ikollok informazzjoni dwar il-pakketti PHP tiegħek billi tikteb fajl info.php żgħir taħt id-direttorju /usr/share/nginx/html/:
$ sudo vi /usr/share/nginx/html/info.php
Poġġi dan il-kodiċi fuq il-fajl info.php tiegħek:
<?php phpinfo(); ?>
Issejvja u oħroġ mill-fajl.
Iftaħ il-brawżer tal-web tiegħek, daħħal http://server_IP-address/info.php
u għandek tkun tista' tara l-paġna hawn taħt li turik dettalji dwar il-pakkett PHP tiegħek.
Issa tista 'kun kuntent tuża PHP 7.0 fuq is-sistema Ubuntu 14.04/14.10 tiegħek, u nispera li ssib din il-gwida utli.
Għal kwalunkwe informazzjoni addizzjonali dwar it-titjib tal-PHP jew mistoqsijiet, il-kummenti tiegħek huma milqugħa fit-taqsima tal-kummenti hawn taħt.