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. PHP实现微信小程序人脸识别刷脸登录功能

    首先我们先确认我们的百度云人脸库里已经上传了我们的个人信息照片 然后我们在后台写刷脸登陆的接口login我们要把拍照获取的照片存储到服务器 public function login(){    // ...

  2. Python--day22--面向对象的交互

    Python里面自带的类和对象: 类名的作用: 类里面的与属性相关的对象self的运用: 实例化:就是创建一个对象 调用方法,类名.方法名(对象名) 执行步骤: 简写:alex.walk()等价于Pe ...

  3. Python--day27--设计模式

    设计模式:单例模式

  4. P1060 梦中的统计

    题目描述 Bessie 处于半梦半醒的状态.过了一会儿,她意识到她在数数,不能入睡. Bessie的大脑反应灵敏,仿佛真实地看到了她数过的一个又一个数.她开始注意每一个数码(0..9):每一个数码在计 ...

  5. 备战省赛组队训练赛第十八场(UPC)

    传送门 题解:by 青岛大学 A:https://blog.csdn.net/birdmanqin/article/details/89789424 B:https://blog.csdn.net/b ...

  6. 2019QLU.ACM集训队暑假训练须知

    1.每场比赛都要认认真真参与并及时记录: 2.每个队员必须做一个单独的博客页面存放自己队伍或者个人的比赛结果和补题计划: 3.比赛记录参考样式:[1]dny[2]ECNU 4.每场比赛结束都会安排一支 ...

  7. linux进程 阻塞和非阻塞操作

    在我们看全功能的 read 和 write 方法的实现之前, 我们触及的最后一点是决定何时使 进程睡眠. 有时实现正确的 unix 语义要求一个操作不阻塞, 即便它不能完全地进行下去. 有时还有调用进 ...

  8. POJ 1797 Heavy Transportation(Dijkstra运用)

    Description Background Hugo Heavy is happy. After the breakdown of the Cargolifter project he can no ...

  9. Vue中的computed和watch

    看了网上很多资料,对vue的computed讲解自己看的都不是很清晰,今天忙里抽闲,和同事们又闲聊起来,对computed这个属性才有了一个稍微比较清晰的认识,下面的文章有一部分是转自: https: ...

  10. javascript基础之数组一

    <script type="text/javascript"> //求数组中最大的数 var arr=[123,456,789,657,432,564]; var ar ...