[PHP-users 13833] Re: CGI版 php でcurrent directory を取得出来ない

Nakamura Kazuto php-users@php.gr.jp
Fri, 07 Mar 2003 20:06:23 +0900


中村です。

自分ひとりだけの問題な気がしますがせっかく調べたので投げます。
結論から言うと 4.3.1 の CGI版は挙動がおかしいです。
4.1.2 で作成したところ問題無く動作しました。環境変数を含め、納得の行く
動作をしています。参考の為に設定を投げて起きます。

./configure  --with-zlib --without-mysql \
 --enable-discard-path --disable-force-cgi-redirect

唯一、#!/usr/local/bin/php -q で呼んでいるのに http-header を吐いて
しまう問題はありますが…

>ずっと調査を続けています。CGI版の話なのですがよく見ると PHP の特徴
>の1つである変数の自動分解がなされていない事に気づきました。パラメータ
>付きで実行し、phpinfo() の結果で見ています。
>
>_ENV["SCRIPT_FILENAME"] => /home/test/public_html/sample.cgi
>_ENV["REQUEST_URI"] => /~test/sample.cgi?id=30
>_ENV["SCRIPT_NAME"] => /~test/sample.cgi
>_ENV["QUERY_STRING"] => id=30
>_SERVER["QUERY_STRING"] => id=30
>
>実はディレクトリ情報も正確に取得出来ています。じゃ何故 chdir 等が
>動かないのか?理由がわかりません。CGI版の PHP をお使いの方はおりま
>せんか…?

--
中村  和人  kazuto@sainet.or.jp