さくらのレンタルサーバ 「スタンダード」プランにて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/)では問題なく動きました。
宜しくお願い致します。
「/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のインストールは以下のサイトを参考にしてみて下さい。
/home/サブドメイン/www/pear/Auth.php はありますか?
手許の環境で試したら include_path で指定したpearのフォルダの、
直下に Auth.php がない場合に、同じエラーがおきました。
パッケージのアップロードはどのようにされましたか?
何処かにインストール済みのPEARのフォルダを丸ごとアップロードとか、
Auth フォルダのみを丸ごとアップロードとかでしょうか?
ありがとうございます。
PEARフォルダを丸ごとアップロードしていました。
PEAR RSSなどが使用できていたので、Authも大丈夫かと思っていました。
telnetを使用してインストールをし直したら解決しました。
ありがとうございます。
ありがとうございます。pear自体はインストールされているみたいです。
エラーの行番号よりauth.php以外に下記の記述に関するパッケージがいるのかなと思っているのですが。うーん。
$myAuth=new Auth("DB", $params, "loginFunction");