Giunsa ang Pag-install sa PHP 7 alang sa Apache o Nginx sa Ubuntu 14.04 ug 14.10
Mga bulan human gi-release ang stable nga bersyon sa PHP 7.0, kini mahimong hustong panahon para makahunahuna ka sa pag-upgrade niini gikan sa mga daan nga bersyon.
Adunay kanunay nga pag-amping bahin sa mga pag-upgrade labi na sa usa ka palibot sa produksiyon, apan kini usa ka maayong ideya karon nga mag-upgrade aron matagamtam ang mga pagpaayo sa katulin, ug usab mga bahin sama sa scalar type hinting ug daghan pa.
Mahimo nimong i-install ang duha ka bersyon sa PHP sa imong sistema ug gamiton ang usa para sa mga katuyoan sa pagsulay, apan hinumdomi nga mahimo nimo ang usa ka module sa PHP Apache sa usa ka oras.
Kini nga giya nagtutok sa pag-upgrade gikan sa PHP 5.X, gamit ang mod_php nga may kalabotan sa Apache Web server o PHP-FPM nga may kalabotan sa Nginx Web server.
- I-install ang PHP 7 sa Ubuntu 14.04 ug 14.10
- Pag-upgrade sa PHP 7.0 ubos sa Apache Web Server
- Pag-upgrade sa PHP 7.0 ubos sa Nginx Web Server
Karon atong susihon kon unsaon nimo pag-upgrade sa pinakabag-o nga bersyon sa PHP ug i-configure usab ang imong sistema sa paggamit niini.
Giunsa ang Pag-install sa PHP 7 sa Ubuntu 14.04 ug 14.10
Una, kinahanglan nimong idugang ang PPA nga gimentinar ni Ondřej Surý para sa Debian ug ang mga derivatives niini sama sa Ubuntu pinaagi sa pagpadagan sa sugo sa ubos:
$ sudo add-apt-repository ppa:ondrej/php
Sunod nga pag-update sa imong sistema sama sa mosunod:
$ sudo apt-get update
Gitakda na ang tanan, ug mahimo nimong i-install ang PHP 7.0, apan tan-awon namon ang pag-upgrade alang sa Apache ug Nginx sa lainlaing mga seksyon.
Kini nga seksyon alang sa mga sistema nga nagpadagan sa Apache, diin ang PHP code gipatuman gamit ang mod_php
module. I-install ang pinakabag-o nga bersyon sa PHP ingon nga nagpadagan sa sugo sa ubos:
$ 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
Ang PHP na-upgrade na karon sa imong sistema, apan kung ikaw naggamit sa MySQL database management system, nan kinahanglan nimo nga ipatuman ang mosunod nga sugo aron ma-update ang PHP-MySQL binding ug kinahanglan usab nimo nga i-install ang pipila ka mapuslanon nga mga module sama sa Curl, GD , Cli, JSON, ug uban pa.
$ sudo apt-get install php7.0-mysql php7.0-cli php7.0-gd php7.0-json
Kung gusto nimo mag-install ug dugang nga PHP7.0 modules, mahimo nimong gamiton ang apt-cache command aron ilista ang tanang PHP7.0 modules ug i-install.
$ 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
Kung ma-install na ang PHP7.0 ug ang mga module niini, mahimo nimong i-restart ang imong Apache web server ug i-verify ang bersyon sa PHP sama sa gipakita:
$ 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
Mahimo usab nimong pamatud-an ang impormasyon sa PHP7 pinaagi sa paghimo og info.php
file ubos sa /var/www/html directory.
$ sudo vi /var/www/html/info.php
Ibutang ang mosunod nga code ug i-access ang panid pinaagi sa http://server_IP-address/info.php
.
<?php phpinfo(); ?>
Kini nga seksyon magdala kanimo sa proseso sa pag-upgrade sa PHP7.0 ug pag-update sa PHP-FPM gamit ang Nginx Web server, diin ang PHP code gipatuman gamit ang PHP-FPM.
Pagdalagan ang command sa ubos aron i-install ang pinakabag-o nga PHP-FPM packages:
$ sudo apt-get install php7.0 $ sudo apt-get install php7.0-fpm
Ang PHP na-upgrade na karon, apan kung ikaw naggamit sa MySQL, nan kinahanglan nimo nga ipatuman ang mosunod nga sugo aron ma-update ang PHP-MySQL binding ug pipila ka dugang nga mga module sama sa gipakita:
$ sudo apt-get install php7.0-mysql php7.0-cli php7.0-gd php7.0-json
Sunod, kinahanglan nimong idugang ang fastcgi_pass
nga direktiba sa file /etc/nginx/sites-enabled/default o tanan nga mga file para sa imong virtual nga mga site nga kinahanglan mogamit ug mosuporta sa PHP, tungod kay ang agianan sa PHP -FPM socket file nga gigamit sa PHP sa pagpakigsulti sa Nginx nausab.
Gamita ang imong paborito nga editor ug ablihi ang file para sa pag-edit sama sa mosunod:
$ sudo vi /etc/nginx/sites-enabled/default
Usba o idugang sama sa mosunod:
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; }
Dayon i-restart ang Nginx ug php-fpm sama sa mosunod:
$ sudo service nginx restart $ sudo service php7.0-fpm restart
Katapusan, mahimo nimong sulayan kung nagtrabaho ba ang PHP o wala pinaagi sa una nga pagsusi sa imong bersyon sa PHP ug dayon pagsulay niini sa Web server.
$ php -v
Makuha nimo ang impormasyon bahin sa imong PHP packages pinaagi sa pagsulat og gamay nga info.php file ubos sa /usr/share/nginx/html/ directory:
$ sudo vi /usr/share/nginx/html/info.php
Ibutang kini nga code sa imong info.php file:
<?php phpinfo(); ?>
Pag-save ug paggawas sa file.
Ablihi ang imong web browser, isulod ang http://server_IP-address/info.php
ug kinahanglan nimo nga makita ang panid sa ubos nga nagpakita kanimo mga detalye bahin sa imong PHP package.
Malipayon nimong magamit ang PHP 7.0 sa imong Ubuntu 14.04/14.10 nga sistema, ug nanghinaut ko nga makatabang nimo kini nga giya.
Alang sa bisan unsang dugang nga kasayuran bahin sa pag-upgrade sa PHP o mga pangutana, ang imong mga komento gidawat sa seksyon sa komento sa ubos.