吾知网

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 6301|回复: 1

如何在 Ubuntu 14.04 把 PHP 5 升级到 PHP 7

[复制链接]
发表于 2017-8-3 10:59:45 | 显示全部楼层 |阅读模式
2015年12月3日 PHP 7 发布,相对于以前版本的而言,大大提升了速度。本指南介绍如何将运行PHP 5.x(任何版本)的 Apache 或 Nginx Web 服务器快速升级到PHP 7。
为PHP 7.0 软件包添加 PPA
PPA 允许用户建立自己的软件仓库,自由的上传软件。PPA也被用来对一些打算进入 Ubuntu 官方仓库的软件,或者某些软件的新版本进行测试。

sudo add-apt-repository ppa:ondrej/php
安装PPA后,请更新本地包缓存以包含其内容:

sudo apt-get update
现在我们可以访问PHP 7.0的软件包,我们可以替换现有的PHP安装。
使用 Apache 的升级方法
本节介绍使用 Apache 作为 WEB服务器的升级方法,如果你使用 Nginx 和 php-fpm 的方式,可以跳到测试 PHP 一节
首先,安装新的软件包,这将升级所有重要的 PHP 包,除了 php5-mysql,将被删除。

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

sudo apt-get install php7.0-mysql
注意:如果您对其中的任何配置文件进行了实质性修改 /etc/php5/,那些文件仍然存在,并且可以被引用。PHP 7.0 的配置文件现在位于/etc/php/7.0。
使用 Nginx 升级 PHP-FPM
本节介绍使用 Nginx 作为 Web 服务器和 PHP-FPM 来执行 PHP 代码的系统的升级过程。

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 站点配置文件至 PHP 7
Nginx 使用 Unix domain socket 与 PHP-FPM 进行通信。socket 映射到文件系统上的路径,我们的 PHP 7 安装后默认使用一个新路径:
[td]
php 5
php 7
/var/run/php5-fpm.sock
/var/run/php/php7.0-fpm.sock
默认使用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,下边贴下文件内容,可能与你的配置文件有一些不一样:
server {    listen 80 default_server;    listen [::]:80 default_server ipv6only=on;</p>root /var/www/html;index index.php index.html index.htm;server_name server_domain_name_or_IP;location / {    try_files $uri $uri/ =404;}error_page 404 /404.html;error_page 500 502 503 504 /50x.html;location = /50x.html {    root /usr/share/nginx/html;}location ~ \.php$ {    try_files $uri =404;    fastcgi_split_path_info ^(.+\.php)(/.+)$;    fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;    fastcgi_index index.php;    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;    include fastcgi_params;}}
出并保存文件。
对于 /etc/nginx/sites-enabled 需要支持 PHP 的任何其他定义的虚拟站点,您应该重复此过程。
现在我们可以重新启动nginx:

sudo service nginx restart
测试 PHP7
配置 Web 服务器并安装新软件包后,我们应该能够验证PHP是否已启动并运行。首先在命令行中检查安装的PHP版本:

php -v
输出:

PHP 7.0.0-5+deb.sury.org~trusty+1 (cli) ( NTS )Copyright (c) 1997-2015 The PHP GroupZend 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 服务器的文档根目录中创建一个测试文件info.php, 看看phpinfo()函数输出的数据。

<?phpphpinfo();?>
退出编辑器,保存info.php。现在,在浏览器中加载以下地址:

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

sudo rm /var/www/html/info.php
好了,PHP 5 到 PHP 7 升级成功。

 楼主| 发表于 2017-8-3 11:06:28 | 显示全部楼层
阿里云centos升级php7
处理有php 及 php扩展:

如果之前已经安装过PHP的话

yum remove php* php-common安装php7的yum源

与上面安装nginx、MySQL的方式一样,先更新yum源然后再安装yum源

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

修改yum源vi /etc/yum.repos.d/remi.repo

将[remi]段中的enabled=0改为enabled=1。

vim /etc/yum.repos.d/remi-php70.repo

与remi.repo类似,将[remi-php70]段中的enabled=0改为enabled=1。

扫行命令查看版本如果显示的是7.x的话 那就没问题,当然也可以直接使用yum install php70 进行安装

[root@localhost tmp]# yum list phpyum 安装php7

执行命令以下命令安装php及一些相当的扩展:

yum install php php-fpm php-cli php-pdo php-mysql php-gd php-bcmath php-xml php-mbstring php-mcrypt php-redis

安装好之后php -v, php -m 查看版本及安装的扩展

php的php.ini配制一般在/etc/php.ini

简单的修改一些配制:

vim /etc/php.ini


date.timezone = Asia/Shanghai

upload_max_filesize = 20M

post_max_size = 20M

display_errors = Off // 生产环境半掉就好了


# 使HTTP Header中不显示PHP信息把

expose_php = On

修改为

expose_php = Off


重启php: service php-fpm restart

打开php自启动

chkconfig php-fpm on


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|吾知网 ( 粤ICP备13013563号-1 )

GMT+8, 2024-3-29 01:40 , Processed in 1.078125 second(s), 7 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表