ホームページ > バックエンド開発 > PHPチュートリアル > グローバル変数に関連する PHP セッションの副作用警告を解決するにはどうすればよいですか?

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

Susan Sarandon
リリース: 2024-10-17 20:44:30
オリジナル
993 人が閲覧しました

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 が既存の変数を検索しないようにすることもできます。 :

<code class="php">ini_set('session.bug_compat_warn', 0);
ini_set('session.bug_compat_42', 0);</code>
ログイン後にコピー

以上がグローバル変数に関連する PHP セッションの副作用警告を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート