2015年12月3日 PHP 7 发布,相对于以前版本的而言,大大提升了速度。本指南介绍如何将运行PHP 5.x(任何版本)的 Apache 或 Nginx Web 服务器快速升级到PHP 7。 为PHP 7.0 软件包添加 PPAPPA 允许用户建立自己的软件仓库,自由的上传软件。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 7Nginx 使用 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 升级成功。
|