PHP 5.6.x 中已废止的特性

从不兼容的上下文调用方法

现在已废止从不兼容的上下文调用方法, 并且产生 E_DEPRECATED 错误 (以前是 E_STRICT)。 在 PHP 的后续版本中可能彻底移除对此特性的支持。

以下是不兼容上下文调用方法的示例:

<?php
class {
    function 
f() { echo get_class($this); }
}

class 
{
    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

$HTTP_RAW_POST_DATAalways_populate_raw_post_data

使用 always_populate_raw_post_data 会导致在填充 $HTTP_RAW_POST_DATA 时产生 E_DEPRECATED 错误。 请使用 php://input 替代 $HTTP_RAW_POST_DATA, 因为它可能在后续的 PHP 版本中被移除。 设置 always_populate_raw_post_data-1 (这样会强制 $HTTP_RAW_POST_DATA 未定义,所以也不回导致 E_DEPRECATED 的错误) 来体验新的行为。

iconvmbstring 编码设置

iconvmbstring 配置选项中 和编码相关的选项都已废弃, 请使用 default_charset。 废弃的选项有:

User Contributed Notes

ohcc at 163 dot com 06-Nov-2015 03:22
<?php
    ini_set
('always_populate_raw_post_data',-1);
   
$HTTP_RAW_POST_DATA = file_get_contents('php://input');
    echo
$HTTP_RAW_POST_DATA;
?>