共有ホスティングだとほぼ確実に、CGIかsafe_modeですよね。
xreaのシェアを見ても、後者の方が一般的です。
ところが、safe_modeだと、PHP権限でディレクトリを掘った時に、その内側にアクセスできません。
それってとっても不便で、モジュールなどからディレクトリを掘りたい、というケースは数多くあります。
「ユーザ権限でディレクトリを掘る」
この一点で、何か共通のインターフェースを用意できませんかね。
PHPがsafe_modeで動作しているサーバでも、CGIはsuExecでしょう。
であれば、perlは最低限あるでしょうから、ディレクトリを掘るシェルスクリプトを用意して、インストール時に実行権限つけてもらう、とか。
(ディストリレベルなら可能かな)
それとも、「XOOPSである以上、階層構造を持ったファイルもDBに保存すべき」でしょうか。
単なるインフォメーションで、本質的なレスになっていませんが・・・
> 共有ホスティングだとほぼ確実に、CGIかsafe_modeですよね。
> xreaのシェアを見ても、後者の方が一般的です。
まだ、きちんと試したことはありませんが(^^;
最近のXREAでは、.htaccess使えば、ファイル単位でCGI実行指定が可能に
なっています。
<Files hogehoge.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
とかを書けば、hogehoge.phpへのアクセスだけ、CGI起動になります。
もちろん<Files>使わなければ、そのディレクトリ内のすべてがCGIモードになります。
呼び出すphpファイルのあるディレクトリにphp.iniがあれば、その設定を参照する様にも
なっているそうです。
> ところが、safe_modeだと、PHP権限でディレクトリを掘った時に、その内側にアクセスできません。
このように、safe_modeだと正常に動かないアプリがあるという問い合わせが、
XREAに殺到??したのでしょうね。
レス、ありがとうございます>nobunobuさん
> 最近のXREAでは、.htaccess使えば、ファイル単位でCGI実行指定が可能に
> なっています。
実はこれについては知ってました。
それも、CGI版のバイナリをいくつも選べるあたり、さすがはXREAだな、と感
心してます。
ただ、XREA/CORESERVER以外はどうかというと、結構寒い状況なんじゃないか
な、と予想してます。
とりあえず、普通のCGIであれば、ほとんどすべてのサーバでsuExecで動かし
ているでしょうから、実行権限つけたシェルスクリプトからphp-cliまたは
php-cgiを呼び出すことで、多くの環境に対応できるかな、と思っているので
すが、どうでしょうか。
もちろん権限チェックは、PHPの普通のソースコードなので、比較的容易に書
けます。
この場合にどうしても必要なのは、php-cli/cgiのパスですね。PHPを
tarballでビルドすれば、php-cliも一緒にインストールされますが、ディス
トリのをそのまま使っているなら、あえて入れないとバイナリがないケース
も多いでしょうね…
あと、safe_modeじゃなくても、
uploads/myalbum/
uploads/myalbum/thumnails/
なんてフォルダをapache権限で作ってしまうと、後から引越とかするときに
結構面倒ですよね。
だから「ディレクトリを掘る」というその一点で、何かこういう仕掛けがあ
るといいなあ、と考えた次第です。
> このように、safe_modeだと正常に動かないアプリがあるという問い合わせが、
> XREAに殺到??したのでしょうね。
私も、そういう理由でsuPHPを導入してみたことがあるのですが、どうしても
重いですね。
suPHPの代表格であるさくらなんかも、やっぱりXREAよりややレスポンスが悪
い気がします。
もっとも、XCLくらい重量級だと、suPHP版とApacheモジュール版のロードの
差なんて無視できるのかもしれません。
まあ、グダグダ言ってても仕方がないので、ディレクトリを掘るCGI的な仕掛け
の叩き台を書いてみますね。