php7バージョンアップ後のエラー処理について

藏色散人
リリース: 2023-02-17 15:20:01
転載
3891 人が閲覧しました

php7の登場により大幅なパフォーマンス向上が見られたため、新バージョンの機能を体験したくてアップグレードしてみました。

Web サイトでインターフェイスをリクエストするときにエラーが発生したことがわかり、トラブルシューティング後の解決策を記録しました。

PHP をアップグレードした後、サイトでエラーが報告されました。プロンプトは次のとおりです。

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
ログイン後にコピー

php公式サイトを確認したところ、php5.6.X以降のバージョンでは一部の機能が廃止されていることが分かりました。 ##http://php.net/manual/zh /migration56.deprecated.php

理由は次のとおりです:

$HTTP_RAW_POST_DATA 和 always_populate_raw_post_data
ログイン後にコピー

always_populate_raw_post_data を使用すると、 $HTTP_RAW_POST_DATA を埋めるときに E_DEPRECATED エラーが発生しました。

$HTTP_RAW_POST_DATA の代わりに php://input を使用してください。これは、以降の PHP バージョンでは削除される可能性があります。

新しい動作を体験するには、always_populate_raw_post_data を -1 に設定します (これにより、$HTTP_RAW_POST_DATA が強制的に未定義になるため、E_DEPRECATED エラーは発生しません)。

修復方法:

1. php 設定ファイルを変更し、php.ini を見つけます。 always_populate_raw_post_data をオンにして、-1 に設定します。

always_populate_raw_post_data = -1
ログイン後にコピー
2. $HTTP_RAW_POST_DATA がプロジェクトで役立つ場合は、次のように変更します:

$info = $HTTP_RAW_POST_DATA であることが判明;

変更します$info = file_get_contents( 'php://input');

推奨: "

PHP7

"

以上がphp7バージョンアップ後のエラー処理についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:mamicode
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!