Das Problem
ich Laravel 5.3
bin mit verursacht eine riesige zu importieren (etwa >1 million rows
und >25 columns
) Tabulatoren getrennte Datei in mysql
Datenbankfunktionen in Controller-Code verwenden (Ich beschränke mich darauf, den ganzen Code hier zu posten). Während die Verarbeitung von Dateien ich mit dem folgenden Fehler aufgetreten bin:Laravel 5.3: Was maximale Ausführungszeit von 30 Sekunden überschritten '
FatalErrorException in Connection.php line 720:
Maximum execution time of 30 seconds exceeded
Bitte beachten Sie, dass die Anwendung, bevor ein Fehler eine unterschiedliche Anzahl von Zeilen für verschiedene Instanzen importiert.
Frage
ich, dass wir wissen, kann dieses Problem beheben entweder von folgenden mit:
- Ändern
php.ini
here vorgeschlagen - Zugabe
ini_set('max_execution_time', 300);
zu Beginn despublic/index
als here vorgeschlagen
A eine Vielzahl von Gründen könnte dahinter stehen a Und ich bin mehr interessiert zu wissen, wo genau es aus der Zeit läuft. Laravel
bietet keine weiteren Details als die oben genannten. Ich würde es sehr schätzen, wenn jemand Möglichkeiten bieten könnte, dies zu debuggen. Dinge, die helfen würden:
- Ist die Zeit Aggregat aller Anfragen von einer Methode?
- Führt Speicherüberlastung dazu?
- Wird es helfen, die Daten zu chunken und sie durch mehrere Anfragen zu behandeln?
Umwelt
Laravel 5.3
Centos 7
aufvagrant
MySQL
'Ist das Zeitaggregat aller Anfragen durch eine Methode?' Es ist eine Anfrage, ich würde vorschlagen, einige Warteschlangenlösung für lang laufende Berechnungen wie alles AMQP-basierte. –