©
이 문서에서는 PHP 중국어 웹사이트 매뉴얼 풀어 주다
现在已废止从不兼容的上下文调用方法,
并且产生 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 时产生 E_DEPRECATED
错误。
请使用 php://input 替代
$HTTP_RAW_POST_DATA ,
因为它可能在后续的 PHP 版本中被移除。
设置 always_populate_raw_post_data
为 -1
(这样会强制 $HTTP_RAW_POST_DATA 未定义,所以也不回导致 E_DEPRECATED
的错误)
来体验新的行为。
iconv 和
mbstring 配置选项中
和编码相关的选项都已废弃,
请使用 default_charset
。
废弃的选项有:
iconv.input_encoding
iconv.output_encoding
iconv.internal_encoding
mbstring.http_input
mbstring.http_output
mbstring.internal_encoding
[#1] ohcc at 163 dot com [2015-11-05 18:22:03]
<?php
ini_set('always_populate_raw_post_data',-1);
$HTTP_RAW_POST_DATA = file_get_contents('php://input');
echo $HTTP_RAW_POST_DATA;
?>