2012-02-21 17 views
3

register_globalsが有効になっているクライアントアプリケーションがありますが、共有サーバーでホストしています。メインでregister_globalsをオンにしたくないphp.iniファイル。1つのアプリケーションに対してregister_globalsを有効にします

ini_set ('register_globals' , 'On');を挿入しようとしましたが機能しませんでした。それはなぜですか?そしてもっと良い方法がありますか?

+1

、何本当に、それは苦痛が少ないオプションではありません。 –

+1

あなたはアプリを書き換えます。 ;) – Yarin

+1

OK、私の料金は1時間に150ドルです。 –

答えて

7

あなたはいつも入れて試みることができる:

extract($_REQUEST,EXTR_SKIP); //thanks @Wayne Whitty 

すべてのファイルの上に。私が知る限り、それは同じ結果をもたらすでしょう。 しかし、本当に、本当に、悪い悪い悪いこれらを使用する。私はコードを変更する方法を探します。しかし、時にはあなたは選択肢がありません。 PHPのドキュメントから

+0

これは実際に私が試したもので、うまくいくと思われます。 – Yarin

+3

ちょっとOPにおそらくEXTR_SKIPを2番目のパラメータとして使うべきだと私は付け加えました。デフォルトでは、extractはEXTR_OVERWRITEに設定されています。 extract($ _ REQUEST、EXTR_SKIP); –

5

はregister_globalsがランタイム (ini_set())に設定することはできませんのでご注意ください。ホストが上記の のように許可している場合は、.htaccessを使用できます。例.htaccessエントリ:php_flag register_globals オフ。

link to php documentation on register_globals

1

register_globalsのだけphp.iniで設定することができます。 ini_setことによって、実行時ではないあなただけのフォローコードによって、この設定を読むことができます:

ini_get('register_globals'); 
アプリを書き換える
関連する問題