====== XREAでPHP/CGIを動作させるときの問題 ====== 個人的に認識している問題について。 ===== PHPがセーフモードで実行されるため起きる問題 ===== ファイルアップロード等で新規にファイルやフォルダをPHP内で作る場合、オーナーがapache、属性644で作られるため、作成後の削除やなめ変更しようとするロジックでエラーとなる。 >**回避方法** >サポートからセーフモードを回避する手順がアナウンスされています。 >[[http://sb.xrea.com/showthread.php?t=10744|PHPをCGIとして動かす方法について]] >MediaWikiやDokuWikiで実施したところオーナーがちゃんと自分のユーザーで作成され、アップロード機能なども動作するようになりました。ただしこの方法はセーフモードではない代わりに**「CGIモードではない」**ような気がします。新たに後述の問題が発生します。 ===== PHPをセーフモードで実行させないと起きる問題 ===== 前述の回避方法を使うと確かにセーフモードは回避していますが、全くのCGIモードでは無いような感じがします。IEで見たときはうまく動いているように見えるのですが・・・ === Last-Modifiedヘッダを出力すると500 Internal Server Error === MediaWiki+FireFoxで同様の事象を確認。(IEだと大丈夫みたい・・・なぜ???) [[http://tmaeda.s45.xrea.com/20040501.html|[tdiary] xrea で tDiary を正常に動かす方法(まとめ)]] [[http://tmaeda.s45.xrea.com/td/20031221.html|Last-Modifiedに関する問題]] [[http://sb.xrea.com/showthread.php?t=6336&highlight=text%2Fcss|XREA サポート掲示板]] >**回避方法** >//下のやり方で動作できないか検証中// === PHPで出力されるContent-Typeが全てtext/htmlに書き換えられてしまう === DokuWiki+FireFoxで確認。PHPがダイナミックにCSSファイルを返す場合、PHPロジックでContent-Type=text/cssを明示してもtext/htmlに上書き変更されてしまうため、FireFoxで正しくCSSを適用できない。(IEの場合、ファイルの中身までパースして判断するためちゃんと(?)表示できる) >**回避方法** >完全なCGIモードとして動作させた場合に回避可能であることを確認しました。スクリプト名を*.php→*.cgiに変更し、コードの先頭に#!/usr/local/bin/phpを追加します。 ====== XREA+へのインストールメモ ====== * [[XREA:GeekLogのインストール]] * [[XREA:MediaWikiのインストール]] * [[XREA:DokuWikiのインストール]]