首页 > php学习 > 没想到php5.5正式版发布了

没想到php5.5正式版发布了

2013年6月21日 发表评论 阅读评论

yes,php5.5正式版发布了,期待已久的php5.5正式版,从php5.4到php5.5升级了很长时间啊,终于php5.5正式版发布了。以下是php官方的一些说明:
6月20日2013年

PHP开发团队自豪地宣布立即推出PHP5.5.0。此版本包含了大量的新功能和bug修复。

PHP5.5.0的主要特点包括:

新增发电机和协同程序。
添加终于关键字。
新增了一个简化密码散列的API,。
新增支持为常量数组/串解引用。
新增标决议通过类名::类。
新增支持使用空()函数调用和其他表达式的结果。
新增支持非标量的foreach迭代键。
foreach语句中加入支持列表()构造。
新增Zend的OPcache扩展操作码缓存。
GD库已经升级到2.1版本,增加新的功能和改进现有的功能。
更多的改进和修正。

影响兼容性的更改:

PHP标识的GUID已被删除。
Windows XP和2003的支持下降。
不区分大小写不再是特定于语言环境。所有函数,类和常量名是不区分大小写的匹配现在的语言环境中独立的方式执行根据ASCII的规则。

从PHP5.4的用户升级,迁移指南详述5.4和5.5.0之间的变化。

PHP5.5.0变化的完整列表,见changelog。

以下则是php5.5的详细改动说明:
PHP
下载|文档|常见问题|获取帮助|邮件列表|许可证|维基|报告错误| php.net网站|会议|我的php.net

搜索
PHP 5的更新日志
5.5.0版
6月20日2013年

GIT源编译PHP时,拖放支持野牛<2.4 改进Zend引擎: 添加各种的Zend的算术函数使用内联汇编实现的ARMv7/v8版本 SystemTap中支持使SystemTap的兼容linux上的DTrace探测器 优化临时和编译虚拟变量的访问。减少8%的内存读取 VM栈传递函数参数和syntaticaly嵌套调用的合并成一个单一的堆栈。在编译时计算所需的堆栈大小为op_array执行预分配一次。由于导致所有的压栈操作不需要任何检查堆栈溢出 一般改善: 新增发电机和协同程序。 新增“终于”关键字。 添加简化密码哈希API。 新增支持为常量数组/串解引用。 通过“类”的关键字添加的类名称解析标量 新增支持使用空()函数调用的结果和其他表达式 新增支持非标量的foreach迭代键 新增支持列表中的foreach 核心: 新增Zend Opcache的扩展,能够建立它的默认。 新增array_column函数返回一个多维数组中的一列 添加boolval() 增加了“Z”的选项打包/解压 增加了可选的第二个参数断言()来指定自定义消息 新增支持CLI / CLI服务器SAPI的改变进程的标题。实现更强劲,proctitle PECL模块 提高set_exception_handler一边做复位 返回原来的处理程序传递NULL时set_error_handler和set_exception_handler的 实施#64175(由RFC 6585 HTTP代码) 实施#60738(允许'set_error_handler'来处理NULL) 实施#60524(指定临时目录的php.ini) 实施#46487(非关联化工艺处理不再需要等待这些进程) 更正了BUG#65051(COUNT()内未设置(关闭)) 更正了BUG#64988(类加载顺序会影响E_STRICT警告) 修正错误#64966(段错误zend_do_fcall_common_helper_SPEC) 修正错误#64960(段错误gc_zval_possible_root) 更正了BUG#64936(doc注释拿起从以前的扫描仪运行) 更正了BUG#64934(Apache2的,TS崩溃get_browser()) 更正了BUG#64879(基于堆的缓冲区溢出在quoted_printable_encode,CVE 2013年至二一一○年) 更正了BUG#64853(使用不再可用INI指令导致崩溃TS构建) 更正了BUG#64821(自定义异常崩溃的内部属性覆盖时) 更正了BUG#64720(段错误zend_deactivate)。 更正了BUG#64677(执行运算符“偷周围参数) 更正了BUG#64660(段错误在函数定义的内存耗尽) 修正错误#64578(zend的堆set_error_handler腐化:段错误debug_backtrace) 更正了BUG#64565(部分副本,副本不报告失败) 更正了BUG#64555(的foreach不再复制键,如果他们被拘禁) 更正了BUG#47675,更正了BUG#64577(FD泄漏Solaris上) 更正了BUG#64544(Valgrind的警告后,用putenv) 更正了BUG#64515(Memoryleak在函数声明中使用相同的变量名2倍时) 更正了BUG#64503(编译失败,出现错误:冲突的类型'zendparse“) 更正了BUG#64239(自5.4.10或5.4.11调试回溯行为的改变) 更正了BUG#64523允许在php.ini中的异 更正了BUG#64354(反序列化的对象数组的类不能被自动加载失败) 更正了BUG#64370(microtime中(真)少于$ _SERVER ['REQUEST_TIME_FLOAT']) 更正了BUG#64166(引述打印编码流过滤器错误地丢弃空白) 更正了BUG#64142(DVAL的LVAL不同的行为在ppc64) 更正了BUG#64135(set_error_handler的例外并不总是传播) 更正了BUG#63980(对象成员得到修剪零字节) 更正了BUG#63874(段错误如果php_strip_whitespace定界符) 更正了BUG#63830(段错误未定义的函数调用嵌套发电机) 更正了BUG#63822(崩溃了ArrayAccess使用闭包时) 更正了BUG#61681(格式不正确的语法) 更正了BUG#61038(解压(“A5”,“STR \ 0 \ 0”)并不如预期般运作) 更正了BUG#61025(__invoke()能见度不兑现) 更正了BUG#60833(自我,父母,静态行为不一致区分大小写) 更正了BUG#52126时间戳的mail.log 更正了BUG#49348(未初始化+ + $ foo的 - >吧,不会引起通告)
更正了BUG#23955 SetCookie时允许指定最大年龄属性()
更正了BUG#18556(发动机使用区域设置的规则来处理的类名)
修正双变量转换为整数时,不确定的行为。永远是现在向零舍入双其师,其余的2 ^ 32或2 ^ 64(取决于大小(长))计算,它假设一个二进制补码表示签署

