我的 CRM 中有一个邮箱选项,在邮箱中一切正常,PHP IMAP 函数获取数据需要很长时间,最初每个请求需要 57 秒,我已经记录了每个 IMAP 函数的加载时间日志,有 imap_open() 函数需要 16 秒,之后我只为每个控制器使用一个 imap_open() 函数,如果我使用另一个控制器我需要再次使用 imap_open() 函数,那么它将需要相同的时间,所以我决定了取一个 imap_open() 函数的返回值来存储一个会话值,并在每个 imap 函数中传递返回流参数而不是 imap_open() 函数返回流,它不能正常工作,因为 imap_open() 函数返回值是 'Resource id #61' 如果我将此值传递给 imap 流参数,它将无法检索我的 imap 函数
现在,我需要帮助如何获得 imap_open() 函数的确切流值
<?php
$start_time = date('H:i:s');
$data['per_page'] = 50; //$this->config->item("per_page");
$data['start'] = 1;
$data['default_email'] = $this->input->post('email_id');
$email_details = $this->Mailbox_model->email_by_id($data['default_email']);
$imap_host = $email_details->smtp_host.':993'; // IMAP host address
$imap_flags = "/imap/ssl/novalidate-cert"; // IMAP Flags
$imap_user = $email_details->email_ID; // IMAP username
$imap_pass = decryptthis($email_details->password, 'Rajexim2020'); // IMAP password
$ima_time_1s = date('H:i:s');
$imap_open_start = date('H:i:s');
if ($email_details->imap_stream == '') {
$inbox = @imap_open("{".$imap_host.$imap_flags."}INBOX", $imap_user, $imap_pass)or die('Cannot connect to Gmail: ' . imap_last_error());
$update_stream_to_db = $this->Mailbox_model->update_stream_to_db($email_details->email_detail_id,$inbox);
}
else {
$inbox = $email_details->imap_stream;
}
$imap_open_end = date('H:i:s');
$data['tot_mail_list_count'] = imap_all_inbox_mail_count($inbox);
?>