0

エラーが存在する場合に同様の致命的なエラーが発生するZend 1.11アプリケーションがあります

エラーは次のとおりです。

致命的なエラー: 例外 'Zend_Mail_Protocol_Exception' がキャッチされず、'ターゲット マシンがアクティブに拒否したため、接続できませんでした. ' C:\xampp\php\pear\Zend\Mail\Protocol\Abstract.php:277 内
スタックトレース:
#0 C:\xampp\php\pear\Zend\Mail\Protocol\Smtp.php(167): Zend_Mail_Protocol_Abstract->_connect('tcp://localhost...')
#1 C:\xampp\php\pear\Zend\Mail\Transport\Smtp.php(199): Zend_Mail_Protocol_Smtp->connect()
#2 C:\xampp\php\pear\Zend\Mail\Transport\Abstract.php(348): Zend_Mail_Transport_Smtp->_sendMail()
#3 C:\xampp\php\pear\Zend\Mail.php(1194): Zend_Mail_Transport_Abstract->send(Object(Zend_Mail))
#4 C:\xampp\htdocs\test2\application\modules\default\controllers\ErrorController.php(153): Zend_Mail->send()
#5 C:\xampp\htdocs\test2\application\modules\default\controllers\ErrorController.php(66): Default_ErrorController->SendMail('Application err...', 'An error oc...')
#6 C:\xampp\php\pear\Zend\Controller\Action.php(516): Default_ErrorController->errorAction()
#7 C:\xampp\php\pear\Zend\Controller\Disp in C:\xampp\php\pear\Zend\Controller\Plugin\Broker.php 行 336

これにより、正しいスタック トレースが表示されなくなります (つまり、このエラーは、通常は不明な DB 例外をスローする意図的なデータベースの名前の誤りから発生したものです)。この PHP アプリケーションではメールとはまったく関係ありません。どんなアドバイスも役に立ちます。ありがとう

4

1 に答える 1

3

コールスタックを確認すると、エラーをスローしているのはアプリケーション内の ErrorController です。

例外をスローするのではなく、エラーの詳細を電子メールで送信しようとしていると思います。

これは明らかに修正する必要がありますが、エラーを確認するには、これを application.ini に追加してみてください。

resources.frontController.params.displayExceptions = 1
phpSettings.display_startup_errors  = 1
phpSettings.display_errors          = 1
phpSettings.error_reporting         = "8191"
resources.frontController.throwExceptions = true 

これにより、エラーを処理しようとするのではなく、エラーが画面に表示されます。

于 2013-09-26T19:19:04.377 に答える