サーバーを変更し、php 5.3 をインストールしました。新しいサーバーで次のエラーが発生しました: 未定義の変数: HTTP_SERVER_VARS 登録グローバルがオフになっていることに気付きました。php.net Web サイトでは、php > 4.2 でオフになっているのには理由があります。質問は、特にグローバルの登録をオンにできない場合に、未定義の変数 HTTP_SERVER_VARS を取得しないようにするにはどうすればよいですか?
ありがとう。
すべてのphpファイルで$HTTP_SERVER_VARSを$_SERVERに変更したくない場合は、次を使用できます。
global $HTTP_SERVER_VARS;
$HTTP_SERVER_VARS = $_SERVER;
$_SERVER
、$_GET
、$_POST
、および を使用するだけ$_COOKIE
です。の影響を受けませんregister_globals
。
詳細については、スーパーグローバルのマニュアル ページを参照してください。
PHP 5.3までは、そのためのphp.ini設定があります。
register_long_arrays = On
ただし、非推奨のメモが表示されます。
同様にオプションがありますregister_globals
そして、その理由についての章全体があります。それを読む良い機会かもしれません:http:
//php.net/manual/en/security.globals.php