[PHP-users 1801] Re: Linuxの場合にAction が不要な理由
Yasuo Ohgaki
php-users@php.gr.jp
Wed, 5 Sep 2001 09:08:00 +0900
大垣です。
> よしたけと申します。
>
> 渡辺@新潟さんのメール [PHP-users 1778] を読んでいて、ふと
> 疑問に思ったことがあります。
>
> 現在、WinNT4.0 + Apache1.3.20 + PHP4.0.6 でいろいろ実験して
> いますが、httpd.conf には、
>
> AddType application/x-httpd-php .php
> AddType application/x-httpd-php .phtml
> Action application/x-httpd-php "/php/php.exe"
>
> などと書いて無事に動いています。( /php/ は ScriptAlias 済 )
>
> で、最後の Action なのですが、これって Linux の場合には不要
> のようですね。
PHPがモジュールとして動作しているからです。Windows版のApacheでもモ
ジュールとしてPHPが動作している場合は必要ありません。(PHPをCGIで利用
したい場合は必用です)
>
> とすると、Apache が「application/x-httpd-php のファイルは
> PHP で処理させる」という事をなぜ知っているのでしょう?
ApacheはAction、AddType Directiveによって、MIMEが
application/x-httpd-phpのファイル(指定された拡張子で識別)はPHPのスク
リプトと判断して、PHPにコードを渡しています。PHPモジュールがApacheに登
録される際にPHPがapplication/x-httpd-phpを登録しています。
> ソースコードに書かれていて、生まれ持ったものなのですか?
application/x-httpd-phpはPHP4ではmod_php4.cで定義されています。別の名
前にしたい場合はソースを変更すると簡単に変えることが出来ると思います。
CGIの場合はソース変更しなくても適当に変えて使えます。(他の方が
httpd.confを見た場合に混乱するのでお勧めしませんが、、、)
ApacheマニュアルのMIME関連、AddType、Actionが解説されている部分を読む
と解ると思います。
--
Ohgaki, Yasuo (大垣 靖男)
Mail: yohgaki@dd.iij4u.or.jp