プロが教える店舗&オフィスのセキュリティ対策術

今日は。
PEARのAuthを使って認証ページを作ろうとしているのですが、下記エラーがでてきて困ってます。環境はウインドウズXPです

Fatal error: Class 'Auth' not found in C:\Program Files\Apache Group\Apache2\htdocs\samples\practice\myauth.php on line 15
15行目のソースは
$auth=new Auth("DB",$params,"loginFunction",TRUE);です

Authが無いのかなと思い
require_once("Auth/Auth.php");
でエラーがでているか調べたのですが、エラーはでてないようです。
また、Authフォルダがあるかどうかも調べたのですが、C:\php\PEARにありました

Fatal error: Class 'Auth' not foundをグーグルで調べてもよくわからないので困っています。

何かアドバイスがあればよろしくお願いします。

A 回答 (3件)

自信は無いのですが… pearへのパスは、通ってますか?



一度、"myauth.php"と同じ場所に、"Auth.php" と "Auth"のフォルダを置いてみてはいかがでしょうか?
    • good
    • 0
この回答へのお礼

juri_aさんアドバイスありがとうございます。

>自信は無いのですが… pearへのパスは、通ってますか?

パスは通ってました。
require_once("DB.php");
の機能は問題なく使えるので多分パスは通ってると思います。

>一度、"myauth.php"と同じ場所に、"Auth.php" と "Auth"のフォルダを置い>てみてはいかがでしょうか?

試してみました。ついでにrequire_once("Auth/Auth.php");をコメントアウトしてみたんですがエラーメッセージは
Fatal error: Class 'Auth' not found in C:\Program Files\Apache Group\Apache2\htdocs\samples\practice\myauth.php on line 15で変わりませんでした。

ありがとうございます

お礼日時:2007/06/01 12:18

requireでエラーが出ずにクラス未定義とエラーが出るということは、意図したものと違うAuth.phpを読み込んでいたりはしませんか。



絶対pathで
require_once("C:/php/PEAR/Auth/Auth.php");
のようにrequireしてみても結果は一緒でしょうか。
    • good
    • 0
この回答へのお礼

Rayderlさんアドバイスありがとうございます。

解決しました。
原因は同じフォルダ内にauth.phpという空のファイルが存在していたからです。いつの間に作成したんだろう。

Rayderlさんの言うとおり、絶対path指定したのですが、結果は変わらず。
別のフォルダにソースをコピーし、テストしてみたら問題なく起動しました。
なので、フォルダ内に問題があるのかと思い、私が作成したauth.phpフィルを削除したらAuth認証ができるようになりました。

どうもありがとうございました。

お礼日時:2007/06/04 10:38

>Authが無いのかなと思い


デフォルトで入ってましたっけ?
一応現在インストールされているパッケージを確認してみたらどうでしょうか?
コマンドラインで
pear list
でインストールされているパッケージの一覧が表示されます。

参考URL:http://pear.php.net/manual/ja/installation.cli.php
    • good
    • 0
この回答へのお礼

gogo-teaさんアドバイスありがとうございます

pear list試してみたんですが、Auth1.5.1が表示されていました

あと、参考HP、PEARのHPは英語だけと思っていたのですが、日本語のページもあったんですね。
教えてくれてありがとうございます。

お礼日時:2007/06/01 12:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!