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. 条件随机场(CRF) - 4 - 学习方法和预测算法(维特比算法)

    声明: 1,本篇为个人对<2012.李航.统计学习方法.pdf>的学习总结,不得用作商用,欢迎转载,但请注明出处(即:本帖地址). 2,由于本人在学习初始时有很多数学知识都已忘记,所以为了 ...

  2. 多线程:“对象当前正在其他地方使用”如何解决 system.drawing

    使用这个委托,在拥有此控件的基础窗口句柄的线程上执行指定委托 this.Invoke(new Action(() => { node.SetValues(values); }));

  3. C# 单例类

    单例类 有时候我们不要在一个程序中创建太多的实例.只想用一个全局的实例和一个可以访问点.那么我们需要一个单例类. 因为是单例类啦,所以构造函数肯定是私有的. 需要了解的术语 懒汉式 顾名思义.什么时候 ...

  4. UVA 12563 "Jin Ge Jin Qu hao" (背包)

    传送门 debug了好一会,突然发现,输出错了,emmm......... 明天再写debug历程: (PS:ipad debug是真的繁琐) 题意: 题解: 尽管题干中给的 t 的范围很大,但是 t ...

  5. CF1063D Candies for Children

    CF1063D Candies for Children 分类讨论题 n<=1e11, 整体上先分n<=2e6与否讨论 len长度,ans贪心的人,p就是len这一段贪心的人 n<= ...

  6. 使用Python内置的smtplib包和email包来实现邮件的构造和发送。

    此文章github地址:https://github.com/GhostCNZ/Python_sendEmail Python_sendEmail 使用Python内置的smtplib包和email包 ...

  7. vue element UI el-table 表格调整行高的处理方法

    这是我在工作项目中遇到的问题,我想将标记处下方的表格高度调低一点,也就是想实现下面的这个效果: 代码调整如下: 说明: 缩小:行高到一定程度之后便不能缩小. 好像最小35px.各位可以试一下. 升高: ...

  8. Koa搭建简单服务器

    1. dependencies "co-mysql": "^1.0.0", "koa": "^2.7.0", " ...

  9. Linux 内核即插即用规范

    一些新 ISA 设备板遵循特殊的设计规范并且需要一个特别的初始化顺序, 对增加接口板 的简单安装和配置的扩展. 这些板的设计规范称为即插即用, 由一个麻烦的规则集组成, 来建立和配置无跳线的 ISA ...

  10. dotnet core 黑科技·String

    本文来告诉大家 dotnet core 里面使用的黑科技,如何提高String.IndexOf(char)的性能 在Performance Improvements in .NET Core有说道哪些 ...