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的信息后,最好是删除这个文件,以防他人利用此文件了解你的服务器信息。
本文翻译自我的英文博客 Upgrade to PHP7 on Linux Server (Ubuntu & Debian)
E: 未发现软件包 php7.0-fpm
E: 无法按照正则表达式 php7.0-fpm 找到任何软件包
正确添加软件源或PPA,可以发现并安装php7.0-fpm.
ppa:ondrej/php 早都失效了
以前是叫ppa:ondrej/php7.0,现在更改成了ppa:ondrej/php,还是有效的。刚刚在ubuntu服务器上添加了成功了。
确实,看到了,原来作者改名字了。这个人真任性。。。