「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > グローバル変数に関連する PHP セッションの副作用警告を解決するにはどうすればよいですか?

グローバル変数に関連する PHP セッションの副作用警告を解決するにはどうすればよいですか?

2024 年 11 月 4 日に公開
ブラウズ:940

How to Resolve PHP Session Side-Effect Warning Related to Global Variables?

PHP セッションの副作用警告: グローバル変数に関する問題

PHP Web サイトをホストしようとすると、次のような警告が表示される場合があります。スクリプトは、PHP 4.2.3 で非推奨となったセッションの副作用に依存しています。この警告は、register_globals オプションが有効になっていない限り、セッション拡張機能がグローバル変数をデータ ソースとして認識しない場合に発生します。

問題について

グローバル変数は、次のことができる変数です。スクリプト内の任意のスコープからアクセスできます。古いバージョンの PHP では、セッション拡張機能によってグローバル変数がセッションに自動的に登録されます。ただし、この動作はセキュリティ リスクと考えられ、PHP 4.2.3 で削除されました。

ソースの追跡

警告のソースを特定するには、次の情報を探します。セッションコンテキストでグローバル変数を使用しているインスタンス。具体的には、警告が発生する可能性があるため、セッション変数と同じ名前の変数がないか確認してください。

警告を無効にする

PHP を設定することで警告を無効にできます。構成オプション「session.bug_compat_warn」および「session.bug_compat_42」を「off」に設定します。これらの設定は次の方法で構成できます:

  • php.ini:
session.bug_compat_warn = 0
session.bug_compat_42 = 0
  • .htaccess:
php_value session.bug_compat_warn 0
php_value session.bug_compat_42 0

代替解決策:

また、次の行をスクリプトに追加することで、PHP が既存の変数を検索しないようにすることもできます。

ini_set('session.bug_compat_warn', 0);
ini_set('session.bug_compat_42', 0);
リリースステートメント この記事は次の場所に転載されています: 1729168997 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3