从不兼容上下文中调用的方法现在已弃用,并且在调用时会生成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
always_populate_raw_post_data
现在将在 $HTTP_RAW_POST_DATA 被填充时生成 E_DEPRECATED
错误。新代码应使用 php://input
而不是 $HTTP_RAW_POST_DATA,后者将在未来的版本中移除。您可以选择采用新行为(其中 $HTTP_RAW_POST_DATA 从未定义,因此不会生成 E_DEPRECATED
错误),方法是将 always_populate_raw_post_data
设置为 -1
。
与编码相关的 iconv 和 mbstring 配置选项已弃用,取而代之的是 default_charset
。已弃用的选项为