Доброго времени суток.
Есть задача по обработке писем с почты; я использую свой класс-обвязку Imap:
$imap = new Imap([
'server' => 'imap.yandex.ru',
'port' => '993',
'flags' => [
'ssl' => true,
],
'login' => $login,
'password' => $password,
'debug' => true, // дебаг внутри класса
], true);
$mails = $imap->searchUnseen();
foreach($mails as $mailNumber){
$header = $imap->header($mailNumber);
$structure = $imap->fetchstructure($mailNumber);
...
break; // смотрим только одно письмо
}
Внутри класса никаких тяжелых обсчетов не производится. Пример функции Imap->searchUnseen():
public function search($criteria = 'ALL', $options = SE_FREE, $charset = null){
if($this->debug) $this->updateDebugTime(); // сохраняем текущее время
$ret = imap_search($this->conn, $criteria, $options, $charset);
if($this->debug) $this->addDebug('search', compact('criteria', 'options', 'charset')); // сравниваем время с сохраненным и пишем в дебаг
return $ret;
}
public function searchUnseen($options = SE_FREE, $charset = null){
return $this->search('UNSEEN', $options, $charset);
}
Все работает, но на выходе получаю такую таблицу дебага, при том, что в ящике не более 500 писем:
Устанавливал так:
sudo apt-get install php5-imap
sudo php5enmod imap
sudo service apache2 restart
Версия php:
PHP 5.6.4-4ubuntu6.4 (cli) (built: Oct 28 2015 01:21:29)
Собственно, вопрос: как это ускорить?
Ну или как настроить логирование и продебажить соединение, потому что лог не пишется в /var/log/maillog?
Заранее спасибо.