Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP540版本ChangeLog详解(上)

PHP540版本ChangeLog详解(上)

WBOY
WBOYasal
2016-08-08 09:23:061167semak imbas

前言

随着大量的框架使用composer和namespace,渐渐的线上环境也从之前的5.3变成了5.4或者5.5甚至5.6,随着7月份PHP7的发布,会有更多的公司采用新版本。

之前好久就想写这样的一片文章,来说明下各个版本的差异,这次算是拿出时间了。

这次的是第一篇,目前规划写三篇

  • PHP5.4.0
  • PHP5.5.0
  • PHP5.6.0

一方面是对自己的知识的整理,一方面是对自己的一次提升。

官方说明

官方文档地址 http://php.net/ChangeLog-5.php#5.4.0

详细说明

01 Mar 2012

原文

  • autoconf 2.59+ is now supported (and required) for generating the configure script with ./buildconf. Autoconf 2.60+ is desirable otherwise the configure help order may be incorrect.

翻译

autoconf 2.59 +现在支持(需要)生成配置脚本/ buildconf。autoconf 2.60 +是理想的配置,否则有可能是不正确的。

autoconf

php编译安装的时候需要的依赖软件,所以新版本对应配套的软件也要换成最新的对性能来讲才保险啊~

Removed legacy features 移除的特性

原文

  • break/continue $var syntax.
  • Safe mode and all related ini options.
  • register_globals and register_long_arrays ini options.
  • import_request_variables().
  • allow_call_time_pass_reference.
  • define_syslog_variables ini option and its associated function.
  • highlight.bg ini option.
  • Session bug compatibility mode (session.bug_compat_42 and session.bug_compat_warn ini options).
  • session_is_registered(), session_register() and session_unregister() functions.
  • y2k_compliance ini option.
  • magic_quotes_gpc, magic_quotes_runtime and magic_quotes_sybase ini options. get_magic_quotes_gpc, get_magic_quotes_runtime are kept but always return false, set_magic_quotes_runtime raises an E_CORE_ERROR.
  • Removed support for putenv(“TZ=..”) for setting the timezone.
  • Removed the timezone guessing algorithm in case the timezone isn’t set with date.timezone or date_default_timezone_set(). Instead of a guessed timezone, “UTC” is now used instead.

翻译

  • break/continue$ var语法。
  • 安全模式和所有相关的INI选项。
  • register_globals和register_long_arrays INI选项。
  • import_request_variables()。
  • allow_call_time_pass_reference。
  • define_syslog_variables INI选项及其相关的功能。
  • highlight.bg INI选项。
  • 会话错误兼容模式(session.bug_compat_42和session.bug_compat_warn INI选项)。
  • session_is_registered(),session_register()和session_unregister()功能。
  • y2k_compliance INI选项。
  • magic_quotes_gpc,magic_quotes_runtime和magic_quotes_sybase INI选项。get_magic_quotes_gpc,get_magic_quotes_runtime保存但始终返回false,set_magic_quotes_runtime引发e_core_error。
  • 不再支持putenv(“TZ = ..”)设置时区。
  • 如果不设置时区与时区date.timezone或date_default_timezone_set()除去猜测算法。而不是猜测的时区,“UTC”现在是用来代替。

我是拿百度翻译来的我会乱说吗? =_=

break/continue

移除了break/continue $var语法

在5.4之前,我们可以通过传递后面的参数来控制跳出或者停止若干层的循环,然而在5.4.0的版本之后,就去除了这个特性。

<code><span>break</span><span>$c</span>;
<span>continue</span><span>$c</span>;</code>

break and continue accepts a number, that specify the number of nested loops, that should be breaked up, or continued.

参考资料

  • http://stackoverflow.com/questions/6517401/what-is-the-break-continue-var-syntax-will-be-removed-in-php-5-4
  • http://php.net/control-structures.break

Safe mode and all related ini options. 去除安全模式以及在配置文件的选项

PHP 的安全模式是为了试图解决共享服务器(shared-server)安全问题而设立的。在结构上,试图在 PHP 层上解决这个问题是不合理的,但修改 web 服务器层和操作系统层显得非常不现实。因此许多人,特别是 ISP,目前使用安全模式。

语言的发展是在不断的进步的啊,也是一个不断试错改错的过程。^_^

  • 保安措施和安全模式,也就是移除了php.ini中所有safe_mode相关的配置项
  • 被安全模式限制或屏蔽的函数 。 在安全限制模式下,有些函数不能被使用。这个限制也将被移除

参考资料

  • http://php.net/manual/zh/features.safe-mode.php

register_globals and register_long_arrays ini options.

这两个配置项因为性能关系被移除了。

参考资料

  • http://php.net/manual/zh/ini.core.php#ini.register-globals

import_request_variables()

import_request_variables — 将 GET/POST/Cookie 变量导入到全局作用域中

bool import_request_variables ( string types[,string

以上就介绍了PHP540版本ChangeLog详解(上),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn