今日、私の友人のウェブサイトに別の問題が発生しました(新しいスペースに移動したばかりのさまざまな問題のため)ので、問題を確認したところ、phpがデータをデコードしていることがわかりました
これは非常に奇妙だったので、ローカルでテストしましたが、問題はありませんでした。その後、オンラインで確認したところ、デコードに必要な形式が非常に厳密であることがわかりました
少しでも不正確であっても、動作しません。ので、 var_dump でデータを入力したところ、エスケープされていることがわかりましたが、問題はありません。
1. 次に、最初のテストを実行しました
データ (var_dump によって出力され、コピーされたデータ) を直接デコードしました。結果は OK でした。 (ローカルネットワークでも外部ネットワークでも可)
2. データデコードを直接取得
結果はNULLと表示される
これはなぜだろう。 。 。 。 。
php のバージョンがアップグレードされるたびに、内容が変更されたかどうかはほとんど気にせず、せいぜい最新バージョンをダウンロードするくらいです。これは本当に悪い習慣です
ははは。もうやらない、私のWin PHPは5.3、Macは5.6、外部サーバーは5.2、合計3つのバージョン
そこで、PHPのバージョンの問題ではないかとしばらく考えました(ローカルで使用できるため)
オンラインで確認したところ、確かに、php.iniにmagic_quotes_gpcオプションがあり、それがONになっていることがわかります
。オプションはユーザー入力コンテンツをエスケープします。 php5.4 バージョンが削除された後、変更手順は次のとおりです
1. php.ini
の場所を見つけます。
4. サーバーを再起動します
すべて問題ありません。
上記では、PHP の自動エスケープの問題と、magic_quotes_gpc が設定に残した歴史的問題について、関連する内容を含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。