從不相容的上下文呼叫的方法現在已被棄用,呼叫時將會產生 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,後者將在未來的版本中被移除。您可以選擇新的行為($HTTP_RAW_POST_DATA 永遠不會被定義,因此不會產生 E_DEPRECATED
錯誤),方法是將 always_populate_raw_post_data
設定為 -1
。
與編碼相關的 iconv 和 mbstring 設定選項已被棄用,建議改用 default_charset
。已棄用的選項如下: