5.1.13. 版本安全改动¶
5.1.13.1. 8.0¶
字符串与数字弱类型比较将首先将数字转为字符串,然后比较两个字符串
内部参数内省错误时抛出异常而不是警告
assert
不再支持执行代码移除
create_function
移除
mb_ereg_replace()
中的e模式Phar中的元信息不再自动进行反序列化
parse_str
必须传入第二个参数移除
php://filter
中的string.strip_tags
5.1.13.2. 7.2¶
不带引号的字符串 会产生 E_WARNING
create_function 被废弃
assert 不能传入字符串表达式
不带第二个参数的情况下使用 parse_str() 会产生 E_DEPRECATED 警告
__autoload() 被废弃
5.1.13.3. 7.1¶
调用用户定义的函数提供的参数不足会抛出错误异常而不是警告
在不完整的对象上不再调用析构方法
call_user_func() 不再支持对传址的函数的调用
mb_ereg_replace() 和 mb_eregi_replace() 的e模式修饰符被废弃
ext/mcrypt 被废弃
5.1.13.4. 7.0¶
preg_replace “e” 修饰符 产生 E_WARNING 错误 且失效
移除 所有 ext/mysql 函数
移除 所有 ext/mssql 函数
移除 call_user_method() 和 call_user_method_array()
foreach 不再改变内部数组指针
在之前,一个八进制字符如果含有无效数字,该无效数字将被静默删节 ( 0128 将被解析为 012),现在这样的八进制字符将产生解析错误
十六进制字符串不再被认为是数字
dl() 在 PHP-FPM 不再可用,在 CLI 和 embed SAPIs 中仍可用
移除 ASP 和 script PHP 标签,即
<% %>
/<%= %>
/<script language="php"> </script>
在数值溢出的时候,内部函数将会失败
$HTTP_RAW_POST_DATA 被移除
5.1.13.5. 5.6¶
$HTTP_RAW_POST_DATA 被废弃
必须先设置 CURLOPT_SAFE_UPLOAD 为 FALSE 才能够使用 @file 语法来上传文件
5.1.13.6. 5.5¶
preg_replace “e” 修饰符 产生 E_DEPRECATED 错误
废弃
mysql_*
系列函数
5.1.13.7. 5.4¶
不再支持 安全模式
移除 魔术引号
数组转换成字符串将产生一条 E_NOTICE 级别的错误