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);

это увеличит предел тайм-аута, установленный секундами, которые вы определяете

Другие вопросы по тегам