PHP セッションの副作用警告: グローバル変数に関する問題
PHP Web サイトをホストしようとすると、次のような警告が表示される場合があります。スクリプトは、PHP 4.2.3 で非推奨となったセッションの副作用に依存しています。この警告は、register_globals オプションが有効になっていない限り、セッション拡張機能がグローバル変数をデータ ソースとして認識しない場合に発生します。
問題について
グローバル変数は、次のことができる変数です。スクリプト内の任意のスコープからアクセスできます。古いバージョンの PHP では、セッション拡張機能によってグローバル変数がセッションに自動的に登録されます。ただし、この動作はセキュリティ リスクと考えられ、PHP 4.2.3 で削除されました。
ソースの追跡
警告のソースを特定するには、次の情報を探します。セッションコンテキストでグローバル変数を使用しているインスタンス。具体的には、警告が発生する可能性があるため、セッション変数と同じ名前の変数がないか確認してください。
警告を無効にする
PHP を設定することで警告を無効にできます。構成オプション「session.bug_compat_warn」および「session.bug_compat_42」を「off」に設定します。これらの設定は次の方法で構成できます:
session.bug_compat_warn = 0 session.bug_compat_42 = 0
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);
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3