PHP月7.0的稳定版本发布后,这可能是你想从旧版本升级到它的合适的时间。
对于升级,尤其是在生产环境中,始终保持谨慎,但现在升级是一个好主意,以便享受速度的提升,以及诸如标量类型提示等等。
在Ubuntu 14.04和14.10中安装PH 7
您可以在系统上安装两个版本的PHP,并使用一个版本进行测试,但请记住,在给定时间内只能启用一个PHP Apache模块。
本指南重点介绍从PHP 5.x升级,在nginx的Web服务器连接使用Apache Web服务器或PHP-FPM连接mod_php下。
现在让我们深入了解如何升级到最新版本的PHP,并配置您的系统使用它。
如何在Ubuntu 14.04和14.10中安装PHP 7
首先,你必须通过运行下面的命令来添加通过的OndrejSurý为Debian及其衍生物保持如Ubuntu的PPA:
$ sudo add-apt-repository ppa:ondrej/php
下一步更新您的系统,如下所示:
$ sudo apt-get update
所有现在设置,你可以安装PHP 7.0,但我们会看看不同路段升级为Apache和Nginx的 。
在Apache Web Server下升级到PHP 7.0
这部分是哪里PHP代码使用执行运行Apache,系统mod_php
模块。 安装最新的PHP版本,运行以下命令:
$ 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现在已经升级您的系统上,但如果你正在使用MySQL数据库管理系统,那么你将不得不执行下面的命令来更新PHP MySQL的结合,你也将需要安装一些有用的模块,如卷曲,GD ,Cli,JSON等
$ sudo apt-get install php7.0-mysql php7.0-cli php7.0-gd php7.0-json
如果你想安装其他PHP7.0模块,可以使用的apt-cache命令可以列出所有PHP7.0模块和安装。
$ 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
一旦PHP7.0及其模块安装,您可以重新启动Apache Web服务器并验证PHP版本,如图所示:
$ 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
您也可以通过创建一个验证PHP7信息info.php
在/ var / www / html等目录下的文件。
$ sudo vi /var/www/html/info.php
将下面的代码,并通过访问该网页http://server_IP-address/info.php
。
<?php phpinfo(); ?>
检查Apache的PHP 7信息
在Nginx Web Server下升级到PHP 7.0
本节将带你穿越升级到PHP7.0和更新PHP-FPM nginx的Web服务器,在PHP代码使用PHP-FPM执行的过程。
运行下面命令来安装最新的PHP-FPM包:
$ sudo apt-get install php7.0 $ sudo apt-get install php7.0-fpm
PHP现在已升级,但如果您使用MySQL,那么您将必须执行以下命令来更新PHP-MySQL绑定和一些额外的模块,如图所示:
$ sudo apt-get install php7.0-mysql php7.0-cli php7.0-gd php7.0-json
接下来,您需要添加fastcgi_pass
指令文件在/ etc / nginx的/ /默认或有使用和支持PHP的虚拟站点的所有文件,因为PHP使用的PHP-FPM套接字文件的路径启用的站点-与Nginx沟通已经改变。
使用您喜欢的编辑器,然后打开文件进行编辑,如下所示:
$ sudo vi /etc/nginx/sites-enabled/default
修改或追加如下:
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; }
然后,重新启动的Nginx和PHP-FPM如下:
$ sudo service nginx restart $ sudo service php7.0-fpm restart
最后,您可以通过首先检查PHP版本,然后使用Web服务器进行测试来测试PHP是否正常工作。
$ php -v
你写的/ usr /共享/ nginx的/ HTML /目录下有小info.php的文件中获取关于你的PHP包的信息:
$ sudo vi /usr/share/nginx/html/info.php
把这段代码在你info.php的文件:
<?php phpinfo(); ?>
保存并退出文件。
打开Web浏览器,输入http://server_IP-address/info.php
,你应该能够看到低于该会显示您的PHP包详细信息的页码。
检查PHP 7信息
现在,您可以愉快地使用PHP 7.0你的Ubuntu 14.04 / 14.10系统上,我希望你找到该指南有价值。
有关升级PHP或问题的任何其他信息,您的意见欢迎在下面的评论部分。