删除遗留的特点:
删除php_logo_guid(),php_egg_logo_guid(),php_real_logo_guid(),zend_logo_guid()
删除Windows XP和2003的支持

Apache2的处理程序SAPI:
启用Apache 2.4的配置选项的Windows。

日历:
修正错误#64895(整数溢出在SndToJewish)。
更正了BUG#54254(cal_from_jd回报月= 6时,只有一个亚达)。

CLI服务器:
更正了BUG#64128(内置的Web服务器在ppc64)被打破。

卷曲:
删除卷曲流包装。
实施#46439 – 增值CURLFile更安全的文件上传
新增支持CURLOPT_FTP_RESPONSE_TIMEOUT CURLOPT_APPEND,CURLOPT_DIRLISTONLY CURLOPT_NEW_DIRECTORY_PERMS,的CURLOPT_NEW_FILE_PERMS,CURLOPT_PREQUOTE CURLOPT_NETRC_FILE,CURLOPT_KRBLEVEL,CURLOPT_MAXFILESIZE,CURLOPT_FTP_ACCOUNT,CURLOPT_COOKIELIST,CURLOPT_IGNORE_CONTENT_LENGTH,CURLOPT_CONNECT_ONLY CURLOPT_LOCALPORT CURLOPT_LOCALPORTRANGE CURLOPT_FTP_ALTERNATIVE_TO_USER,CURLOPT_SSL_SESSIONID_CACHE CURLOPT_FTP_SSL_CCC CURLOPT_HTTP_CONTENT_DECODING CURLOPT_HTTP_TRANSFER_DECODING CURLOPT_PROXY_TRANSFER_MODE CURLOPT_ADDRESS_SCOPE CURLOPT_CRLFILE CURLOPT_ISSUERCERT ,的CURLOPT_USERNAME CURLOPT_PASSWORD CURLOPT_PROXYUSERNAME,CURLOPT_PROXYPASSWORD,CURLOPT_NOPROXY CURLOPT_SOCKS5_GSSAPI_NEC CURLOPT_SOCKS5_GSSAPI_SERVICE,CURLOPT_TFTP_BLKSIZE的CURLOPT_SSH_KNOWNHOSTS,CURLOPT_FTP_USE_PRET CURLOPT_MAIL_RCPT CURLOPT_MAIL_FROM,CURLOPT_RTSP_CLIENT_CSEQ,CURLOPT_RTSP_SERVER_CSEQ,CURLOPT_RTSP_SESSION_ID,CURLOPT_RTSP_STREAM_URI,CURLOPT_RTSP_TRANSPORT,CURLOPT_RTSP_REQUEST,CURLOPT_RESOLVE CURLOPT_ACCEPT_ENCODING,CURLOPT_TRANSFER_ENCODING,CURLOPT_DNS_SERVERS CURLOPT_USE_SSL
更正了BUG#55635(CURLOPT_BINARYTRANSFER不再使用。常数仍然存在向后兼容,但什么都不做)
更正了BUG#54995(缺少CURLINFO_RESPONSE_CODE支持)
添加新功能curl_escape,curl_multi_setopt,curl_multi_strerror curl_pause curl_reset curl_share_close curl_share_init,curl_share_setopt curl_strerror curl_unescape的
预先估算,新的卷曲选项CURLOPT_TELNETOPTIONS,CURLOPT_GSSAPI_DELEGATION,的CURLOPT_ACCEPTTIMEOUT_MS,的CURLOPT_SSL_OPTIONS,CURLOPT_TCP_KEEPALIVE,CURLOPT_TCP_KEEPIDLE CURLOPT_TCP_KEEPINTVL

