プロが教えるわが家の防犯対策術!

さくらインターネットのレンタルサーバを利用しています。
さくらに聞け!、と言われてしまうかもしれないですが教えてくれると助かります。
困っているのと技術的な興味の半々です。

私が利用している「プロ」プランの特徴はユーザ権限でapacheが起動されていることです。
(ユーザ毎にapacheが起動されていると考えられます。http://tanaka.sakura.ad.jp/archives/000971.html
PHPはCGIモードで設定されていてPHPスクリプトはパーミッション400で動作します。
同じディレクトリにperlスクリプトもあるのですがこれは少なくとも500を与えないと動作しません。

そこでこの動作条件の違いの原因を考えてみて思いついたのですが、
両者の違いとしてPERLスクリプトの先頭にはperlの位置が明示されているがPHPスクリプトのそれにはない。
それからCGIモードでPERLを動作させる場合とCGIモードでPHPを動作させる場合とではhttpd.confの記述内容が違う。
(ExecCGI, AddHandler, AddType, Actionなど)

質問1
httpd.confに、PHPを設定するようにPERLを設定すれば
PERLスクリプトも400で動作するようになるのでしょうか?
またその場合先頭行でperlの位置を明示する必要もなくなりますか?
(テスト環境がないためテストはしておりません)

A 回答 (2件)

>間違いなくCGIモードで動作しています


これはどうやって確認したのかな?
通常のHTML埋め込み型で駆動してしまうようならCGIではない筈だけど?

この回答への補足

解決しました。
ps auxwwをタイミングを見計らって実行したところ捕まえることができた。
username 37919 0.0 0.3 14332 8880 ?? R 1:19PM 0:00.05 php index.php (php-x.x.x)

apacheがphpスクリプトをCGI経由でphpに引き渡すときに
スクリプト本体以外で実行されるphpプロセスがあるということが確認できました。

補足日時:2009/01/21 13:23
    • good
    • 0
この回答へのお礼

常駐プロセスでもいるのかな?と推測したのですが
ps auxwwなどと実行してもそれらしきプロセスは見つかりませんでした。

お礼日時:2009/01/21 03:37

CGIモードで動いているというのが勘違いでしょう。


apacheモジュールモードで動いていると思いますよ。

phpinfo()表示のServerAPIのところはどうなってますか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
残念ながら間違いなくCGIモードで動作しています。
さくらは自分で設定を変えない限りCGIモードで動作するんですよ。
Server API CGI

お礼日時:2009/01/21 03:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!