Maximale Ausführungszeit in phpMyadmin


108

Wenn ich versuche, (einige) Abfragen in phpMyadmin auszuführen, wird dieser Fehler angezeigt

Schwerwiegender Fehler: Die maximale Ausführungszeit von 60 Sekunden wurde in Zeile 140 in C: \ xampp \ phpmyadmin \ library \ dbi \ mysql.dbi.lib.php überschritten

weil ich eine sehr große Tabelle habe (über 9 Millionen Datensätze)

Ich habe die Datei C: \ xampp \ php \ php.ini bearbeitet

und änderte den Wert der "maximalen Ausführungszeit" von 60 auf 1000, startet dann das PHP neu und hat immer noch den gleichen Fehler.

Irgendeine Lösung?


1
Sie müssen Ihren Server neu starten. Nach dem Ändern der Konfigurations- oder INI-Datei.
4302836

Antworten:


194

Ich habe den gleichen Fehler, bitte gehen Sie zu

xampp \ phpMyAdmin \ library \ config.default.php

Suche : $cfg['ExecTimeLimit'] = 600;

Sie können '600' auf einen höheren Wert wie '6000' ändern.

Die maximale Ausführungszeit in Sekunden beträgt (0 für unbegrenzte Anzahl).

Dies wird Ihren Fehler beheben.


1
Sie können die Code-Formatierung verwenden, um zu verdeutlichen, was Code ist und was nicht :)
Zeitraum

24
Es ist ziemlich klar (im Header der Datei), dass Sie diese Datei nicht bearbeiten sollten. Stattdessen sollten Sie config.inc.php bearbeiten und diese Zeile hinzufügen, wie in einer anderen Antwort angegeben
dsnunez

1
Überprüfen Sie meine Antwort unten. Das ist der
richtige

3
Das Hinzufügen zu dem config.inc.phphat den Job für mich nicht erledigt. Ändern der config.default.phpgeholfen und funktioniert.
Spurious

Für wamp path is wamp64\apps\phpmyadmin4.6.4\libraries\config.default.phpOR können Sie den Pfad Ihres phpmyadmin-Verzeichnisses finden, indem Sie auf phpmyadmin klicken wamp tray icon > Apache > Alias Directoriesund es bearbeiten. Auch wie von dsnunez erwähnt, ist es besser zu bearbeiten config.inc.php--edit-- Bearbeitung config.inc.phphat bei mir nicht funktioniert
AbsarAkram

107

Für die Xampp-Version unter Windows

Fügen Sie diese Zeile zu xampp \ phpmyadmin \ config.inc.php hinzu

$cfg['ExecTimeLimit'] = 6000;

Und ändern Sie xampp \ php \ php.ini in

post_max_size = 750M 
upload_max_filesize = 750M   
max_execution_time = 5000
max_input_time = 5000
memory_limit = 1000M

Und ändern Sie xampp \ mysql \ bin \ my.ini

max_allowed_packet = 200M

1
Ich hatte genau die gleichen Probleme, außer mit einem viel kleineren Datensatz (~ 120.000 Zeilen) - Ihre Antwort hat die Dinge definitiv viel besser gemacht :).
Rob

Ich habe das Skript-Timeout für xampp für Windows sofort erhalten, als ich auf Durchsuchen einer Tabelle ~ 130mb
Matthew Lock

Scheint $cfg['ExecTimeLimit'] = 6000;leider keine Auswirkung auf meine Installation zu haben. Ich würde es lieber lokal einstellen als in php.ini, was für den gesamten Server gilt, aber vielleicht ist das die einzige Option.
Simon East

1
Ich
bin

13

Ich hatte das gleiche Problem beim Ausführen einer Locke. Ich habe es richtig gemacht, als ich Folgendes in der php.iniDatei geändert habe :

max_execution_time = 1000 ;

und auch

max_input_time = 1000 ;

Wahrscheinlich sollte Ihr Problem gelöst werden, indem Sie die beiden oben genannten Änderungen vornehmen und den Apache-Server neu starten.

Selbst nachdem Sie das oben Gesagte geändert haben, bleibt das Problem bestehen. Wenn Sie der Meinung sind, dass dies auf eine Datenbankoperation mit MySQL zurückzuführen ist, können Sie auch versuchen, dies zu ändern:

mysql.connect_timeout = 1000 ; // this is not neccessary

