WEBシステム開発・デザイン制作などすべての作業を一貫してご提供しております。(大阪・東京近辺)

PHPがエラーで画面が真っ白 .htaccess php_value default_charset

古くなったサーバー、およびシステムの改修業務を、最近やることが多いです。

その手のお話は、私に何なりとお任せください!

いかにトラブルが無くサーバーを移行させるかが、自分なりのこだわりとして大事にしています。


さて、今回経験したトラブルとして

移行テストの時でした。

(今回も8年くらい稼働しているサービス、サーバーの移行作業です)

PHPプログラムで構築しているサイトにアクセスすると、画面が真っ白になり何も表示されないエラーになってしまいました。

早速(*_*)

困ったときのエラーログの確認です。

ログファイルには、下記のメッセージが出力されていました。

.htaccess: Invalid command ‘php_value’, perhaps misspelled or defined by a module not included in the server configuration

おっと!エラーログを見て一発で原因が分かりました。

既存システムのリプレイスにて、幾つかのサービスを1台のWEBサーバーにまとめたことによる影響でした。

複数のサービスを同じWEBサーバー内に収容するが、セキュリティを維持するために、基本同じユーザーで動作してしまうApachモジュールのmod_phpを使わずに、ユーザー、グループを細かく指定できるFastCGI(mod_fastcgi)を利用するようになったからです。

FastCGIでは、.htaccessファイル内のphp_valueが利用できないためにエラーになっているのです。


昔のシステムは.htaccess内で、PHPの設定をするのが流行っていたのでしょうか(´・ω・`)

今ではUTF-8で作成するのが当たり前となっていますが、当時のWEBと言えばShift_JISかEUC-JPコードが一般的でした。今では新しいサイトでEUC-JPコードを利用しているのを見かけませんね。

ApacheやPHPのconfファイルからデフォルト文字コードを変更しても、今回の案件はShift_JIS、EUC-JP、UTF-8が入り乱れたものなので、素直に各システムの設定ファイルにて対応しました。


しかもデータベースとの文字コードもバラバラが多い(*_*)