2016-06-22 18 views
0

Ich habe einen kleinen Code geschrieben, um die Geschwindigkeit meines Servers zu überprüfen. Es dauert fast 60 Sekunden, um die Ausführung zu beenden.php mail() Funktion dauert zu viel Zeit auf CentOS6 Server

<?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"; 
?> 

Was vielleicht der Grund? und wie kann ich die Ausführungszeit verbessern? Ich habe bereits das Speicherlimit in der Datei php.ini erhöht.

+0

Und ist es vollständig ausgeführt? Erhalten Sie die E-Mail? Könnten Sie Ihre Protokolle überprüfen, gibt es möglicherweise eine blockierende Firewall, einen Fehler mit dem DNS oder eine verwendbare Nachricht in Apache log – Dom

+0

@Dom: Es war ein Problem mit dem sendmail-Dienst auf dem Server. Ich habe Postfix installiert und jetzt ist es viel schneller. Es war 60 Sekunden mit sendmail..Now es dauert nur 1 Sekunde .. –

+0

Der beste Weg, um herauszufinden, warum ein Skript eine lange Zeit dauert, ist Profiling oder Einloggen in das Skript. Es ist eine Programmierfrage, keine E-Mail- oder Linux-Frage. –

Antwort

0

Es war ein Problem mit sendmail Mailserver. Die Installation von Postfix Mailserver hat das Problem gelöst.