<?php
ini_set('always_populate_raw_post_data',-1);
$HTTP_RAW_POST_DATA = file_get_contents('php://input');
echo $HTTP_RAW_POST_DATA;
?>
Methodenaufrufe aus inkompatiblem Kontext sind nun missbilligt, und rufen
einen Fehler der Stufe E_DEPRECATED
hervor anstelle
von E_STRICT
. Die Unterstützung für derartige Aufrufe
wird in einer zukünftigen Version von PHP entfernt.
Ein Beispiel für einen derartigen Aufruf:
<?php
class A {
function f() { echo get_class($this); }
}
class B {
function f() { A::f(); }
}
(new B)->f();
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
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
ruft nun einen Fehler der
Stufe E_DEPRECATED
hervor, wenn
$HTTP_RAW_POST_DATA befüllt wird. Neuer Code sollte
php://input
anstelle von $HTTP_RAW_POST_DATA verwenden, welches in
einer zukünftigen Version entfernt wird. Es kann bereits jetzt das neue
Verhalten (bei dem $HTTP_RAW_POST_DATA nie befüllt und
damit kein E_DEPRECATED
-Fehler hervorgerufen wird)
verwendet werden, wenn always_populate_raw_post_data
auf
-1
gestellt wird.
Die Konfigurationseinstellungen für die Zeichenkodierung der Funktionen
iconv und mbstring werden nun zugunsten von default_charset
als missbilligt eingestuft. Die missbilligten Optionen sind:
<?php
ini_set('always_populate_raw_post_data',-1);
$HTTP_RAW_POST_DATA = file_get_contents('php://input');
echo $HTTP_RAW_POST_DATA;
?>