一、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 php7.0-dev php7.0-gd php7.0-zip
安装常用扩展
mongodb:
apt-get install php-mongodb
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文件,将下面的内容添加到文件中。
保存这个文件。然后在浏览器中访问这个文件
www.yourdomain.com/info.php
升级PHP7.2
sudo apt-get install php7.2-fpm php7.2-mysql php7.2-common php7.2-curl php7.2-mbstring php7.2-dev php7.2-gd php7.2-zip