Otu esi etinye PHP 7 maka Apache ma ọ bụ Nginx na Ubuntu 14.04 na 14.10


Ọnwa ole na ole ka ewepụtara ụdị PHP 7.0 kwụsiri ike, nke a nwere ike ịbụ oge kwesịrị ekwesị ka ị chee echiche ịkwalite ya na nsụgharị ochie.

A na-akpachara anya mgbe niile maka nkwalite karịsịa na gburugburu ebe nrụpụta, mana ọ dị mma ugbu a ịkwalite ka ọ nwee ọ enjoyụ nkwalite ọsọ ọsọ, yana njiri mara dị ka scalar ụdị hinting yana ọtụtụ ndị ọzọ.

Ị nwere ike iwunye ụdị abụọ nke PHP na sistemụ gị wee jiri otu maka ebumnuche nnwale, mana cheta na ị na-eme naanị otu modul PHP Apache n'otu oge.

Ntuziaka a na-elekwasị anya na ịkwalite site na PHP 5.X, na-eji mod_php n'ihe gbasara sava Weebụ Apache ma ọ bụ PHP-FPM n'ihe gbasara sava Weebụ Nginx.

  1. Wụnye PHP 7 na Ubuntu 14.04 na 14.10
  2. Nwelite gaa na PHP 7.0 n'okpuru sava weebụ Apache
  3. Nwelite gaa na PHP 7.0 n'okpuru sava Weebụ Nginx

Ugbu a, ka anyị banye n'ime otu ị ga-esi kwalite na ụdị PHP kachasị ọhụrụ wee hazie sistemụ gị ka ọ jiri ya.

Otu esi etinye PHP 7 na Ubuntu 14.04 na 14.10

Nke mbụ, ị ga-agbakwunye PPA nke Ondřej Surý na-elekọta maka Debian na usoro ya dị ka Ubuntu site na ịme iwu dị n'okpuru:

$ sudo add-apt-repository ppa:ondrej/php

Na-esote melite sistemu gị dị ka ndị a:

$ sudo apt-get update

Emebere ihe niile ugbu a, ma ị nwere ike ịwụnye PHP 7.0, mana anyị ga-elele nkwalite maka Apache na Nginx na ngalaba dị iche iche.

Nkebi a bụ maka sistemụ na-agba Apache, ebe a na-eji modul mod_php eme koodu PHP. Wụnye ụdị PHP kachasị ọhụrụ ka ọ na-agba iwu n'okpuru:

$ 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

A kwalitela PHP ugbu a na sistemụ gị, mana ọ bụrụ na ị na-eji sistemụ nchekwa data MySQL, mgbe ahụ, ị ga-emerịrị iwu a ka imelite njikọ PHP-MySQL yana ị ga-achọ itinye ụfọdụ modulu bara uru dị ka Curl, GD. , Cli, JSON, wdg.

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

Ọ bụrụ na ịchọrọ ịwụnye modul PHP7.0 ọzọ, ịnwere ike iji iwu cache apt-cache depụta modul PHP7.0 niile wee wụnye.

$ 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

Ozugbo PHP7.0 na modul ya arụnyere, ị nwere ike ịmalitegharịa sava weebụ Apache gị wee nyochaa ụdị PHP dị ka egosiri:

$ 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

Ị nwekwara ike nyochaa ozi PHP7 site na ịmepụta faịlụ info.php n'okpuru /var/www/html ndekọ.

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

Debe koodu na-eso wee nweta ibe site na http://server_IP-address/info.php.

<?php
phpinfo();
?>

Akụkụ a na-ewega gị site na usoro nkwalite gaa na PHP7.0 na imelite PHP-FPM na sava Webụ Nginx, ebe a na-eji PHP-FPM eme koodu PHP.

Gbaa iwu dị n'okpuru ka ịwụnye ngwugwu PHP-FPM ọhụrụ:

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

A kwalitela PHP ugbu a, mana ọ bụrụ na ị na-eji MySQL, mgbe ahụ, ị ga-emerịrị iwu a iji melite njikọ PHP-MySQL yana ụfọdụ modulu ndị ọzọ dị ka egosiri:

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

Ọzọ, ịkwesịrị itinye iwu fastcgi_pass na faịlụ /etc/nginx/sites-enabled/default ma ọ bụ faịlụ niile maka saịtị mebere gị nke ga-eji ma kwado PHP, ebe ọ bụ na ụzọ PHP. -FPM socket faịlụ nke PHP na-eji na-ekwurịta okwu na Nginx agbanweela.

Jiri nchịkọta akụkọ ọkacha mmasị gị wee mepee faịlụ maka idezi dịka ndị a:

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

Megharịa ma ọ bụ tinye ka ndị a:

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

Mgbe ahụ malitegharịa Nginx na php-fpm dị ka ndị a:

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

N'ikpeazụ, ị nwere ike ịnwale ma PHP ọ na-arụ ọrụ ma ọ bụ na ọ naghị arụ ọrụ site na ịlele ụdị PHP gị wee jiri sava Webụ nwalee ya.

$ php -v

Ị nweta ozi gbasara ngwugwu PHP gị site na ịde obere faịlụ info.php n'okpuru /usr/share/nginx/html/ directory:

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

Tinye koodu a na faịlụ info.php gị:

<?php
phpinfo();
?>

Chekwaa wee pụọ na faịlụ ahụ.

Mepee ihe nchọgharị weebụ gị, tinye http://server_IP-address/info.php na ị ga-enwe ike ịhụ ibe dị n'okpuru nke na-egosi gị nkọwa gbasara ngwungwu PHP gị.

Ị nwere ike jiri obi ụtọ jiri PHP 7.0 ugbu a na sistemụ Ubuntu 14.04/14.10 gị, enwere m olileanya na ị ga-ahụ ntuziaka a na-enyere aka.

Maka ozi ọ bụla gbasara nkwalite PHP ma ọ bụ ajụjụ, a na-anabata nkwupụta gị na ngalaba nkọwa n'okpuru.