這是有史以來最令人沮喪的。當你所得到的只是一個白屏時,幾乎不可能發現錯誤!Zend認證返回白屏
此代碼用於其他項目,它工作正常有那麼語法,它是正確的。但一定出事的配置...
下面是代碼:
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;
}
這是我的身份驗證控制器和被調用後,我設置適配器等。如果我把一個模具( 「foo」 的);在$結果行之前,我看到它。如果我把它放在$ result行的後面,我會得到一個WSOD並停止系統。我知道這裏沒有足夠的人來調試我的代碼,但我希望別人有這個問題,並可以給我一個提示,以試圖解決這個問題?我有雙重檢查數據庫,列名等。我需要知道什麼樣的事情可以做線:
$result = $auth->authenticate($adapter);
導致死亡的白色屏幕???有任何想法嗎?我在application.ini中打開了所有錯誤顯示。
我在此服務器上運行Zend 1.11.12。這有什麼區別嗎?在那裏,它正在運行的服務器正在運行1.12.0-9
感謝您的任何想法。
編輯:::我添加代碼爲我_getAuthAdapter。
張貼'_getAuthAdapter()'函數也許這裏的問題是 –
嘗試'$ adapter'一個'var_dump'並檢查返回的對象是'Zend_Auth_Adapter_DbTable' –
任何錯誤在Apache的錯誤日誌? –