[PHP-users 11850] Re: CGIモードでの拡張子PHP が動作しない
仲村 武
php-users@php.gr.jp
Thu, 28 Nov 2002 01:10:10 +0900
仲村です
On Wed, Nov 27, 2002 at 11:33:13PM +0900, Nobuyuki Koyama wrote:
> PHPをCGIモードでコンパイルし、通常にCGIモードで動作するのですが
> 拡張子を.phpにした場合に以下のようなエラーログが発生しました。
> Apacheのエラーログです。
>
> (2)No such file or directory: exec of /home/httpd/cgi-bin/php/phpinfo.php failed
> Premature end of script headers: /home/httpd/cgi-bin/php/phpinfo.php
こういうエラーメッセージが出るのかどうかは分かりませんが
> この.phpを.cgiにすると問題なく動作します。
と、言うことですので
ScriptAlias /cgi-bin/ "/home/httpd/cgi-bin/"
ScriptAliasMatch ^/(.*)/cgi-bin(.*) /home/$1/cgi-bin$2
http://httpd.apache.org/docs/mod/mod_alias.html#scriptalias
http://httpd.apache.org/docs/mod/mod_alias.html#scriptaliasmatch
あるいは
AddHandler cgi-script .php
<Directory /ど/こ/か>
Options +ExecCGI
</Directory>
http://www.apache.jp/docs/mod/core.html#options
http://www.apache.jp/docs/mod/core.html#directory
あたりでしょう。
ScriptAlias(Match) だと拡張子が何であっても、また、拡張子がない場合でも
CGI と見なされ実行されます。
==> 画像ファイルなどを置いても、CGIで実行しようとして表示できないが
設定ファイルや、データファイルを置いていても CGIとして実行されるため
直接は見られない。もちろん、データによっては見える可能性はありますので注意!!
画像ファイルなどは、fpassthru で出すか CGI 以外のディレクトリに入れないと
いけません。
詳細は御自分で調べて納得された上で設定ください。