セーフモードの回避策で、
AddHandler application/x-httpd-phpcgi .php
とするのだが、CGI版のPHPを動かすということである。
しかし、CGIのPHPでも問題がある。
HTTPのレスポンスヘッダーが常に Content-Type: text/html としてしまう。
CGIのPHPでFireFoxを使って管理画面が崩れてしまうのは、このせいである。
この回避策として、load-styles.phpのみをモジュール版に戻すという手段もあるが、他の手段としてphp.ini を各ディレクトリに設置するということをする。記述は下記の通り。
cgi.nph = 1
default_mimetype =default_charset =
しかし、次の条件の時はまだ足らない、
- セーフモード:オフでないとならない場合。かつ、
- レスポンスヘッダーがPHPで設定したContent-Typeでならないとき。かつ
- レスポンスヘッダーがStatus:304でならないとき。
このとき、なにが足らないかというとStatusが常に200となってしまう。
一応回避策はあって、
- 先頭行に、#!/usr/local/bin/php -q とする。
- アクセス権を755とする。
- .htaaccess で
などで該当ファイルを
AddHandler cgi-script .php とする。
でも、この方法は面倒だなぁ。
