腾讯云服务器优惠活动华纳云香港服务器

Php 5.6已死,关于php 7你必须知道的几件事

PHP 7 正式发布到现在已经两年半了,刚出道就号称比旧版本快了几倍,各种开源框架或系统运行在 PHP 7 上速度效率提高了几倍,反正不管是媒体还是开发者都在煽风点火,不,应该是赞不绝口。今日时机已到,猿姐开始给你们科普科普有关 PHP7 你必须要了解的几件事。

Php 5.6已死,关于php 7你必须知道的几件事-第1张-boke112百科(boke112.com)

1、新的 Zend 引擎

Zend 引擎从 1999 年的 php4 开始就开始驱动着 php,Zend(不要与 zend framework 混淆)是一个用 C 语言开发的开源引擎。现在的 php 5.X 的版本用的 Zend II 版本,它对 php 来说有着重要的性能提升。Php7 将采用叫 PHPNG 的新引擎来驱动。

2、更方便的错误处理

捕获和处理错误对于 php 程序猿来说,从来不是一件简单的活。新的引擎将允许你用异常来代替错误,就像在 php 5.X 的版本中一样,在 php7 中如果异常没被捕获,php 将返回错误。

\EngineException 对象没有继承 \Exception,这保证了代码的向后兼容和在错误处理时的两种不同类型的异常处理:传统的和新的引擎的异常处理。为了方便捕获两种异常,php7 引入了新的如下的异常处理方式:

Php 5.6已死,关于php 7你必须知道的几件事-第2张-boke112百科(boke112.com)

3、64 位 windows 操作系统的支持

php 是 LAMP 的成员,也就意味着它原生的环境是 Linux,但它也能在 windows 操作系统上运行 5.X 版本还不支持 64 位整形或者大文件的支持,因此 X64 系列的架构的 windows 还是试验性的。而 php7 将会支持支持 64 位的 windows,也意味着 64 位整形和大文件将被支持。

4、标量类型声明

标量类型声明有两种模式:强制 (默认) 和 严格模式。 现在可以使用下列类型参数(无论用强制模式还是严格模式):字符串(string),整数 (int),浮点数 (float),以及布尔值 (bool)。它们扩充了 PHP5 中引入的其他类型:类名,接口,数组和 回调类型。

Php 5.6已死,关于php 7你必须知道的几件事-第3张-boke112百科(boke112.com)

要使用严格模式,一个 declare 声明指令必须放在文件的顶部。这意味着严格声明标量是基于文件可配的。这个指令不仅影响参数的类型声明,也影响到函数的返回值声明(参见 返回值类型声明, 内置的 PHP 函数以及扩展中加载的 PHP 函数)。

5、密码哈希中的 Argon2

Argon2 是荣获 2015 年密码哈希算法比赛中的冠军的强大哈希算法,PHP 7.2 将其作为安全 Bcrypt 算法的替代品。新版的 PHP 中引入了 PASSWORD_ARGON2I 常量,现在可以在 password_* 系列函数中使用:

password_hash('password', PASSWORD_ARGON2I);

与只使用一个 cost 因子的 Bcrypt 不同, Argon2 使用三个 cost 因子 区分如下:

  • 定义哈希计算期间应该消耗的 KiB 数量的内存开销(默认值为 1 << 10 或 1024 KiB 或 1 MiB);
  • 定义哈希算法迭代次数的时间开销(默认值为 2);
  • 并行因子,用于设置哈希计算时使用的并行线程数(缺省值为 2)。

以下三个新常量定义了默认的 cost 因子:

PASSWORD_ARGON2_DEFAULT_MEMORY_COST
PASSWORD_ARGON2_DEFAULT_TIME_COST
PASSWORD_ARGON2_DEFAULT_THREADS

为什么猿姐这次要来讨论 PHP7 呢?因为猿姐之前收到一个巨大的消息,还有十多天就停止 PHP 5.6 安全支持!根据 PHP 官方网站列出的支持版本及时刻表(如下),PHP 5.6 安全支持将于 2018 年 12 月 31 日终止。即 15 天后,使用 PHP 5.6 版本的网站将不再收到安全漏洞或错误更新。

Paragon Initiative Enterprise 的首席开发官 Scott Arciszewski 在接受采访时表示,对于 PHP 生态系统来说,这是一个巨大的问题。许多人认为他们可以“侥幸”在 2019 年继续运行 PHP 5,而这其实是一种安全工作上的刻意疏忽。

事实上,PHP 5.6 的主要及安全更新期早就结束,但因使用的网站较多,因此,PHP 维护组织曾一度分别延长其支持时间。有些人将这种情况描述为 PHP 风险。较新的 PHP 7.0 将不再在 2018 年 12 月 3 日的 EOL(生命周期结束)提供安全支持。即便是版本 PHP 7.1 也将于 2019 年 12 月 1 日终止,即一年后停止安全支持。

目前三大网站内容管理系统(CMS)项目中,只有 Drupal 宣布从 2019 年 3 月 6 日起,Drupal 支持网页最低要求 PHP 7,建议使用 7.1 版。Joomla 推荐使用 5.6 或更高版本,支持下限为 5.3.10。Wordpress 建议使用 PHP 7.2 或更高版本,最低支持 5.2.4。

以上答案来自@代码技巧

本文地址:https://boke112.com/post/6197.html

赞 (0) 打赏
版权声明:本文为原创文章,版权归 boke112百科 所有,欢迎分享本文,转载请保留出处!发布此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请联系我们,确认后马上更正或删除,谢谢!
wu