2013-09-26 23 views
0

我有一個Zend 1.11申請時存在錯誤是給我一個類似的致命錯誤Zend的堆棧跟蹤沒有顯示出來,由於致命錯誤

的錯誤如下:

 
Fatal error: Uncaught exception 'Zend_Mail_Protocol_Exception' with message 'No connection could be made because the target machine actively refused it. ' in C:\xampp\php\pear\Zend\Mail\Protocol\Abstract.php:277 
Stack trace: 
#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 on line 336 

這是阻止顯示正確的堆棧跟蹤(即,此錯誤來自數據庫的故意錯誤,通常會拋出未知的數據庫異常),並且在此PHP應用程序上與郵件無關。任何建議都會有幫助。謝謝

+0

嗯。該錯誤消息是堆棧跟蹤。你到底在找什麼? –

+0

你也可以通過將調用代碼包裝在try-catch塊中來捕獲異常 –

+2

我猜測Zend正在處理這個異常,並且錯誤處理程序試圖通過電子郵件將錯誤發​​送給你。然而,它不能,所以它會把這個錯誤傳遞給你,而不是你想要的。 –

回答

3

在審查您的調用堆棧時,它是您的應用程序中的錯誤控制器拋出錯誤。

我想它試圖通過電子郵件發送錯誤的詳細信息,而不是拋出異常。

這顯然需要進行固定的,但看看現在你的錯誤嘗試添加該到你的application.ini

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

這將引發任何錯誤的屏幕,而不是試圖去處理它們。

+0

同樣的錯誤。這是從一個SVN回購和回購通常郵寄服務器/ PHP錯誤到一個組,所以也許這可能會導致問題? – 6elephants

+1

看看Default_ErrorController :: SendMail方法。當異常被處理時,這被觸發。它試圖郵寄給某人,但不能! –

+0

是的,做了它,我評論了sendMail函數(僅用於本地測試目的),它的工作非常感謝! – 6elephants