如何在Ubuntu 14.04和14.10上为Apache或Nginx安装PHP 7

PHP7.0的稳定版本发布后,这可能是你想从旧版本升级到它的合适的时间。

对于升级,尤其是在生产环境中,始终保持谨慎,但现在升级是一个好主意,以便享受速度的提升,以及诸如标量类型提示等等。

在Ubuntu 14.04和14.10中安装PH 7

您可以在系统上安装两个版本的PHP,并使用一个版本进行测试,但请记住,在给定时间内只能启用一个PHP Apache模块。

本指南重点介绍从PHP 5.x升级,在nginx的Web服务器连接使用Apache Web服务器或PHP-FPM连接mod_php下。

  1. 在Ubuntu 14.04和14.10中安装PHP 7
  2. 在Apache Web Server下升级到PHP 7.0
  3. 在Nginx Web Server下升级到PHP 7.0

现在让我们深入了解如何升级到最新版本的PHP,并配置您的系统使用它。

如何在Ubuntu 14.04和14.10中安装PHP 7

首先,你必须通过运行下面的命令来添加通过的OndrejSurý为Debian及其衍生物保持如UbuntuPPA:

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

下一步更新您的系统,如下所示:

$ sudo apt-get update

所有现在设置,你可以安装PHP 7.0,但我们会看看不同路段升级为ApacheNginx的

在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或问题的任何其他信息,您的意见欢迎在下面的评论部分。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