php5升php7代码修改整理

Posted 阿飞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php5升php7代码修改整理相关的知识,希望对你有一定的参考价值。

 

1. 为什么升级至php7

 

  a.安全需要
    过早以至于不维护的php版本难免会有未修补的漏洞,安全性要求较高的行业是要及时升级的。
  b.性能提升(开启opcache hugepage)
    据说性能提升一倍,那升级后使用的服务器资源就会减少,间接产生经济效益。
  c.效率提升
    流行的php框架之所以流行,那是实实在在的提升了开发人员的开发速度,有些框架是不支持php较低版本的(如laravel)。

 

2. 如何升级至php7

 

  a.环境升级

    这个不过多介绍,网上搜 升级 php7,一大堆讲解的都是怎么讲卸载 安装 php的。

    需要注意的是升级之前要记录旧版php安装的扩展,是否有自定义扩展,php.ini php-fpm.conf 配置文件记得备份保存。

  b.代码升级

    主要说下php7版本升级后,代码需要变更。因为不是把php环境一升级就可以了,php7废弃了一些不安全,使用混乱,或者性能低下的函数,统一了一些规范。我们项目中如果使用了这些函数,就要修改替换。

   

    我怎么知道我的代码中那些函数废弃了呢?一个一个搜索出来替换?

    看看这两个开源的php兼容性检测工具

    php7cc  性能快,使用简便,但是原作者4年前已不维护,此版是我增加了php7.0-php7.3 废弃函数检测的fork版本。

      使用方法,composer安装后 执行下php命令就行了,如下:显示了 文件位置,出错行数,错误原因,(下图是php7不支持文件名同名的构造函数报错)

      

          PS: 使用时检测到 Error等几个类已成为php7的系统类,之前定义会检测不到。

    php7mar   这个未测试效果

 

    有了检测工具,我们就可以一边修改一边检测,直至没有错误报告产生,是不是有点TDD的赶脚。

 

    具体改动函数参考下面这篇整理很好的文章:

    一篇写给准备升级PHP7的小伙伴的文章

 

参考:

https://blog.csdn.net/weixin_34072857/article/details/91840761

 

以上是关于php5升php7代码修改整理的主要内容,如果未能解决你的问题,请参考以下文章

面试题整理(持续修改)

关于配置httpd2.4.18+php5.6

关于thinkphp5.0以上的版本使用PHP5.5版本以上”No input file specified“问题解决

修改 Mac 默认 PHP 运行环境

iOS面试题整理(上) 仔细研读受益匪浅

如何升级php版本