上市日期:
新增DateTimeImmutable – 一个变种的DateTime只返回修改后的状态,而不是改变自己。
更正了BUG#64825(无效免费反序列化DateTimeZone时)。
更正了BUG#64359(VS2012崩溃的strftime)
更正了BUG#62852(反序列化无效的日期导致崩溃)
更正了BUG#61642(修改(“+5平日”)返回星期日)
更正了BUG#60774(DateInterval ::格式(“%”)始终为零时使用createFromDateString方法创建一个间隔)
更正了BUG#54567(DateTimeZone序列化/反序列化)
更正了BUG#53437(崩溃时,使用反序列化DatePeriod实例)

DBA:
更正了BUG#62489(dba_insert不按预期工作)

过滤器:
实施#49180新增的MAC地址验证。

文件信息:
5.14升级libmagic。
更正了BUG#64830(MIME类型检测的MP3文件时出现segfaults)
更正了BUG#63590(TS和NTS不同的结果,在Windows下)
更正了BUG#63248(加载多个魔法文件从一个目录在Windows下)

FPM:
– FPM-systemd选项报告健康systemd后,systemd_interval的选择配置此。该服务现在可以使用通知类型=的systemd单位文件。
发送时忽略QUERY_STRING SCRIPT_FILENAME
一个系统调用失败时记录一个警告
实施#64764(加FPM的init.d脚本的支持)
更正了BUG#64915(error_log中忽略当守护进程= 0时)
更正了BUG#63999(PHP与FPM构建失败,在Solaris 10或11)
修正了一些可能的内存或资源泄漏和可能的空废弃Coverity的代码扫描检测

GD:
更正了BUG#64962(imagerotate产生损​​坏的图像)。
修正错误#64961(段错误imagesetinterpolation)
修复建立与系统的libgd> = 2.1,也就是现在的最低版本要求(如建立与前一版本被打破)。用于捆绑的libgd时没有变化
升级到2.1的libgd

哈希:
新增支持为PBKDF2通过hash_pbkdf2()。
更正了BUG#64745((hash_pbkdf2)截断数据时使用默认长度和十六进制输出)

