当前PHP的最新版本是PHP 7.1.10,并且已提供了下载,但是我们本次只升级到PHP 7.0。PHP 7.0发布于2015年11月3日,这个版本提升了速度并加入了新特性。这篇文章介绍怎么把Apache或Nginx服务器上PHP 5.x升级到PHP 7.0。 注意:php7是主版本的升级,你最好等一段时间在转到新版本上。在升级之前也要对你的应用在PHP7下进行测试。
前提 Ubuntu 14.04 Apache或Nginx PHP 5.x 可以执行sudo的普通用户
最新PHP版本PHP 7.1.10下载。
为PHP 7.0增加源(PPA) sudo add-apt-repository ppa:ondrej/php-7.0 注意:当你的系统使用的不是UTF-8字符集时,运行上面命令可能失败。你可以安装language-pack-en-base解决: sudo apt-get install -y language-pack-en-base sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php-7.0 添加完PPA,更新软件缓存列表: sudo apt-get update
Apache: Apache是通过mod_php执行php代码,如果你使用的是Nginx和PHP-FPM,跳到下一段。 安装PHP 7。下面这条命令更新了PHP相关的所有包,除了php5-mysql(它被删除了)。 sudo apt-get install php7.0 注意:以前的配置文件还在原来的位置(/etc/php5/)并没有删除,PHP 7的配置文件在 (/etc/php/7.0)。 如果你使用mysql,安装php7.0-mysql: sudo apt-get install php7.0-mysql
Nginx 安装: sudo apt-get install php7.0-fpm 如果使用mysql,安装php7.0-mysql: sudo apt-get install php7.0-mysql 注意:以前的配置文件还在原来的位置(/etc/php5/)并没有删除,PHP 7的配置文件在 (/etc/php/7.0)。 更新sock路径: PHP 5:/var/run/php5-fpm.sock PHP 7:/var/run/php/php7.0-fpm.sock 编辑配置文件: sudo nano /etc/nginx/sites-enabled/default 查找fastcgi_pass unix:/var/run/php5-fpm.sock,替换为unix:/var/run/php/php7.0-fpm.sock: 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; } 重启nginx: sudo service nginx restart
测试PHP 在终端输入如下命令,查询PHP版本: php -v PHP 7.0.0-5+deb.sury.org~trusty+1 (cli) ( NTS ) Copyright (c) 1997-2017 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 在网站根目录创建文件info.php: <?php phpinfo(); ?> 根据系统不同,网站根目录默认一般在如下位置: /var/www/html /var/www/ /usr/share/nginx/html 在浏览器中输入你服务器网址或IP:http://your_IP/info.php 你应该能看到PHP版本和配置信息的网页,最后删除这个文件: sudo rm /var/www/html/info.php |