我正在使用SMTPValidationTool检查电子邮件。数据库中有大约2500行电子邮件。 PHP脚本使用fetch_assoc()循环遍历该电子邮件,并发现错误的电子邮件。但这是一个问题。当我有一个包含10封电子邮件的小型数据库时,一切都很完美。但是当我上传大约2500封甚至1000封电子邮件时,大约1分15秒或更长时间后,PHP脚本会抛出内部服务器错误500.所有PHP脚本都有set_time_limit(200),max_execution_time是300.没有任何帮助。我认为有些东西是节省行(缓冲)。我使用了MYSQLI_USE_RESULT参数。但这没有用。请帮帮我! :c我不知道为什么会发生这种情况...... 这是我的PHP脚本:
<?php
set_time_limit(200);
chdir('..');
require 'config/config.php';
require 'vendor/autoload.php';
use SMTPValidateEmail\Validator as SmtpEmailValidator;
$validator = new SmtpEmailValidator();
$db = new mysqli($db['host'], $db['user'], $db['pass'], $db['db']);
if ($db->connect_error) {
die("Unable to connect database: " . $db->connect_error);
}
$query = $db->query("SELECT email FROM import", MYSQLI_USE_RESULT);
$wrong_count = 0;
while($row = $query->fetch_assoc()){
$result = $validator->validate($row);
if (!$result[$row['email']]) {
$wrong_count+=1;
$db->query("DELETE FROM import WHERE email='".$row['email']."'");
}
}