Kako instalirati PHP 7 za Apache ili Nginx na Ubuntu 14.04 i 14.10
Mjesecima nakon objavljivanja stabilne verzije PHP 7.0, ovo bi mogao biti trenutak za razmišljanje o nadogradnji na nju sa starih verzija.
Uvijek postoji oprez oko nadogradnji, posebno u proizvodnom okruženju, ali dobro je sada nadograditi kako biste uživali u poboljšanjima brzine, a također i značajkama poput nagovještaja skalarnog tipa i mnogim drugim.
U svoj sustav možete instalirati dvije verzije PHP-a i jednu koristiti u svrhu testiranja, ali imajte na umu da u određenom vremenu omogućite samo jedan PHP Apache modul.
Ovaj se vodič fokusira na nadogradnju s PHP 5.X, korištenjem mod_php u vezi s Apache web poslužiteljem ili PHP-FPM u vezi s Nginx web poslužiteljem.
- Instalirajte PHP 7 u Ubuntu 14.04 i 14.10
- Nadogradnja na PHP 7.0 pod Apache web poslužiteljem
- Nadogradnja na PHP 7.0 pod Nginx web poslužiteljem
Sada ćemo zaroniti u to kako možete nadograditi na najnoviju verziju PHP-a i također konfigurirati svoj sustav da ga koristi.
Kako instalirati PHP 7 u Ubuntu 14.04 i 14.10
Prvo ćete morati dodati PPA koji održava Ondřej Surý za Debian i njegove derivate poput Ubuntu pokretanjem naredbe u nastavku:
$ sudo add-apt-repository ppa:ondrej/php
Sljedeće ažurirajte svoj sustav na sljedeći način:
$ sudo apt-get update
Sada je sve postavljeno i možete instalirati PHP 7.0, ali nadogradnju za Apache i Nginx potražit ćemo u različitim odjeljcima.
Ovo je poglavlje za sustave koji izvode Apache, gdje se PHP kôd izvršava pomoću modula mod_php
. Instalirajte najnoviju verziju PHP-a kao pokrenutu naredbu u nastavku:
$ 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 je sada nadograđen na vašem sustavu, ali ako koristite MySQL sustav za upravljanje bazom podataka, morat ćete izvršiti sljedeću naredbu za ažuriranje PHP-MySQL vezanja, a također ćete morati instalirati neke korisne module kao što su Curl, GD , Cli, JSON itd.
$ sudo apt-get install php7.0-mysql php7.0-cli php7.0-gd php7.0-json
Ako želite instalirati dodatne PHP7.0 module, možete upotrijebiti naredbu apt-cache za popis svih PHP7.0 modula i instalaciju.
$ 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
Jednom kada se instaliraju PHP7.0 i njegovi moduli, možete ponovno pokrenuti web poslužitelj Apache i provjeriti verziju PHP-a kako je prikazano:
$ 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
Informacije o PHP7 možete provjeriti i stvaranjem datoteke info.php
u direktoriju/var/www/html.
$ sudo vi /var/www/html/info.php
Postavite sljedeći kod i pristupite stranici putem http://server_IP-address/info.php
.
<?php phpinfo(); ?>
Ovaj odjeljak vodi vas kroz postupak nadogradnje na PHP7.0 i ažuriranja PHP-FPM-a pomoću Nginx web poslužitelja, gdje se PHP kôd izvršava pomoću PHP-FPM-a.
Pokrenite naredbu u nastavku da biste instalirali najnovije PHP-FPM pakete:
$ sudo apt-get install php7.0 $ sudo apt-get install php7.0-fpm
PHP je sada nadograđen, ali ako koristite MySQL, morat ćete izvršiti sljedeću naredbu za ažuriranje PHP-MySQL vezanja i nekih dodatnih modula kao što je prikazano:
$ sudo apt-get install php7.0-mysql php7.0-cli php7.0-gd php7.0-json
Dalje, morate dodati direktivu fastcgi_pass
u datoteku/etc/nginx/sites-enabled/default ili sve datoteke za vaše virtualne web stranice koje moraju koristiti i podržavati PHP, budući da je put PHP-a -FPM utičnica koju PHP koristi za komunikaciju s Nginxom promijenila se.
Koristite svoj omiljeni uređivač i otvorite datoteku za uređivanje na sljedeći način:
$ sudo vi /etc/nginx/sites-enabled/default
Izmijenite ili dodajte na sljedeći način:
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; }
Zatim ponovno pokrenite Nginx i php-fpm kako slijedi:
$ sudo service nginx restart $ sudo service php7.0-fpm restart
I na kraju, možete provjeriti radi li PHP ili ne tako što ćete prvo provjeriti verziju PHP-a, a zatim je testirati s web poslužiteljem.
$ php -v
Informacije o svojim PHP paketima dobivate pisanjem male datoteke info.php u direktoriju/usr/share/nginx/html /:
$ sudo vi /usr/share/nginx/html/info.php
Stavite ovaj kod na svoju datoteku info.php:
<?php phpinfo(); ?>
Spremite i zatvorite datoteku.
Otvorite svoj web preglednik, unesite http://server_IP-address/info.php
i trebali biste vidjeti stranicu u nastavku koja prikazuje detalje o vašem PHP paketu.
Sada s veseljem možete koristiti PHP 7.0 na svom Ubuntu 14.04/14.10 sustavu i nadam se da će vam ovaj vodič biti od pomoći.
Za sve dodatne informacije u vezi s nadogradnjom PHP-a ili pitanja, vaši su komentari dobrodošli u odjeljku za komentare u nastavku.