温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

升级PHP7的注意事项有哪些

发布时间:2021-02-08 14:01:09 来源:亿速云 阅读:167 作者:小新 栏目:编程语言

这篇文章主要介绍了升级PHP7的注意事项有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

之前就听说php7这个版本有很大的提升,终于公司的项目也要升级到PHP7了。

升级之前看了一下大家整理好的一些介绍,发现这个版本是从底层开始就有很大的更改,当然,效率也提升了很多。

除了一些新增的功能(这个大家都已经写的很全了,写一些我没看到的,随着项目的踩坑慢慢更新吧)

扩展部分

1.注意自己的php版本,去下载/安装对应的扩展,我这边是windows环境,就去下载dll文件来用

友情提醒:注意ini配置的扩展地址,我这里开始还奇怪,怎么我的扩展都没有扩展上,在phpinfo()当中没有信息啊!怎么都没想到,地址写错了!~~该打

2.5.x的版本用memcache的人应该比较多,我们公司的项目也不例外,但是memcache更新支持到php5.6的版本就不更新了,看了一下有改用memcached的,还有自己重新编译的,我觉得我们升级的比较晚应该有人上传这个支持PHP7的版本了吧,于是真找到了。

贴一下连接,直接去找对应的版本就好:https://github.com/nono303/PHP7-memcache-dll

3.phalcon也有支持php7的版本了,也是直接找对应的版本就可以:https://github.com/phalcon/cphalcon/releases/tag/v3.4.1

代码部分

1.split这个方法在php不可以使用了,可以根据需求使用preg_split or str_split or explode 进行替代

2.自定义函数传参时,参数一定不能没有值 是什么意思呢 看以下代码说明

错误:

function test($name)

{

    if(empty($name))

    {

            echo 'php7时会出现致命错误!~'根本到不了这里;

    }

}

正确:

function test($name=null)

{

    if(empty($name))

    {

            echo '这里就可以正常执行了~';

    }

}

很遗憾,我这个项目当中很多都是这么写的(大致就是没有时间值时再读取一个默认时间!~)

2018-10-23 18:28

间接使用变量、属性和方法的变化

表达式PHP 5 的解析方式PHP 7 的解析方式
$$foo[‘bar’][‘baz’]${$foo[‘bar’][‘baz’]}($$foo)[‘bar’][‘baz’]
$$foo[‘bar’][‘baz’]$foo->{$bar[‘baz’]}($$foo)[‘bar’][‘baz’]
$$foo[‘bar’][‘baz’]$foo->{$bar[‘baz’]}()($$foo)[‘bar’][‘baz’]
Foo::$bar’baz’Foo::{$bar[‘baz’]}()(Foo::$bar)[‘baz’]()

使用了旧的从右到左的解析顺序的代码必须被重写,明确的使用圆括号来表明顺序(参见上表)。 这样使得代码既保持了与PHP 7.x的前向兼容性,又保持了与PHP 5.x的后向兼容性。(文档说的)
其他大致就是7.X对比5.X的时候警告多了许多,变得很严谨(会提示各种参数无效,甚至做计算时除以0也会出警告)

感谢你能够认真阅读完这篇文章,希望小编分享的“升级PHP7的注意事项有哪些”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI