从不兼容上下文中调用的方法现在已弃用,并且在调用时将生成E_DEPRECATED
错误,而不是E_STRICT
。对这些调用的支持将在 PHP 的未来版本中删除。
此类调用的一个示例是
<?php
class A {
function f() { echo get_class($this); }
}
class B {
function f() { A::f(); }
}
(new B)->f();
?>
上面的示例将输出
Deprecated: Non-static method A::f() should not be called statically, assuming $this from incompatible context in - on line 7 B
always_populate_raw_post_data
当$HTTP_RAW_POST_DATA 被填充时,always_populate_raw_post_data
现在将生成一个E_DEPRECATED
错误。新代码应该使用 php://input
而不是 $HTTP_RAW_POST_DATA,后者将在将来的版本中删除。您可以通过将 always_populate_raw_post_data
设置为 -1
来选择新的行为(其中 $HTTP_RAW_POST_DATA 从未定义,因此不会生成任何E_DEPRECATED
错误)。
与编码相关的 iconv 和 mbstring 配置选项已弃用,取而代之的是 default_charset
。弃用的选项是