升级安装php7要考虑的几个方面

来源:互联网 发布:淘宝统一改运费模板 编辑:程序博客网 时间:2024/04/29 09:57

php7从推出到现在,
前两天官方已经发布到7.2版本,
把自己升级和安装php7中遇到的问题和解决方法做一个笔记,
内容主要包括:
1) mysql
2) php
3) nginx
4) memcache扩展
5) redis扩展

php7

由于内容很长,
会分为多篇文章来讲述,
当然你可能遇到比我更多的问题需要解决,
因为我们服务器环境不一样。

升级安装php7要考虑的几个方面
1) 性能提升
这一点无需质疑,
php7的性能比之前的版本,
性能至少提升一倍,
php7核心开发人员鸟哥也明确的说到这一点。

有人给鸟哥留言说,
升级到php7后,
公司节省了30台服务器。

还有人说升级到php7后,
一年的KPI指标就已经完成了。

虽然php7性能明显提高,
但是很多人也不会马上升级,
因为原来的系统还可以用,
一直不愿意动手。

子恒老师也是因为换服务器,
才升级安装到php7的。

二、 php扩展兼容性
在使用php的web中,
绝大部分都用到了php扩展,
由于php7版本的架构,
有很大的变化,
所以一些以前的php扩展在php7里是不能够使用,
或者需要把扩展也进行升级更新。

有下面特别明显的几个:
2.1) mysql扩展
php7里已经不支持mysql扩展,
所以如果你的老系统里,
使用的是mysql来操作数据库,
那么需要改为mysqli,PDO之类的操作。

2.2) memcache扩展
memcached是很多web服务器用到的一个缓存系统,
以前老版本的php的memcache扩展是无法安装到php7上的,
需要一个新的memcache扩展,
子恒老师会在后面分享怎么安装。

memcached

三、 php函数兼容性
升级到php7后,
以前的一些函数无法使用或者需要进行相应的调整。

3.1) 不支持ereg_replace()函数
很多人使用以前老版本的php开发时,
使用ereg_replace()函数,
php7后不支持,
解决的方法一般是把ereg_replace()使用preg_replace()函数替换

3.2) php7.1后不支持mcrypt系列函数
mcrypt其实也是一个php扩展,
主要用来加密和解密数据,
php7.1版本后,
就不支持mcrypt扩展的函数。

如果你的网站中,
有使用到mcrypt相关函数,
最多升级到php7.0.*的版本,

如果升级到php7.1以上版本时,
需要自己重新写相关的加密解密函数,
官方推荐使用openssl_*系列的函数替换mcrypt系列函数

这是升级安装php7要总体考虑的内容,
下一篇文章开始,
进入升级安装php7实操和排错。