国际:
增加了包装UConverter。
国际扩展,现在需要ICU 4.0 +
添加INI指令intl.use_exceptions,控制全局错误时会发生什么一起设置intl.error_level的
格式MessageFormatter ::()及相关功能现在接受命名参数和混合数字/命名参数在ICU 4.8 +
格式MessageFormatter ::()和相关的功能,现在不出错不足时,参数计数。相反,将保持未取代的占位符
MessageFormatter :: parse()的和MessageFormat的格式()(静态等值)不要扔掉更好的精度比第二的论据
IntlDateFormatter :: __construct datefmt_create()现在接受时区参数时间区标识符,IntlTimeZone对象,DateTimeZone对象和NULL
IntlDateFormatter :: __construct datefmt_create()不再接受时区标识符无效或空字符串
现在的默认时区使用IntlDateFormatter :: __construct datefmt_create()(对应的参数时,不通过或传递NULL)date_default_timezone_get(),而不是默认ICU时区
被忽略,如果它为NULL,并且如果传递日历是一个IntlCalendar对象, – 在这种情况下,本IntlCalendar所在的时区将被用来代替传递给IntlDateFormatter的时区。否则,在$时区参数指定的时区来代替。这并不影响到老版本的代码,此版本中引入IntlCalendar
IntlDateFormatter :: __construct datefmt_create()现在接受美元的历参数也IntlCalendar对象
:: getCalendar IntlDateFormatter()和datefmt_get_calendar()返回false,如果成立IntlDateFormatter,而不是IntlCalendar的常量IntlDateFormatter ::公历/繁体。之前根本不存在这个版本IntlCalendar
IntlDateFormatter :: setCalendar()和datefmt_set_calendar()现在也接受IntlCalendar的对象,在这种情况下,它的时区。传递一个常数仍然是允许的,并且仍然保持的时区
IntlDateFormatter :: setTimeZoneID()和datefmt_set_timezone_id()已被弃用。使用IntlDateFormatter :: setTimeZone()或datefmt_set_timezone()
IntlDateFormatter ::格式()和datefmt_format()现在也接受的IntlCalendar对象格式化
添加类:IntlCalendar,IntlGregorianCalendar,IntlTimeZone IntlBreakIterator,IntlRuleBasedBreakIterator和IntlCodePointBreakIterator
新增功能:intlcal_get_keyword_values​​_for_locale(),(intlcal_get_now)intlcal_get_available_locales()中intlcal_get()中intlcal_get_time()中intlcal_set_time()中intlcal_add()中intlcal_set_time_zon​​e()中intlcal_after()中intlcal_before()中intlcal_set(),intlcal_roll( intlcal_get_locale),intlcal_clear(),intlcal_field_difference()中,intlcal_get_actual_maximum(),intlcal_get_actual_minimum(),intlcal_get_day_of_week_type(),intlcal_get_first_day_of_week(),intlcal_get_greatest_minimum(),intlcal_get_least_maximum()(),intlcal_get_maximum()中,intlcal_get_minimal_days_in_first_week(),intlcal_get_minimum(), intlcal_get_type intlcal_get_time_zon​​e(),(),intlcal_get_weekend_transition()中,intlcal_in_daylight_time()中,intlcal_is_equivalent_to(),intlcal_is_lenient()中,intlcal_is_set()中,intlcal_is_weekend()中,intlcal_set_first_day_of_week(),intlcal_set_lenient()中,intlcal_equals(),intlcal_get_repeated_wall_time_option(),intlcal_get_skipped_wall_time_option( intlcal_get_error_message intlcal_to_date_time),intlcal_set_repeated_wall_time_option(),intlcal_set_skipped_wall_time_option(),intlcal_from_date_time()(),intlcal_get_error_code(),(),intlgregcal_create_instance()中,intlgregcal_set_gregorian_change()中,intlgregcal_get_gregorian_change()和intlgregcal_is_leap_year()
新增功能::的intltz_create_time_zon​​e(),intltz_create_default(),intltz_get_id(),intltz_get_gmt(),intltz_get_unknown(),intltz_create_enumeration(),intltz_count_equivalent_ids(),intltz_create_time_zon​​e_id_enumeration(),intltz_get_canonical_id(),intltz_get_region(),intltz_get_tz_data_version(),intltz_get_equivalent_id( ),intltz_use_daylight_time(),intltz_get_offset(),intltz_get_raw_offset(),intltz_has_same_rules(),intltz_get_display_name()中,intltz_get_dst_savings()中,intltz_from_date_time_zon​​e()中,intltz_to_date_time_zon​​e()中,intltz_get_error_code(),intltz_get_error_message()
添加方法:IntlDateFormatter :: formatObject(),IntlDateFormatter :: getCalendarObject(),IntlDateFormatter,::的getTimezone(),IntlDateFormatter :: setTimeZone()
新增功能:的datefmt_format_object(),datefmt_get_calendar_object(),datefmt_get_timezone(),datefmt_set_timezone(),datefmt_get_calendar_object(),intlcal_create_instance()

mbstring的:
更正了BUG#64769(mbstring的PHPTs坠毁在Windows x64)。

mcrypt的:
现在mcrypt_cbc mcrypt_ecb(),(),mcrypt_cfb()和mcrypt_ofb()抛出E_DEPRECATED的。

