pear の構成が不適切なようですが、このライブラリを使用すると、「既に定義されていることに注意してください」というメッセージが表示されます。
私のphp.iniには次のものがあります:
.:/usr/share/php:/usr/share/php/libzend-framework-php
コマンド 'which pear' は以下を返します:
/usr/bin/pear
コマンド「pear config-get php_dir」は以下を返します。
/usr/share/php/
ナシがクラスを2回ロードしているように見える理由はわかりません。
これは私がコードを使用している方法です:
require_once ('Auth.php');//Pear Auth
$dns = 'mysql://'.USER.':'.Util::decodePass(PASSWORD).'@'.SERVER.'/'.DBNAME;
// All options:
// Use specific username and password columns.
// Use SHA1() to encrypt the passwords.
// Retrieve all fields.
$options = array(
'dsn' => $dns,
'table' => 'usuario',
'usernamecol' => 'login',
'passwordcol' => 'password',
'cryptType' => 'md5', //'sha1'
'db_fields' => '*'
);
// Create the Auth object:
$auth = new Auth('DB', $options, 'show_login_form');
// Start the authorization:
$auth->start();
// Confirm authorization:
if ($auth->checkAuth()) {
//Authorized
echo(javaScriptRedirect(true,$js));
} else { // Unauthorized.
echo(javaScriptRedirect(false,$js));
//no se valida la autenticacion
}