我正在使用 zend 框架,最近我的代码出现了可怕的问题。实际上,我正在为电子邮件开发一个网站,用户输入他们的邮件服务器详细信息,就可以通过我的系统查看他们的电子邮件。
问题是,每当我尝试连接到邮件服务器时,我的系统有时会死机,而是提示我下载索引页面,即正在运行的页面 - 当然我最终会得到一个空页面,但那是不应该的正在发生。
我做了一些检查,发现代码 在 connect 函数的Zend_Mail_Protocol_Imap 类中死亡,并且在代码中也是如此:
$this->_socket = fsockopen($host, $port, $errno, $errstr, self::TIMEOUT_CONNECTION);
在发布的链接中的第 94 行。
我在这里做什么我如何设置一个检查来解决这个问题至少找出这里发生了什么:(
您可以从屏幕截图中查看我在这里看到的内容: alt text http://img714.imageshack.us/img714/6558/problemh.jpg
编辑==================
我实际运行的代码[我只是在这里使用库]是:
$mailConfig = array('host' => $current_dept->incoming_server,
'port'=>$current_dept->incoming_port, 'folder'=>$mbox_name,
'user' =>$current_dept->email,
'password' =>$current_dept->email_psd);
$mailConfig['ssl'] ='ssl';
try{
if($mail)
unset($mail);
$mail = new Zend_Mail_Storage_Imap($mailConfig);
}catch (Zend_Mail_Exception $e) {
var_dump($e);
exit;
}
fsockopen 位于 Zend_mail_protocol_Imap 类中,该类随后在 zend_mail_storage_imap 类的构造函数中被调用。
尽管被包含在 try catch 块中,但它甚至没有运行 try catch 块。
另外,提示下载的文件只是一个与正在执行的 php 文件同名的空文件。
编辑 ============================
我发现了问题——由于某种原因,一个异常被抛出并且它的嵌套非常深。但我不明白的是这种提示下载文件而不是输出任何形式的错误消息的行为。