- 締切済み
CGIモードのphpスクリプトが400で動くわけ
さくらインターネットのレンタルサーバを利用しています。 さくらに聞け!、と言われてしまうかもしれないですが教えてくれると助かります。 困っているのと技術的な興味の半々です。 私が利用している「プロ」プランの特徴はユーザ権限で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の位置を明示する必要もなくなりますか? (テスト環境がないためテストはしておりません)
- みんなの回答 (2)
- 専門家の回答
お礼
常駐プロセスでもいるのかな?と推測したのですが ps auxwwなどと実行してもそれらしきプロセスは見つかりませんでした。
補足
解決しました。 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プロセスがあるということが確認できました。