Heim > Backend-Entwicklung > PHP7 > Informationen zur Fehlerbehandlung nach dem Upgrade von PHP7

Informationen zur Fehlerbehandlung nach dem Upgrade von PHP7

藏色散人
Freigeben: 2023-02-17 15:20:01
nach vorne
3937 Leute haben es durchsucht

Aufgrund der erheblichen Leistungsverbesserungen, die das Aufkommen von PHP7 mit sich brachte, wollte ich die Funktionen der neuen Version erleben und habe daher ein Upgrade durchgeführt.

Beim Anfordern der Schnittstelle auf der Website wurde ein Fehler festgestellt und die Lösung nach der Fehlerbehebung aufgezeichnet.

Nach dem Upgrade von PHP meldete die Website einen Fehler. Die Eingabeaufforderung lautet wie folgt:

Deprecated: Automatically populating $HTTP_RAW_POST_DATA is deprecated and will
be removed in a future version. To avoid this warning set
‘always_populate_raw_post_data‘ to ‘-1‘ in php.ini and use the php://input stream
instead. in Unknown on line 0
Warning: Cannot modify header information - headers already sent in Unknown on line 0
Nach dem Login kopieren

Nachdem wir die offizielle PHP-Website überprüft haben, haben wir erfahren, dass einige Funktionen in php5.6.X und späteren Versionen aufgegeben wurden. Weitere Informationen finden Sie unter:

http://php.net/manual/zh /migration56.deprecated.php

Der Grund ist:

$HTTP_RAW_POST_DATA 和 always_populate_raw_post_data
Nach dem Login kopieren

Die Verwendung von Always_populate_raw_post_data führt zu einem E_DEPRECATED-Fehler beim Auffüllen von $HTTP_RAW_POST_DATA.

Bitte verwenden Sie php://input anstelle von $HTTP_RAW_POST_DATA, da es in nachfolgenden PHP-Versionen möglicherweise entfernt wird.

Setzen Sie Always_populate_raw_post_data auf -1 (dadurch wird $HTTP_RAW_POST_DATA undefiniert, sodass kein E_DEPRECATED-Fehler auftritt), damit das neue Verhalten auftritt.

Reparaturmethode:

1. Ändern Sie die PHP-Konfigurationsdatei und suchen Sie php.ini. Aktivieren Sie Always_populate_raw_post_data und setzen Sie es auf -1.

always_populate_raw_post_data = -1
Nach dem Login kopieren

2. Wenn $HTTP_RAW_POST_DATA im Projekt verwendet wird, ändern Sie es in:

Ursprünglich $info = $HTTP_RAW_POST_DATA;

Ändern Sie es in $info = file_get_contents( 'php://input');

Empfohlen: "PHP7"

Das obige ist der detaillierte Inhalt vonInformationen zur Fehlerbehandlung nach dem Upgrade von PHP7. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:mamicode
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage