[PHP-users 24440] MacOS Xに移したらphpコードが動かなくなった

"赤松 富美雄" redpine @ iris.ne.jp
2005年 2月 7日 (月) 22:35:39 JST


みなさん はじめまして。
専門学校の講師をやる傍ら一人でコンピュータ関連のなんだかんだを
世話しているものです。

以前私がネットや本などの手本を見ながら作ったphpコードがあるのですが、
新しくMacOS X Server上で動かそうとしたところ動作がおかしくなりました。
BASIC認証を行うものです。

以前はプロバイダのLinuxサーバー上のPHP4.3.3できちんと動いていたもので、
設定IDとパスワードしか変えておりません。
現在のサーバーは MacOS X Server 10.3、 PHP Version 4.3.10 で動いています。
文字コードはEUC 改行コードLF で作成しています。

現象としては、ダイアログが出てID・パスワードの入力を求められるのはいいのですが、
入力しても繰り返しダイアログを表示し続けるというものです。

パスワードが間違えているとか、認証成功とかのif の構文へ行かないようなのです。
4.3.3から4.3.10の間に何か変わったのでしょうか?
それともOSの違いでしょうか?
だいぶ省略していますがソースコードは大体下記のような感じです。

if (!isset( $PHP_AUTH_USER )) {
    header('WWW-Authenticate: Basic realm="Test Realm"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'IDが未入力です。';
    exit;
} else{
   if (( $PHP_AUTH_USER != $ID ) || ( $PHP_AUTH_PW != $PAS)) {
//****
         header('WWW-Authenticate: Basic realm="Test Realm"');
         header('HTTP/1.0 401 Unauthorized');
         echo 'IDかパスワードが入力されていないか間違っています。';
         exit;
   } else {
         ユーザー認証に成功したときの処理
 }
}
ここでIDが入っていない(未入力)ときの処理は、3回入力を繰り返すと(内容ありなし 
かかわらず)
処理されてメッセージが表示されますが、パスワード違いや、認証したときの処理へ
流れません。

何か原因として思い当たることはないでしょうか?
お分かりになる方がおられましたらご指摘いただければ助かります。
よろしくお願いいたします。



-----------------------------
RED.PINE's  Office
赤松 富美雄(Tomio Akamatsu)
redpine @ iris.ne.jp
-----------------------------




PHP-users メーリングリストの案内