最近、開発中のZend Frameworkアプリケーションを実動サーバーに移動してセットアップをテストしました。Zend Framework - Zend_Auth :: getInstance()で500エラーが発生する
アプリケーション環境とファイルのアクセス許可に関係なく、アプリケーションは500エラーをスローします。手動デバッグの後、私はにZend_Auth::getInstance();
を呼ぶことに犯人を絞り込んだ。
関連機能:
protected function _initAutoLoad() {
$modelLoader = new Zend_Application_Module_Autoloader(array(
'namespace' => '',
'basePath' => APPLICATION_PATH
));
$acl = new Model_Acl();
$auth = Zend_Auth::getInstance(); //<- this line breaks
$frontController = Zend_Controller_Front::getInstance();
$frontController->registerPlugin(new Plugin_AccessCheck($acl, $auth));
return $modelLoader;
}
開発環境は、Mac OS X上でPHP 5.3.8を実行している、そしてサーバーはUbuntuの11.10サーバー上のPHP 5.3.10を実行しています。
サーバーで同じPHP設定を適用しようとしましたが、エラーが解決しません。私はそれがおそらくパスの許可だと思うが、私はこの問題に遭遇しておらず、Googleは特に役に立たない。
コール前にecho
またはvar_dump
に何かしようとすると、結果が出ます。それ以降は何も効果がなく、代わりにバニラ500のエラーが返されます。
ご協力いただきありがとうございます。
Zend_Authのストレージタイプと認証アダプタは何ですか?おそらく、Session(デフォルトのauth storage)またはアダプタにアクセスしようとしているときに失敗していますか? – Sachin
500エラーがZendによって生成され、スタックトレースと例外メッセージが存在するのか、それともサーバー設定に問題があり、何かがApacheサーバーのエラーログに含まれているかどうかを確認できますか? – drew010
Apacheのエラーログに何も表示されず、問題のない簡単なPHPアプリケーションを実行できます。私はLDAP Zend_Authアダプタを使用しており、Zendはスタックトレースを与えていません。私はさらに掘り下げて明日をもっと見つけなければならない。 php.iniはそれ自身のファイルにログするように設定されています。 –