2016-06-22 15 views
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 파일에서 메모리 제한을 늘 렸습니다.

+0

그리고 완전히 실행 되었습니까? 이메일을 받았습니까? 로그를 확인할 수 있습니까? 차단 방화벽, DNS 오류 또는 아파치 로그의 사용 가능한 메시지가 있습니다. – Dom

+0

@Dom : 서버의 sendmail 서비스에 문제가 있습니다. 나는 postfix를 설치했고 현재는 훨씬 더 빠릅니다. 그것은 sendmail에서 60 초입니다. 이제 1 초가 걸립니다. –

+0

스크립트가 왜 오랜 시간이 걸리는지 알아내는 가장 좋은 방법은 프로파일 링을 사용하거나 스크립트에 로깅하는 것입니다. 이것은 프로그래밍 문제로서 이메일이나 리눅스 질문이 아닙니다. –

답변

0

sendmail 메일 서버에 문제가있었습니다. postfix 메일 서버를 설치하면이 문제가 해결됩니다.