PHP: как справиться с задержкой ответа сервера
Я пишу программу и для целей тестирования у меня она хранится 000webhost.
Я должен загрузить CSV-файл, который имеет 3330 записей, и я проверю условие, а затем добавлю его на основе результата.
В большинстве случаев он выбрасывает 504 тайм-аута шлюза, есть ли способ обработать их и добавить запись в базу данных с того места, где он остановился. Код как ниже
PS: я не эксперт в PHP, я узнал все, что требуется для проекта
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$upda="UPDATE ib SET oldcash = cash";
$conn->query($upda);
$file=$_FILES["file"]["tmp_name"];
echo $file;
$handle = fopen($file, 'r');
if($handle){
while (($emapData = fgetcsv($handle, 10000, ",")) !== FALSE)
{
//echo "abu";
$sql= "select * from ib where atmid = '$emapData[0]'";
$result=$conn->query($sql);
$abu=$result->num_rows;
if($abu>0)
{
$sql=" UPDATE ib SET cash='$emapData[3]',fault='$emapData[4]' where atmid='$emapData[0]'";
$conn->query($sql);
}
else
{
$sql = "INSERT into ib(atmid,location,zone,cash,fault) values('$emapData[0]','$emapData[1] ','$emapData[2]' ,'$emapData[3]','$emapData[4]')";
$conn->query($sql);
}
}
}
fclose($handle);
$conn->close();
?>
1 ответ
Задавать timeout
предел в вашем .php
файл
ini_set('max_execution_time', seconds);
это увеличит предел тайм-аута, установленный секундами, которые вы определяете