All dies sollte in der Datei php.ini geändert und der Apache-Server neu gestartet werden, um die Änderungen zu sehen.


7

Ihre Änderung sollte funktionieren. Es gibt jedoch möglicherweise nur wenige php.ini-Konfigurationsdateien mit dem 'xampp'-Stack. Versuchen Sie herauszufinden, ob es eine "Apache" -spezifische php.ini gibt oder nicht. Ein möglicher Standort ist:

C: \ xampp \ apache \ bin \ php.ini


1
auf meinem xampp diese Datei in C:\xampp\php\php.iniund gehe zu Zeilennummer 442 (ungefähr - irgendwann wird diese Zeilennummer nach der manuellen Bearbeitung geändert), max_execution_time = 1000 aber das funktioniert bei mir nicht. Dann werde ich dies auf C: \ xampp \ phpMyAdmin \ config.inc.php$cfg['Servers'][$i]['bs_temp_blob_timeout'] = 1200;
Elshan

5

Das Ändern php.inifür eine Webanwendung erfordert einen Neustart von Apache.

Sie sollten überprüfen, ob die Änderung stattgefunden hat, indem Sie ein PHP-Skript ausführen, das die Funktion ausführt phpinfo(). Die Ausgabe dieser Funktion zeigt Ihnen viele PHP-Parameter an, einschließlich des Timeout-Werts.

Möglicherweise haben Sie auch eine Kopie geändert php.ini, die nicht dieselbe Datei ist, die von Apache verwendet wird.


5

ini_set('max_execution_time', 0);oder erstellen Sie den Dateinamen mit dem Namen php.iniund geben Sie die erste Zeile ein, max_execution_time=0speichern Sie sie und legen Sie die Datei in Ihrem Stammordner Ihrer Anwendung ab.

Das ist es. Viel Glück.


3
Es gibt eine set_time_limit()Funktion. Keine Notwendigkeit (ab) zu verwenden ini_set().
ThiefMaster

3

Gut für Wamp User,

Gehe zu: wamp\apps\phpmyadmin3.3.9\libraries

Unter Zeile 536 locate $cfg['ExecTimeLimit'] = 0;

und ändern Sie den Wert von 0 auf 6000. z

$cfg['ExecTimeLimit'] = 0;

Zu

$cfg['ExecTimeLimit'] = 6000;

Starten Sie Wamp Server und Puh neu.

Es funktioniert wie Magie!


Dies ist eigentlich falsch, sollte umgekehrt sein 0bedeutet keine Ausführungszeitbegrenzung
user919426

2

In der php.ini müssen Sie entweder mysql.connect_timeout überprüfen. Dies ist für das Schließen der Steckdose und die Rückgabe des Fatal verantwortlich. Ändern Sie es beispielsweise in:

mysql.connect_timeout = 3600

Diese Zeit wird immer in Sekunden gezählt, in meinem Beispiel haben Sie also 1 Stunde.


2

Was bei WAMP für mich funktioniert hat, war das Ändern der Datei: \ Wamp64 \ alias \ phpmyadmin.conf, Zeilen:

 php_admin_value max_execution_time 600
 php_admin_value max_input_time 600

Ich musste die Bibliotheksdatei nicht ändern.


1

Wahrscheinlich verwenden Sie XMAPP als Dienst. Um XMAPP ordnungsgemäß neu zu starten, müssen Sie das XMAPP-Kontrollfeld öffnen und beide "Svc" -Module gegen Apache und MySQL deaktivieren. Klicken Sie dann auf Beenden, starten Sie XMAPP neu und Sie sind fertig.



1

'ZERO' für unbegrenzte Zeit.

C: \ Apache24 \ htdocs \ phpmyadmin \ library \ Config.class.php

/**
 * maximum execution time in seconds (0 for no limit)
 *
 * @global integer $cfg['ExecTimeLimit']
 */
$cfg['ExecTimeLimit'] = 0;

Sie können die große Datei auch direkt aus MySQL als Abfrage oder PHP-Abfrage importieren.

Für 500.000 Zeilen habe ich mit dieser Methode nur 18 Sekunden gebraucht, um sie auf einen lokalen Server zu importieren.

(erst Tabelle erstellen) - dann:

LOAD DATA LOCAL INFILE 'Path_To_Your_File.csv' 
INTO TABLE Your_Table_Name 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n' 
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.