这是我在PHP IMAP先性实验。
我想提出一个面板为我公司,我在那里上传clientes,用姓名和电子邮件,并asignit给用户,
所以当用户进入面板有一个客户那里,面板检查用户的电子邮件帐户和搜索来自客户端的电子邮件邮件,
我的问题是,我第一次加载它变得非常慢的面板,它需要5秒到15秒加载(或以上有时),但第一次加载后,它的速度很快,但如果我走了,让我们说10分钟并重新加载它变得缓慢再次首次面板。
这是我的代码; 在面板中的每个用户我调用这个函数:
function mostrarCorreosRelacionados($remitente){
$hostname = '{localhost:143}INBOX';
$correo = explode("|||",$_SESSION['correo']);
$username = $correo[0];
$password = $correo[1];
/* Intento de conexión */
$inbox = imap_open($hostname,$username,$password) or die('No se pudo conectar con: usuario: '.$username.' y clave: '.$password.' ' . imap_last_error());
/* Recuperamos los emails */
$emails = imap_search($inbox,'FROM "'.$remitente.'"');
/* Si obtenemos los emails, accedemos uno a uno... */
if($emails) {
/* variable de salida */
$output = '';
/* Colocamos los nuevos emails arriba */
rsort($emails);
/* por cada email... */
$ii=0;
foreach($emails as $email_number) {
/* Obtenemos la información específica para este email */
$overview = imap_fetch_overview($inbox,$email_number,0);
//$body = imap_fetchbody($inbox,$email_number,4);
$uid = imap_uid($inbox, $email_number);
$header = imap_header($inbox,$email_number);
$fromInfo = $header->from[0];
$replyInfo = $header->reply_to[0];
$details = array(
"fromAddr" => (isset($fromInfo->mailbox) && isset($fromInfo->host))
? $fromInfo->mailbox . "@" . $fromInfo->host : "",
"fromName" => (isset($fromInfo->personal))
? $fromInfo->personal : "",
"replyAddr" => (isset($replyInfo->mailbox) && isset($replyInfo->host))
? $replyInfo->mailbox . "@" . $replyInfo->host : "",
"replyName" => (isset($replyTo->personal))
? $replyto->personal : "",
"subject" => (isset($header->subject))
? $header->subject : "",
"udate" => (isset($header->udate))
? $header->udate : ""
);
//$message = mail_mime_to_array($inbox,$email_number);
/* Mostramos la información de la cabecera del email */
$output.= '<li>';
$output.= '<div class="encabezadoMail '.($overview[0]->seen ? 'read' : 'unread').'">';
$output.= '<span class="subject">Asunto: '.decodificarTexto($details["subject"]).'</span><br />';
$output.= '<a href="mailto:'.$fromInfo->mailbox.'@'.$fromInfo->host.'" class="from" title="'.$fromInfo->mailbox.'@'.$fromInfo->host.'">'.decodificarTexto($fromInfo->personal).'</a><br />';
$output.= '<span class="textoChico">'.$overview[0]->date.'</span>';
$output.= '</div>';
/* Mostramos el mensaje del email */
$output.= '<div class="cuerpoMail" id="msg_'.$i.'" style="display:none;">'.utf8_encode(getBody($uid,$inbox)).'</div>';
$output.= '</li>';
$ii++;
}
print '<ul class="emails"><li class="encabezadoMail"><strong>E-mails</strong></li>'.$output.'</ul>';
}
/* Cerramos la connexión */
imap_close($inbox);
}
在imap_open我曾尝试本地主机,域名和IP,但一切似乎工作相同。
有任何想法吗???
更新到MONKEYZEUS
我做了什么,你告诉我,这里是我得到了什么:
FIST CLIENT
连接:0.0309870243073秒恢复:26.7151398659秒
第二个客户端
连接:0.102792978287秒恢复:0.0511429309845秒
第三客户端
连接:0.00676202774048秒恢复:0.0503911972046秒
它只是发生在第一时间,如果我按F5在很长一段时间我的第一个客户端上有不happends,它加载速度快如别人,如果我等待10分钟,它在第一个客户端再次变得缓慢