サーバー移設に伴って環境が変わった、備忘録として残しておく
大きな違いは
WindowsサーバーからUnixサーバーに切り替わった
PHPとMySQLのバージョンがアップした
(1)漢字コードの扱いが変わった
以前はWindows環境のためShift-Jisコードを使っていた
MySQL周りでは警告メーッセージが表示されていた
漢字ホルダーが使えるためshift-jisを使い続けていた
今回Unix環境のためUTF-8コードを使うことにした
データは文字コードを変換しながら移行した
通常処理においては問題なし
一部の文言編集でトラブル発生
PHPプログラムで動的に漢字文言を切り取って貼り付けていた
shift-jisでは漢字は2バイト文字として長さを判断していた
UTF-8では3バイト(原則は不定長)として扱わないといけない
応急対応はしたが、全面見直しが必要になった
(2)mb_ストリンング命令が使えない
Xamppのテスト環境では使えているが、サーバー環境では使えない
詳しくは原因調査せず
上記の漢字バイト問題と同じで恒久対応を考える
【php.ini】を調べてみる
(3)$_POST命令に切り替える
$_GET命令を主に使っていた
URL上に受け渡しパラメータを乗せる方法
内容が丸見えになるので、$_POSTに順次切り替える
強力な措置ではないが、人目に晒すことは避けておくことにした
併せてパラメータチエックを強化する
コメントを残す