さくらインターネットでのPERAでAuthを使用する時の質問です。


さくらのレンタルサーバ 「スタンダード」プランにてpear:Authを使用しようと考えています。
pearフォルダを作成して、php.iniに下記の記述を追加してパッケージをアップロードしました。

include_path = ".:/home/サブドメイン/www/pear"


その後、本のサンプルより作成した下記のPHPをアップした所、下記のエラーが発生しました。
Fatal error: Cannot instantiate non-existent class: auth in /home/ametes/www/tes/contents.php on line 11

このエラーは何かパッケージが足りないのでしょうか?

↓↓↓↓エラーが出たPHP(mysql接続の所はダミーです。)↓↓↓↓
<?php
require_once("Auth/Auth.php");
function loginFunction($usr,$status){
require_once("loginForm.php");
}
$params=array(
"dsn"=>"mysql://aaa:pass@aaa/usr",
"table"=>"auth",
"usernamecol"=>"username",
"passwordcol"=>"password");
$myAuth=new Auth("DB", $params, "loginFunction");
$myAuth->start();
if($myAuth->getAuth()){
print("認証済みです。");
}
?>



なお、PEAR:Authがインストールされているheteml (http://heteml.jp/)では問題なく動きました。
宜しくお願い致します。

回答の条件
  • 1人3回まで
  • 登録:2008/01/24 12:23:49
  • 終了:2008/01/25 14:36:13

回答(2件)

id:ctrl-v No.1

ctrl-v回答回数289ベストアンサー獲得回数152008/01/24 13:33:53

ポイント35pt

「/home/サブドメイン/www/pear」にpearはインストールされていますか?

telnetから「pear config-show」で

Configuration (channel pear.php.net):
=====================================
Auto-discover new Channels     auto_discover    <not set>
Default Channel                default_channel  pear.php.net
HTTP Proxy Server Address      http_proxy       <not set>
PEAR server [DEPRECATED]       master_server    pear.php.net
Default Channel Mirror         preferred_mirror pear.php.net
Remote Configuration File      remote_config    <not set>
PEAR executables directory     bin_dir          /home/サブドメイン/www/pear
PEAR documentation directory   doc_dir          /home/サブドメイン/www/pear/docs
PHP extension directory        ext_dir          /home/サブドメイン/www/pear/ext
PEAR directory                 php_dir          /home/サブドメイン/www/pear/php
PEAR Installer cache directory cache_dir        /home/サブドメイン/www/pear/cache
PEAR data directory            data_dir         /home/サブドメイン/www/pear/data
PEAR Installer download        download_dir     /home/サブドメイン/www/pear/cache
directory
PHP CLI/CGI binary             php_bin          /usr/local/bin/php
php.ini location               php_ini          <not set>
PEAR Installer temp directory  temp_dir         /home/サブドメイン/www/pear/temp
PEAR test directory            test_dir         /home/サブドメイン/www/pear/tests
Cache TimeToLive               cache_ttl        3600
Preferred Package State        preferred_state  stable
Unix file mask                 umask            22
Debug Log Level                verbose          1
PEAR password (for             password         <not set>
maintainers)
Signature Handling Program     sig_bin          /usr/local/bin/gpg
Signature Key Directory        sig_keydir       /usr/local/etc/pearkeys
Signature Key Id               sig_keyid        <not set>
Package Signature Type         sig_type         gpg
PEAR username (for             username         <not set>
maintainers)
User Configuration File        Filename         /home/サブドメイン/.pearrc
System Configuration File      Filename         /usr/local/etc/pear.conf

と表示されればOKなのですが。

さくらインターネットへのPEARのインストールは以下のサイトを参考にしてみて下さい。

http://zenryokuhp.com/server/sakura_pear.htm

id:yamanekomaabo

ありがとうございます。pear自体はインストールされているみたいです。

エラーの行番号よりauth.php以外に下記の記述に関するパッケージがいるのかなと思っているのですが。うーん。

$myAuth=new Auth("DB", $params, "loginFunction");

2008/01/24 15:10:24
id:bayan No.2

bayan回答回数100ベストアンサー獲得回数132008/01/25 08:00:02

ポイント35pt

/home/サブドメイン/www/pear/Auth.php はありますか?

手許の環境で試したら include_path で指定したpearのフォルダの、

直下に Auth.php がない場合に、同じエラーがおきました。


パッケージのアップロードはどのようにされましたか?

何処かにインストール済みのPEARのフォルダを丸ごとアップロードとか、

Auth フォルダのみを丸ごとアップロードとかでしょうか?

id:yamanekomaabo

ありがとうございます。

PEARフォルダを丸ごとアップロードしていました。

PEAR RSSなどが使用できていたので、Authも大丈夫かと思っていました。

telnetを使用してインストールをし直したら解決しました。

ありがとうございます。

2008/01/25 14:35:51

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません