Как обойти максимальное время выполнения в php?

Я знаю, что это ужасная идея, но как я могу обойти эту максимальную ошибку выполнения. Я не хочу настраивать какой-либо .ini, который я читал в некоторых решениях.

У меня есть этот код для загрузки csv в базу данных sql, но из-за этого я выдает ошибку при загрузке больших файлов. Пожалуйста, помогите мне пересмотреть мой код, ребята

<?php
if(isset($_POST['submit'])) {
    $host = 'localhost';
    $user = 'root';
    $password = '';
    $db = 'jeremy_db';

    $con = mysqli_connect($host,$user,$password) or die('Could not' .mysqli_error($con));

    mysqli_select_db($con, $db) or die ('Could not' .mysqli_error($con));

    $file = $_FILES['file']['tmp_name'];
    $handle = fopen($file, "r");
    $c = 0;

    while(($csvdata = fgetcsv($handle,10000,","))!== FALSE){
        $sha1 = $csvdata[0];
        $vsdt = $csvdata[1];
        $trendx  = $csvdata[2];

        $sql = "INSERT INTO jeremy_table_trend (sha1,vsdt,trendx) VALUES ('$sha1','$vsdt','$trendx')";
        $query = mysqli_query($con , $sql);

        $c = $c+1;
    }
    if($query){
        echo "success"; 
    }
    else { 
        echo "error";
    }
}
?>

ты не можешь. Вот почему вам нужно изменить файл конфигурации.

Rotimi 31.10.2018 12:19

Невозможно обойти, потому что это в основном настройка php. Так что вам все равно придется перенастроить файл php.ini.

Web Artisan 31.10.2018 12:19

«Я не хочу редактировать ini». Удачи!

Wimanicesir 31.10.2018 12:19

«Я не хочу редактировать ini». Удачи! - упс не настраивал .ini, но работает :)

user8892462 31.10.2018 12:26
0
4
132
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

попробуй это

добавьте эту строку в свой код

ini_set('max_execution_time', 300); //300 seconds = 5 minutes //whatever you want

Взято из Как увеличить максимальное время выполнения в php

OP против изменения настроек конфигурации. ;)

Rotimi 31.10.2018 12:24

если это полезно для вас, чем примите ответ, так что другие используют его

Bhargav Chudasama 31.10.2018 12:25

@ Akintunde-Rotimi То, что делает ini_set('varName', 'varValue'), по существу переопределяет конфигурацию INI на время выполнения сценария PHP. См. Документацию PHP для получения дополнительной информации. php.net/manual/en/function.ini-set.php

Will 31.10.2018 12:27

@ Вам нужно внимательно прочитать вопрос. ОП определенно запуталась. OP сформулировал вопрос как поиск способов увеличить время выполнения без изменения настроек. Этот ответ явно меняет настройки просто по-другому

Rotimi 31.10.2018 12:29

Но он не сообщает мне об успехе, когда загрузка завершена.

user8892462 31.10.2018 12:30

@ Akintunde-Rotimi `увеличивает время выполнения без изменения настроек .` в .ini file, а не в php script

Bhargav Chudasama 31.10.2018 12:30

Выполнение операторов вставки в цикле стоит дорого. Вы можете попробовать сбросить CSV-файл прямо в MySQL, это займет относительно меньшее время выполнения.

Обратитесь к этому вопросу

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