MySQL的:
此扩展现在已经过时,并通过mysql_connect()函数mysql_pconnect()建立数据库连接时,将产生废弃警告,或通过隐式连接:使用MySQLi的或PDO_MYSQL代替
掉落支持LOAD DATA LOCAL INFILE处理程序时使用的libmysql。已知的稳定性问题
新增支持的问题,请发送电子邮件至认证与MySQL 5.6.6 +

mysqli的:
添加mysqli_begin_transaction的()/库MySQLi :: begin_transaction的()。实施所有选项,每MySQL 5.6中,可以使用START TRANSACTION,COMMIT和ROLLBACK通过选项mysqli_commit()/ mysqli_rollback()及彼等各自OO同行。他们在工作中的libmysql的mysqlnd模式
mysqli_release_savepoint:增值mysqli_savepoint(),()
更正了BUG#64726(段错误时调用fetch_object一个use_result和DB指针已关闭)
更正了BUG#64394(MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS未经宣布的使用Connector / C时)

的mysqlnd:
添加新begin_transaction的()调用连接对象。实施所有选项,每MySQL 5.6中,可以使用START TRANSACTION,COMMIT和ROLLBACK
mysqlnd_release_savepoint:增值mysqlnd_savepoint(),()
更正了BUG#63530(mysqlnd_stmt :: bind_one_parameter崩溃,使用错误的alloc stmt的param_bind中)
固定的mysqli_stmt_affected_rows准备后,在规定的时间()()的返回值,并在执行前()

PCRE:
合并PCRE 8.32
已过时/ e修饰符
更正了BUG#63284(PCRE升级至8.31)

PDO:
更正了BUG#63176(分割故障时,到同一个数据库服务器实例2持久PDO)

PDO_DBlib:
更正了BUG#63638(无法连接到SQL Server 2008与PDO的dblib)
更正了BUG#64338(pdo_dblib无法连接到SQL Azure的)
更正了BUG#64808(freetds的PDO getColumnMeta的上的准备,但不执行语句崩溃)

PDO_pgsql:
更正了BUG#64949(缓冲区溢出_pdo_pgsql_error)

PDO_MYSQL:
更正了BUG#48724(getColumnMeta()不返回native_type的BIT,TINYINT年)

pgsql的:
新增pg_escape_literal()和pg_escape_identifier()
修正错误#46408区域设置数字格式设置,可以导致pg_query_params打破与数值计算

药业:
修正药业内容修改的时间戳更新

readline的:
更正了BUG#55694(揭露额外readline变量的以防止默认文件名完成)

反思:
更正了BUG#64007(有能力,手工创建实例发电机)

插座:
添加recvmsg()和的SENDMSG()的包装
更正了BUG#64508(无法建立 – 禁用IPV6)
更正了BUG#64287(的SENDMSG / recvmsg关机处理程序的原因,段错误)

声压级:
更正了BUG#64997(段错误,而在64位系统上使用RecursiveIteratorIterator)
固定的臭虫#64264(SPLFixedArray的toArray问题)
更正了BUG#64228(RecursiveDirectoryIterator总是假定SKIP_DOTS,)
更正了BUG#64106(段错误SplFixedArray [] [] =时y延长)
更正了BUG#60560(SplFixedArray un-/serialize,则getSize(),计数()返回0,键是字符串)
更正了BUG#52861(未设置失败与自ArrayObject和深阵列)
实施#48358(添加附加SplDoublyLinkedList ::()插入元素,在一个给定的偏移量)

SNMP:
更正了BUG#64765(某些IPv6地址得到解释错了)
更正了BUG#64159(截断的snmpget)
更正了BUG#64124(IPV6畸形)
更正了BUG#61981(面向对象的API,步行:$ suffix_as_key无法正常工作)

SOAP:
新增SoapClient的构造选项ssl_method指定SSL方法

流:
更正了BUG#64770(stream_select()失败proc_open()返回在Windows x64的管道)
固定的Windows x64版本的stream_socket_pair()和改进的错误处理

标记生成:
更正了BUG#60097(失败token_get_all法嵌套定界符)

邮编:
升级0.10.1 libzip的
更正了BUG#64452(邮编间歇性崩溃)
更正了BUG#64342(ZipArchive :: ADDFILE()来检查文件的存在)

分类: php学习 标签: ,
  1. 本文目前尚无任何评论.
您必须在 登录 后才能发布评论.
css.php