2017-09-02 78 views
0

我写过用PHP发送邮件脚本。当我按下发送按钮脚本加载这么久。 Finnaly它不加载。当我删除的ReCaptcha检查,页面加载这么快,给我一个错误500 代码:为什么脚本加载速度太慢[PHP]

<?php 
session_start(); 
$curl = curl_init(); 
curl_setopt_array($curl, [ 
    CURLOPT_RETURNTRANSFER => 1, 
    CURLOPT_URL => 'https://www.google.com/recaptcha/api/siteverify', 
    CURLOPT_PORT => 1, 
    CURLOPT_POSTFIELDS => [ 
     'secret' => '_____SECRET!____', 
     'response' => $_POST['g-recaptcha-response'], 
    ], 
]); 
$response = curl_exec($curl); 
if(!$response->success){ 
    $_SESSION['success'] = false; 
    $_SESSION['message'] = 'Nie zaznaczono pola: "Nie jestem robotem".'; 
    $_SESSION['redirect'] = $_SERVER['HTTP_REFERER']; 
    header("result.php"); 
}else{ 
    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $content = $_POST['content']; 
    if(isset($name) && isset($email) && isset($content)){ 
     $content = n12br($content); 
     $to = "[email protected]"; 
     $from = $email; 
     $subject = 'Terapiaautyzmu.pl - Email'; 
     $message = '<b>Imie i nazwisko:</b> '.$name.' <br><b>Email:</b> '.$from.' <p>'.$content.'</p>'; 
     $headers = "From: $from\n"; 
     $headers .= "MIME-Version: 1.0\n"; 
     $headers .= "Content-type: text/html; charset=utf-8\n"; 
     $result = mail($to, $subject, $message, $headers); 
     if($result){ 
      $_SESSION['success'] = true; 
      $_SESSION['message'] = 'Wysłano emaila.'; 
      $_SESSION['redirect'] = $_SERVER['HTTP_REFERER']; 
      header("result.php"); 
     }else { 
      $_SESSION['success'] = false; 
      $_SESSION['message'] = 'Serwer odrzucił wysłanie emaila". Sprawdź czy wszystkie pola zostały wypełnione poprawnie.'; 
      $_SESSION['redirect'] = $_SERVER['HTTP_REFERER']; 
      header("result.php"); 
     } 
    } 
} 

>

+0

试着找出哪部分代码实际上很慢。你可以通过评论邮件部分或卷曲部分来做到这一点,并看看哪部分实际上占用了太多时间。 – Ivar

回答

0

您可能要发送邮件的background task through a queue

在某些情况下,您会从等待直接从电子邮件2.60秒到queue-exec-background 0.024秒,这是对x11的改进更快。