調べてみたところ、どうやら「$myAuth->start();」の部分でプログラムが止まっているようですが、どこが悪いのか良く判りません。
別のサーバでは動作するので、サーバの設定の問題か、バージョンの問題のような気もします。
どのように対応すれば良いのでしょうか? アドバイスお願いします。
なおサーバ環境は指定なので、「動くサーバで動かせ!」とか、「バージョンを変えて貰え!」という回答は無しでお願いします。
-------------------------------------------------
<?php
require_once "DB.php";
require_once "Auth/Auth.php";
$dsn = "mysql://********:********@localhost/********";
$db = DB::connect($dsn);
if (PEAR::isError($db)) {
die($db->getMessage());
}
$params = array(
"dsn" => $db,
"table" => "********",
"usernamecol" => "********",
"passwordcol" => "********",
"db_fields" => "*"
);
$myAuth = new Auth("DB", $params);
$myAuth->start();
if(!$myAuth->getAuth()){
print "fail";
exit();
}
print "success";
?>
--------------------------------------------------
■MySQL :3.23.58-log
■PHP :4.4.4
■PEAR
Auth :1.5.4 (stable)
DB :1.7.12 (stable)
PEAR :1.6.1 (stable)
$paramsに渡している変数の値は、環境と一致してるんでしょ
うか?
とまるということは固まっているということですよね。
普通はタイムアウトして、戻ってきてエラーになりそう
ですが・・。
--------------------------
http://dozo.matrix.jp/pear/index.php/PEAR/Auth/drawLogin.html
$a = new defaultAuth("DB", $params)
のように、defaultAuthを使ってみてもいいかもしれません。
結局原因は判りませんでしたが、PEAR::MDB2をインストールし、PEAR::AUTHの認証をPEAR::DB経由からPEAR::MDB2経由に変えたところ、エラーなく作動しました。
ご回答ありがとうございます。
とりあえず問題は解決しましたが、結局原因は判らずじまいなので、時間ができたら調べたいと思います。