ubantu+php+升级,如何升级到PHP 7在Ubuntu 14.04

介绍

PHP 7于2015年12月3日发布,与以前的语言版本相比,速度有了大幅提升,同时还带来了诸如标量类型提示等新功能。 本指南解释如何快速升级运行PHP 5.x(任何版本)的Apache或Nginx Web服务器到PHP 7。

警告:与大多数主要版本发布的语言,最好在生产中切换到PHP 7之前要等待一小会儿。 同时,现在是测试您的应用程序与新版本的兼容性,执行基准测试以及熟悉新语言功能的好时机。

如果您正在使用活动用户运行任何服务或应用程序,最先在分段环境中首先测试此过程是最安全的。

先决条件

本指南假定你是一个Ubuntu 14.04机器上运行PHP 5.x中,无论是使用mod_php在与Nginx的结合与Apache或PHP-FPM一起。 它还假定你有一个配置非root用户sudo权限管理任务。

为PHP 7.0包添加PPA

一个个人包档案 ,或PPA,是托管在APT仓库快速启动 。 PPA允许第三方开发人员在官方渠道之外构建和分发Ubuntu的软件包。 它们通常是测试版软件,修改版本和对较旧版本操作系统的反向移植的有用来源。

的OndrejSurý保持为Debian的PHP包,并提供一个PPA为PHP 7.0在Ubuntu上 。 在做任何事情之前,登录到您的系统,并添加Ondřej的PPA到系统的Ap​​t源:sudo add-apt-repository ppa:ondrej/php

您将看到PPA的说明,然后提示继续。 按回车键继续。

注意:如果您的系统语言环境设置为UTF-8等什么,加入PPA可能会失败,因为在作者的姓名中的错误处理的字符。 作为一种变通方法,可以安装language-pack-en-base ,以确保语言环境中生成,并覆盖全系统的区域设置在添加PPA:sudo apt-get install -y language-pack-en-base

sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php

安装PPA后,更新本地软件包缓存以包含其内容:sudo apt-get update

现在我们可以访问PHP 7.0的包,我们可以替换现有的PHP安装。

升级mod_php与Apache

本节介绍使用Apache作为Web服务器和系统升级过程mod_php执行PHP代码。 如果相反,您正在运行Nginx和PHP-FPM,请跳到下一节。

首先,安装新的软件包。 这将升级所有重要的PHP包,与例外php5-mysql ,将被删除。sudo apt-get install php7.0

注意:如果你已经取得了实质性的修改任何配置文件/etc/php5/ ,这些文件仍然存在,并可以被引用。 对于PHP 7.0的配置文件,现在住在/etc/php/7.0 。

如果您使用MySQL,请确保重新添加更新的PHP MySQL绑定:sudo apt-get install php7.0-mysql

使用Nginx升级PHP-FPM

本节介绍使用Nginx作为Web服务器和PHP-FPM执行PHP代码的系统的升级过程。

首先,安装新的PHP-FPM软件包及其依赖关系:sudo apt-get install php7.0-fpm

系统将提示您继续。 按Enter键完成安装。

如果您使用MySQL,请务必重新安装PHP MySQL绑定:sudo apt-get install php7.0-mysql

注意:如果你已经取得了实质性的修改任何配置文件/etc/php5/ ,这些文件仍然存在,并可以被引用。 对于PHP 7.0的配置文件,现在住在/etc/php/7.0 。

更新Nginx网站以使用新的套接字路径

Nginx的使用PHP-FPM一个通信Unix域套接字 。 套接字映射到文件系统上的路径,我们的PHP 7安装默认使用一个新路径:PHP 5PHP 7/var/run/php5-fpm.sock/var/run/php/php7.0-fpm.sock

打开default网站配置文件nano (或您选择的编辑器):sudo nano /etc/nginx/sites-enabled/default

您的配置可能略有不同。 寻找开头块location ~ \.php$ { ,这看起来像一条线fastcgi_pass unix:/var/run/php5-fpm.sock; 更改为使用unix:/var/run/php/php7.0-fpm.sock 。

/ etc / nginx / sites-enabled / default

退出并保存文件。 在nano ,你可以通过按Ctrl-X退出,y确认,并回车确认文件名改写做到这一点。

你应该重复这个过程中定义的任何其他虚拟站点/etc/nginx/sites-enabled这就需要支持PHP。

现在我们可以重新启动nginx :sudo service nginx restart

测试PHP

在配置了Web服务器并安装了新软件包后,我们应该能够验证PHP是否已启动并正在运行。 首先在命令行检查已安装的PHP版本:php -vOutputPHP 7.0.0-5+deb.sury.org~trusty+1 (cli) ( NTS )

Copyright (c) 1997-2015 The PHP Group

Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies

with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies

您还可以在Web服务器的文档根目录中创建测试文件。 根据您的服务器和配置,这可能是以下之一:/var/www/html

/var/www/

/usr/share/nginx/html

利用nano ,打开一个名为新文件info.php文档根。 默认情况下,在Apache上,这将是:sudo nano /var/www/html/info.php

在Nginx上,你可以改用:sudo nano /usr/share/nginx/html/info.php

粘贴以下代码:

info.php<?php

phpinfo();

?>

退出编辑器,节省了info.php 。 现在,在浏览器中加载以下地址:http://server_domain_name_or_IP/info.php

您应该看到PHP版本和配置信息的PHP 7.一旦你仔细检查这一点,这是最安全的删除info.php :sudo rm /var/www/html/info.php

结论

您现在有一个工作的PHP 7安装。 从这里,你可能想看看埃里卡海蒂前的准备工作PHP 7博客文章,并期待在正式迁移指南 。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值