これはこれまでで最もイライラします。白い画面しか表示されない場合、エラーを見つけることはほとんど不可能です!!!
このコードは他のプロジェクトで使用されており、そこでは問題なく動作するため、構文的には正しいです。しかし、設定で何かが間違っているに違いありません...
コードは次のとおりです。
protected function _process($values)
{
// Get our authentication adapter and check credentials
$adapter = $this->_getAuthAdapter();
$adapter->setIdentity($values['username']);
$adapter->setCredential($values['password']);
$auth = Zend_Auth::getInstance();
$result = $auth->authenticate($adapter);
if ($result->isValid()) {
$user = $adapter->getResultRowObject();
$auth->getStorage()->write($user);
return true;
}
return false;
}
protected function _getAuthAdapter()
{
$dbAdapter = Zend_Db_Table::getDefaultAdapter();
$authAdapter = new Zend_Auth_Adapter_DbTable($dbAdapter);
$authAdapter->setTableName('Users')
->setIdentityColumn('username')
->setCredentialColumn('password')
->setCredentialTreatment('md5(?)');
return $authAdapter;
}
これは認証コントローラーにあり、アダプターなどをセットアップした後に呼び出されます。$result 行の直前に表示されます。$result 行の直後に配置すると、WSOD が発生し、システムが停止します。誰かが私のコードをデバッグするのに十分ではないことはわかっていますが、他の誰かがこの問題を抱えていて、これを修正する方法についてヒントを与えてくれることを望んでいましたか??? データベース、列名などを再確認しました。どのようなものが線を引く可能性があるかを知る必要があります。
$result = $auth->authenticate($adapter);
死の白い画面になります??? 何か案は?application.ini ですべてのエラー表示をオンにしています。
このサーバーで Zend 1.11.12 を実行しています。それは違いがありますか?それが動作しているサーバーは1.12.0-9を実行しています
アイデアをお寄せいただきありがとうございます。
編集::: _getAuthAdapter のコードを追加しました。