Yadda ake Sanya PHP 7 don Apache ko Nginx akan Ubuntu 14.04 da 14.10


Watanni bayan an fitar da ingantaccen sigar PHP 7.0, wannan na iya zama lokacin da ya dace don ku yi tunanin haɓakawa zuwa gare shi daga tsoffin nau'ikan.

A koyaushe ana yin taka tsantsan game da haɓakawa musamman a cikin yanayin samarwa, amma yana da kyau a yanzu haɓaka haɓakawa don jin daɗin haɓaka saurin sauri, da kuma fasali kamar nau'in scalar hinting da ƙari mai yawa.

Kuna iya shigar da nau'ikan PHP guda biyu akan tsarin ku kuma amfani da ɗayan don dalilai na gwaji, amma ku tuna cewa kuna kunna nau'ikan PHP Apache guda ɗaya kawai a cikin ɗan lokaci.

Wannan jagorar tana mai da hankali kan haɓakawa daga PHP 5.X, ta amfani da mod_php dangane da sabar yanar gizo ta Apache ko PHP-FPM dangane da sabar yanar gizo ta Nginx.

  1. Saka PHP 7 a cikin Ubuntu 14.04 da 14.10
  2. Haɓaka zuwa PHP 7.0 a ƙarƙashin Apache Web Server
  3. Haɓaka zuwa PHP 7.0 a ƙarƙashin Nginx Web Server

Yanzu bari mu nutse cikin yadda zaku iya haɓaka zuwa sabon sigar PHP sannan kuma saita tsarin ku don amfani da shi.

Yadda ake Sanya PHP 7 a cikin Ubuntu 14.04 da 14.10

Da farko, dole ne ku ƙara PPA ta Ondřej Surý don Debian da abubuwan da suka samo asali kamar Ubuntu ta hanyar aiwatar da umarnin da ke ƙasa:

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

Na gaba sabunta tsarin ku kamar haka:

$ sudo apt-get update

An saita duk yanzu, kuma zaku iya shigar da PHP 7.0, amma zamu duba haɓakawa don Apache da Nginx a sassa daban-daban.

Wannan sashin don tsarin aiki ne na Apache, inda ake aiwatar da lambar PHP ta amfani da tsarin mod_php. Shigar da sabuwar sigar PHP kamar yadda ake gudanar da umarnin da ke ƙasa:

$ 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

Yanzu an haɓaka PHP akan tsarin ku, amma idan kuna amfani da tsarin sarrafa bayanai na MySQL, to dole ne ku aiwatar da wannan umarni don sabunta ɗaurin PHP-MySQL sannan kuma kuna buƙatar shigar da wasu kayayyaki masu amfani kamar Curl, GD. , Cli, JSON, da dai sauransu.

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

Idan kuna son shigar da ƙarin kayan masarufi na PHP7.0, zaku iya amfani da umarnin cache mai dacewa don jera duk samfuran PHP7.0 kuma shigar.

$ 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

Da zarar an shigar da PHP7.0 da kayan aikin sa, zaku iya sake kunna sabar gidan yanar gizon ku ta Apache kuma tabbatar da sigar PHP kamar yadda aka nuna:

$ 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

Hakanan zaka iya tabbatar da bayanin PHP7 ta ƙirƙirar fayil ɗin info.php ƙarƙashin /var/www/html directory.

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

Sanya lambar da ke biyo baya kuma shiga shafin ta http://server_IP-address/info.php.

<?php
phpinfo();
?>

Wannan sashe yana ɗaukar ku ta hanyar haɓakawa zuwa PHP7.0 da haɓaka PHP-FPM tare da sabar gidan yanar gizon Nginx, inda ake aiwatar da lambar PHP ta amfani da PHP-FPM.

Gudun umarnin da ke ƙasa don shigar da sabbin fakitin PHP-FPM:

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

Yanzu an haɓaka PHP, amma idan kuna amfani da MySQL, to dole ne ku aiwatar da umarni mai zuwa don sabunta ɗaurin PHP-MySQL da wasu ƙarin kayayyaki kamar yadda aka nuna:

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

Bayan haka, kuna buƙatar ƙara umarnin fastcgi_pass a cikin fayil ɗin /etc/nginx/sites-enabled/default ko duk fayiloli don rukunin rukunin yanar gizon ku waɗanda dole ne kuyi amfani da tallafawa PHP, tun daga hanyar PHP. -FPM soket fayil wanda PHP ke amfani da shi don sadarwa tare da Nginx ya canza.

Yi amfani da editan da kuka fi so kuma buɗe fayil ɗin don gyara kamar haka:

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

Gyara ko ƙara kamar haka:

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

Sannan sake kunna Nginx da php-fpm kamar haka:

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

A ƙarshe, zaku iya gwada ko PHP yana aiki ko a'a ta hanyar fara duba nau'in PHP ɗin ku sannan ku gwada shi da sabar gidan yanar gizo.

$ php -v

Kuna samun bayani game da fakitin PHP ɗinku ta rubuta ƙaramin fayil info.php a ƙarƙashin /usr/share/nginx/html/ directory:

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

Saka wannan lambar akan fayil ɗin info.php:

<?php
phpinfo();
?>

Ajiye kuma fita fayil ɗin.

Bude burauzar gidan yanar gizon ku, shigar da http://server_IP-address/info.php kuma ya kamata ku iya ganin shafin da ke ƙasa wanda ke nuna muku cikakkun bayanai game da kunshin ku na PHP.

Yanzu zaku iya amfani da PHP 7.0 cikin farin ciki akan tsarin Ubuntu 14.04/14.10, kuma ina fatan kun sami wannan jagorar mai taimako.

Don kowane ƙarin bayani game da haɓaka PHP ko tambayoyi, ana maraba da maganganun ku a cikin sashin sharhin da ke ƙasa.