0
Я написал небольшой код для проверки скорости моего сервера. Для завершения выполнения требуется около 60 секунд.Функция php mail() занимает слишком много времени для выполнения на сервере centos6
<?php
$start=time();
$to = "[email protected]";
$subject = "This is subject";
$message = "<b>This is HTML message.</b>";
$message .= "<h1>This is headline.</h1>";
$header = "From:[email protected] \r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-type: text/html\r\n";
$retval = mail ($to,$subject,$message,$header);
if($retval == true) {
echo "Message sent successfully...";
}else {
echo "Message could not be sent...";
}
$after=time();
$total=$after-$start;
echo "</br>";
echo "Total execution time : ".$total." seconds";
?>
Что может быть причиной? и как я могу улучшить время выполнения? Я уже увеличил ограничение памяти в файле php.ini.
И это полностью выполнено? Получаете ли вы письмо? Не могли бы вы проверить свои журналы, возможно, блокирующий брандмауэр, ошибка с DNS или полезное сообщение в журнале apache. – Dom
@Dom: Это была проблема с службой sendmail на сервере. Я установил postfix и теперь его способ намного быстрее. Это было 60 секунд с sendmail. Теперь это занимает всего 1 секунду. –
Лучший способ выяснить, почему сценарий занимает много времени, - это использовать профилирование или ведение журнала в скрипте. Это вопрос программирования, а не вопрос электронной почты или Linux. –