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不支持文件名同名的构造函数报错)

      

    php7mar   这个未测试效果

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

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

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

参考:

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

php5升php7代码修改整理的更多相关文章

  1. php7 新特性整理

    PHP7 已经出来1年了,PHP7.1也即将和大家见面,这么多好的特性,好的方法,为什么不使用呢,也希望PHP越来越好. 在这里整理 PHP 5.1 ,PHP5.2,PHP5.3,PHP5.4,PHP ...

  2. PHP5和PHP7的安装、PHP和apache的整合!

    1.PHP5的安装: 下载: wget -c http://cn2.php.net/distributions/php-5.6.36.tar.gz  (php5) wget -c http://cn2 ...

  3. 安装最新版的wampserver,可以兼容php5和php7

    本文介绍的wamp是Windows+Apache+MySQL+PHP+phpMyAdmin,主要应用于开发环境[一键安装包,简单好用]. 这是运行在Windows系统下的官方安装包,可以快速的搭建属于 ...

  4. 在Apache中安装php5.6 & php7.3

    1.下载 httpd-2.4.41-win64-VC15.zip.php5.6 +  vc11.  php7.3  + vc14-16 2.配置httpd,在 httpd.conf L180 添加如下 ...

  5. Android之vector代码修改颜色

    前言:google给了很多material design icon,在开发过程中,可以下载下来直接使用,下载地址为https://materialdesignicons.com/ . 1.下载图标,并 ...

  6. Asp.net使用代码修改配置文件的节点值

    使用代码修改配置文件的方法: 1.打开配置文件写入的权限 2.先按节点名称长到要修改的节点,然后删除,紧接着将有新值的节点添加回去 3.关闭配置文件写入的权限 修改Appsetting节点的值,修改其 ...

  7. am335x UART1输入u-boot 调试信息代码修改

    AM335x 调试信息UART1输出代码修改1. 关于pin_mux  的配置代码修改位置:/board/forlinx/ok335x/mux.c void enable_uart0_pin_mux( ...

  8. SharePoint开发 - 使用Session(代码修改webconfig)

    博客地址 http://blog.csdn.net/foxdave SharePoint启用Session可以使用Powershell,戳这里:可以修改webconfig. 本篇叙述的重点是通过fea ...

  9. IOS开发-OC学习-常用功能代码片段整理

    IOS开发-OC学习-常用功能代码片段整理 IOS开发中会频繁用到一些代码段,用来实现一些固定的功能.比如在文本框中输入完后要让键盘收回,这个需要用一个简单的让文本框失去第一响应者的身份来完成.或者是 ...

随机推荐

  1. Python--day64--内容回顾

    1,内容回顾 1.ORM外键操作 图书表和出版社表 多对一的关系 #书 class Book(models.Model): id = models.AutoField(primary_key=True ...

  2. HDU 1072

    题意:给你一个迷宫,2代表你当前的位置,0代表墙,1代表可走的路,3代表出口,4代表的是炸弹的重置点,一开始炸弹的倒计时设置为6,每走一步时间减少1,倒计时到0的时候走到3或者4都不可以,问走出迷宫的 ...

  3. codeforce 378 div 2 F —— Drivers Dissatisfaction (最小生成树,LCA,倍增)

    官方题解: If you choose any n - 1 roads then price of reducing overall dissatisfaction is equal to min(c ...

  4. [php] 如何处理好autoload

    在有了诸如apc之类的cache之后,php的autoloader成为了需要认真考虑的性能点. 参见: http://stackoverflow.com/questions/4788452/does- ...

  5. P1006 输出第二个整数

    题目描述 输入三个整数,整数之间由一个空格分隔,整数是32位有符号整数.把第二个输入的整数输出. 输入格式 输入三个整数,整数之间由一个空格分隔,整数是32位有符号整数. 输出格式 输出输入的三个整数 ...

  6. H3C查看历史命令--用户以上

    [H3Cwang]display history-command   sys   sysname H3C   sysname H3Cwang   display history-command   q ...

  7. LeekCode解题记录

    昨天晚上有个LeekCode的比赛,两个半小时解五题,轻松解决前两题后,卡在第三题,还剩半小时时放弃,开始解第五题,解完但未验证通过,第四题只看了下题目. 排名第一的大佬只用了36分钟全部写完. 差距 ...

  8. Vue组件中的父子传值

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. CentOS 7 修改root密码

    1.开机,在启动菜单上选择CentOS Linux (3.10**.**.x86**) 7 (Core) 按下e,进入编辑模式2.将光标一直移动到 LANG=en_US.UTF-8 后面(如果找不到, ...

  10. The Struts dispatcher cannot be found异常的解决方法

    系统错误:HTTP Status 500 异常信息:The Struts dispatcher cannot be found.  This is usually caused by using St ...