Debian和ubuntu服务器升级PHP7

PHP7于2015年12月3日发布正式版本。PHP7与PHP5相比,性能翻倍。虽然各Linux发行版正忙于打包,但已经有第三方的PHP7包可以使用。在这篇教程中,我将介绍如何在Debian和ubuntu服务器上升级PHP7。

Debian升级到PHP7

添加dotdeb.org软件源:

deb http://packages.dotdeb.org jessie all
deb-src http://packages.dotdeb.org jessie all

或者

deb http://packages.dotdeb.org wheezy all
deb-src http://packages.dotdeb.org wheezy all

或者

deb http://packages.dotdeb.org squeeze all
deb-src http://packages.dotdeb.org squeeze all

下载并安装GnuPG公钥

wget https://www.dotdeb.org/dotdeb.gpg

sudo apt-key add dotdeb.gpg

sudo apt-get update

删除PHP5

sudo apt-get purge php5*

sudo apt-get --purge autoremove

安装PHP7

sudo apt-get install php7.0-fpm php7.0-mysql php7.0-common php7.0-gd php7.0-json php7.0-cli php7.0-curl php7.0-mbstring

Ubuntu升级PHP7

添加PPA

sudo apt-get install python-software-properties software-properties-common

sudo add-apt-repository ppa:ondrej/php

sudo apt-get update

删除PHP5

sudo apt-get purge php5-fpm php5-mysql php5-common

sudo apt-get --purge autoremove

安装PHP7

sudo apt-get install php7.0-fpm php7.0-mysql php7.0-common php7.0-curl php7.0-mbstring

404错误

PHP7安装好后,你的网站会出现一个404 Not Found错误。我们需要修改fastcgi_pass的配置。

sudo vi /etc/nginx/sites-available/yourdomain.com

找到如下文本

fastcgi_pass unix:/var/run/php5-fpm.sock;

将它修改成如下

fastcgi_pass unix:/run/php/php7.0-fpm.sock;

保存文件。刷新Nginx配置

sudo service nginx reload

现在你的网站可以正常显示了。网站出现错误最好的解决思路是查看nginx的错误日志.

 PHP Pool文件配置

首先在/etc/nginx/nginx.conf文件中的第一行查看你的Nginx用户。

less /etc/nginx/nginx.conf

PHP7默认的用户和组是www-data。如果你的Nginx用户名也是www-data,那么你不需要做下面的修改。如果你的Nginx用户名是nginx,那么你可以在/etc/nginx/nginx.conf文件中将它修改成www-data.

sudo vi /etc/nginx/nginx.conf

修改完后刷新Nginx配置。或者你可以修改PHP的用户名和组名。

sudo vi /etc/php/7.0/fpm/pool.d/www.conf

找到如下四行

user = www-data
group = www-data

listen.owner = www-data
listen.group = www-data

将www-data都修改成nginx。另外查看一下/run/php/php7.0-fpm.sock这个文件的所有者.

ls /run/php/php7.0-fpm.sock -lh

如果所有者是www-data,那么将它更改成nginx.这个设置不正确也可能会导致404错误.

sudo chown nginx:nginx /run/php/php7.0-fpm.sock -R

保存文件后重新加载PHP-FPM

sudo service php7.0-fpm reload

查看你的PHP7信息

在网站根目录创建一个info.php文件,将下面的内容添加到文件中。

<?php
 phpinfo();
?>

保存这个文件。然后在浏览器中访问这个文件

www.yourdomain.com/info.php

你将看到如下的信息。

php7

 

查看完PHP7的信息后,最好是删除这个文件,以防他人利用此文件了解你的服务器信息。

本文翻译自我的英文博客 Upgrade to PHP7 on Linux Server (Ubuntu & Debian)

为这篇文章评分
[Total: 0 Average: 0]

5 Responses to “Debian和ubuntu服务器升级PHP7

  • E: 未发现软件包 php7.0-fpm
    E: 无法按照正则表达式 php7.0-fpm 找到任何软件包

    • linuxdashen.com
      8 years ago

      正确添加软件源或PPA,可以发现并安装php7.0-fpm.

  • ppa:ondrej/php 早都失效了

    • 以前是叫ppa:ondrej/php7.0,现在更改成了ppa:ondrej/php,还是有效的。刚刚在ubuntu服务器上添加了成功了。

Leave a Reply

Your email address will not be published.

The maximum upload file size: 2 MB. You can upload: image, audio, video, document, spreadsheet, interactive, text, archive, code, other. Links to YouTube, Facebook, Twitter and other services inserted in the comment text will be automatically embedded. Drop file here