私は今まで見た中で最も奇妙な問題を抱え始めたばかりで、私のサイトのホスト以外は何も変わっていません。コードで通常の変数と同じ名前の$_SESSION変数をたくさん使用していますが、通常の変数を設定すると、同じ名前の$_SESSION変数が変更されるようです。
たとえば、私がする場合
$_SESSION['favcolor'] = 'blue';
$favcolor = 'green';
echo $_SESSION['favcolor'];
私green
は応答として受け取ります...どうすればこれを起こさせないのですか?変更が必要なPHPini変数がある可能性が高いと思いますが、これについては何も見つからないようです...
解決
ですから、私は自分のサイトをホストするために別のホストにいるので、次のようにこれを実行する必要がありました。ファイルを作成しphp.ini
、次の行だけを含めてサイトのファイルのルートに配置しました。
register_globals = Off ;notice the capital 'O' in 'Off'
次に、.htaccessファイルで、これをファイルの最後に追加しました。
<IfModule mod_suphp.c>
suPHP_ConfigPath /home/myhostusername/public_html/stumpyinc.com
<Files php.ini>
order allow,deny
deny from all
</Files>
</IfModule>
競合する変数はもうありません!私はまた、この経験から何かを学び、もう少し研究をしました。変数とセッション変数は、とにかく同じであってはなりません。残りのプログラミング全体で使い始めるのは良い習慣です。