Bii o ṣe le Fi PHP 7 sii fun Apache tabi Nginx lori Ubuntu 14.04 ati 14.10
Awọn oṣu lẹhin ti ikede iduroṣinṣin ti PHP 7.0 ti jade, eyi le jẹ akoko to tọ fun ọ lati ronu igbesoke si rẹ lati awọn ẹya atijọ.
Išọra nigbagbogbo wa nipa awọn iṣagbega paapaa ni agbegbe iṣelọpọ, ṣugbọn o jẹ imọran ti o dara bayi lati ṣe igbesoke ki o le gbadun awọn ilọsiwaju iyara, ati awọn ẹya tun bii iru iṣiro ti o ni afikun pẹlu ọpọlọpọ diẹ sii.
O le fi awọn ẹya meji ti PHP sori ẹrọ rẹ ki o lo ọkan fun awọn idi idanwo, ṣugbọn ranti pe o nikan mu awọn modulu Apache PHP kan ṣiṣẹ ni akoko ti a fifun.
Itọsọna yii da lori igbegasoke lati PHP 5.X, ni lilo mod_php ni asopọ pẹlu olupin Wẹẹbu Apache tabi PHP-FPM ni asopọ pẹlu olupin Wẹẹbu Nginx.
- Fi PHP 7 sii ni Ubuntu 14.04 ati 14.10
- Igbegasoke si PHP 7.0 labẹ Apakan Wẹẹbu Apache
- Igbegasoke si PHP 7.0 labẹ Nginx Web Server
Bayi jẹ ki a ṣafọ sinu bi o ṣe le ṣe igbesoke si ẹya tuntun ti PHP ati tun tunto eto rẹ lati lo.
Bii o ṣe le Fi PHP 7 sii ni Ubuntu 14.04 ati 14.10
Ni akọkọ, iwọ yoo ni lati ṣafikun PPA ti o tọju nipasẹ Ondřej Surý fun Debian ati awọn itọsẹ rẹ bii Ubuntu nipa ṣiṣe pipaṣẹ ni isalẹ:
$ sudo add-apt-repository ppa:ondrej/php
Nigbamii ṣe imudojuiwọn eto rẹ bi atẹle:
$ sudo apt-get update
Gbogbo rẹ ti ṣeto bayi, ati pe o le fi PHP 7.0 sori ẹrọ, ṣugbọn a yoo wo igbesoke fun Apache ati Nginx ni awọn oriṣiriṣi awọn apakan.
Apakan yii jẹ fun awọn ọna ṣiṣe Apache, nibiti a ti pa koodu PHP ni lilo modulu mod_php
. Fi ẹya PHP tuntun sii bi ṣiṣe aṣẹ ni isalẹ:
$ 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 ti ni igbesoke bayi lori eto rẹ, ṣugbọn ti o ba nlo eto iṣakoso ibi ipamọ data MySQL, lẹhinna o yoo ni lati ṣe aṣẹ atẹle lati ṣe imudojuiwọn isopọ PHP-MySQL ati pe iwọ yoo nilo lati fi diẹ ninu awọn modulu to wulo bii Curl, GD , Cli, JSON, abbl.
$ sudo apt-get install php7.0-mysql php7.0-cli php7.0-gd php7.0-json
Ti o ba fẹ fi awọn modulu PHP7.0 sii, o le lo aṣẹ apt-cache lati ṣe atokọ gbogbo awọn modulu PHP7.0 ki o fi sii.
$ 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
Lọgan ti PHP7.0 ati awọn modulu rẹ ti fi sii, o le tun bẹrẹ olupin ayelujara Apache rẹ ki o ṣayẹwo iru ẹya PHP bi o ti han:
$ 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
O tun le rii daju alaye PHP7 nipa ṣiṣẹda info.php
faili labẹ/var/www/html liana.
$ sudo vi /var/www/html/info.php
Gbe koodu atẹle ki o wọle si oju-iwe nipasẹ http://server_IP-address/info.php
.
<?php phpinfo(); ?>
Abala yii gba ọ nipasẹ ilana igbesoke si PHP7.0 ati mimuṣe imudojuiwọn PHP-FPM pẹlu olupin Nginx Nibiti, nibiti a ti pa koodu PHP ni lilo PHP-FPM.
Ṣiṣe aṣẹ ni isalẹ lati fi sori ẹrọ awọn idii tuntun PHP-FPM:
$ sudo apt-get install php7.0 $ sudo apt-get install php7.0-fpm
PHP ti ni igbesoke bayi, ṣugbọn ti o ba nlo MySQL, lẹhinna o yoo ni lati ṣe pipaṣẹ atẹle lati mu imudojuiwọn PHP-MySQL ati diẹ ninu awọn modulu afikun bi o ti han:
$ sudo apt-get install php7.0-mysql php7.0-cli php7.0-gd php7.0-json
Nigbamii ti, o nilo lati ṣafikun itọsọna fastcgi_pass
ninu faili/ati be be/nginx/ojula-sise/aiyipada tabi gbogbo awọn faili fun awọn aaye foju rẹ ti o ni lati lo ati ṣe atilẹyin PHP, nitori ọna PHP -FPM faili iho ti PHP nlo lati ṣe ibaraẹnisọrọ pẹlu Nginx ti yipada.
Lo olootu ayanfẹ rẹ ki o ṣii faili fun ṣiṣatunkọ bi atẹle:
$ sudo vi /etc/nginx/sites-enabled/default
Ṣatunṣe tabi ṣafikun bi atẹle:
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; }
Lẹhinna tun bẹrẹ Nginx ati php-fpm bii atẹle:
$ sudo service nginx restart $ sudo service php7.0-fpm restart
Ni ikẹhin, o le idanwo boya PHP n ṣiṣẹ tabi rara nipa ṣayẹwo akọkọ ẹya PHP rẹ ati lẹhinna idanwo rẹ pẹlu olupin Wẹẹbu.
$ php -v
O gba alaye nipa awọn idii PHP rẹ nipa kikọ faili kekere info.php labẹ/usr/share/nginx/html/directory:
$ sudo vi /usr/share/nginx/html/info.php
Fi koodu yii sii lori faili info.php rẹ:
<?php phpinfo(); ?>
Fipamọ ki o jade kuro ni faili naa.
Ṣii aṣawakiri wẹẹbu rẹ, tẹ http://server_IP-address/info.php
ati pe o yẹ ki o ni anfani lati wo oju-iwe ti o wa ni isalẹ eyiti o fihan ọ ni awọn alaye nipa package PHP rẹ.
O le ni idunnu bayi lo PHP 7.0 lori ẹrọ Ubuntu 14.04/14.10 rẹ, ati pe Mo nireti pe o wa itọsọna yii wulo.
Fun eyikeyi alaye afikun nipa igbesoke PHP tabi awọn ibeere, awọn ọrọ rẹ ṣe itẹwọgba ni apakan asọye ni isalẹ.