Ciągle otrzymuję ten błąd PHP:
Błąd krytyczny: przekroczono maksymalny czas wykonywania 300 sekund
Próbowałem ustawienie moje max_execution_time
i moich max_input_time
ustawień w pliku php.ini (zarówno Apache i CLI) do 0
, -1
i 4000
sekund.
I nadal pojawia się błąd mówiący:
Błąd krytyczny: przekroczono maksymalny czas wykonywania 300 sekund
Mój skrypt działa ponad 300 sekund, zanim otrzymam tę wiadomość
Uruchamiam skrypt za pomocą wiersza poleceń.
Sprawdziłem też mój, phpinfo()
więc zobacz, którego php.ini
używam.
Co ciekawsze, próbowałem ustawić max_execution_time
i ustawić max_input_time
na 5 sekund, a mój skrypt będzie działał znacznie dłużej niż 5 sekund, zanim otrzymam:
Błąd krytyczny: przekroczono maksymalny czas wykonywania 300 sekund
Odpowiedzi:
Na początku swojego skryptu możesz dodać.
ini_set('MAX_EXECUTION_TIME', '-1');
źródło
set_time_limit(0);
= to samo.Jeśli używasz WAMP, przejdź do:
Zwiększ
max_execution_time
in,php.ini
a następnie przejdź doC:\wamp\apps\phpmyadmin3.4.10.1\libraries
(zmień ścieżkę zgodnie z instalacją)otwórz
config.default.php
i zmień wartość na$cfg['ExecTimeLimit']
0:$cfg['ExecTimeLimit'] = 0;
To rozwiąże problem z importem PhpMyAdmin.
źródło
config.default.php
bardzo wyraźnie mówi, że nie edytuje się go, mówiąc nam, abyśmyconfig.inc.php
zamiast tego edytować . Próbowałem go znaleźć i nie mogłem, więc zrobiłem własny i dodałem<?php $cfg['ExecTimeLimit'] = 3000; ?>
. To nic nie dało. Postanowiłem spróbować to zrobićconfig.default.php
i zadziałało !! Jak mamy to zrobićconfig.inc.php
?!?Użytkownicy Xampp
xampp\phpMyAdmin\
$cfg['ExecTimeLimit'] = 300;
$cfg['ExecTimeLimit'] = 0;
(lub większą wartość)źródło
Spotkałem się z podobną sytuacją i okazuje się, że Codeigniter (framework PHP, z którego korzystałem) w rzeczywistości wyznacza własny limit czasu:
W system / core / Codeigniter.php, wiersz 106 w wersji 2.1.3 pojawia się:
if (function_exists("set_time_limit") == TRUE AND @ini_get("safe_mode") == 0) { @set_time_limit(300); }
Ponieważ nie było innego sposobu, aby uniknąć zmiany pliku core, usunąłem go, aby umożliwić konfigurację przez php.ini, a także dać nieskończony maksymalny czas wykonania żądania CLI.
Zalecam jednak nagranie tej zmiany gdzieś w przypadku przyszłych aktualizacji wersji CI.
źródło
set_time_limit(0);
w tej funkcji. Nie musisz zmieniać rdzenia: ta instrukcja zresetuje limit czasu, więc nie musisz martwić się o inne linie w rdzeniu lub w innych pakietach podczas uruchamiania tej konkretnej funkcji.Spróbuj wykonać w swoim skrypcie coś takiego:
set_time_limit(1200);
źródło
set_time_limit(0);
sprawia, że twój skrypt działa wiecznie.set_time_limit(0);
pozwala twojemu skryptowi działać wiecznie.Oto prawidłowa odpowiedź:
iść do
c:\wamp\apps\phpmyadmin3.4.10.1\libraries\config.default.php
znajdź i ustaw
$cfg['ExecTimeLimit'] = 0;
uruchom ponownie wszystkie usługi i gotowe.
źródło
przejdź do xampp / phpmyadmin / libraries / config.default.php
i wprowadź następujące zmiany
from $cfg['ExecTimeLimit'] = ’300′; to $cfg['ExecTimeLimit'] = ’0′;
źródło
Dla użytkowników Xampp
1. Go to C:\xampp\phpMyAdmin\libraries 2. Open config.default.php 3. Search for $cfg['ExecTimeLimit'] = 300; 4. Change to the Value 300 to 0 or set a larger value 5. Save the file and restart the server 6. OR Set the ini_set('MAX_EXECUTION_TIME', '-1'); at the beginning of your script you can add.
źródło
Domyślny czas wykonania CLI PHP jest nieskończony.
http://gr.php.net/manual/en/info.configuration.php#ini.max-execution-time
Sprawdź, czy uruchamiasz PHP w trybie awaryjnym, ponieważ ignoruje on przez cały czas ustawienia exec.
źródło
Dla lokalnego AppServ
Idź do C: \ AppServ \ www \ phpMyAdmin \ libraries \ config.default.php
Znajdź
$cfg['ExecTimeLimit']
i ustaw wartość na 0.Więc to będzie wyglądało
$cfg['ExecTimeLimit'] = 0;
źródło
Jeśli korzystasz z xampp i używasz phpMyadmin do importowania dużych plików sql i zwiększyłeś maksymalny czas wykonania, maksymalny limit wysyłania plików i wszystko, co potrzebne, a jeśli żadna z powyższych odpowiedzi nie działa
Przejdź do folderu xampp, w moim przypadku tutaj jest względna ścieżka do pliku, który muszę zmodyfikować: C: \ xampp \ phpMyAdmin \ libraries \ config.default.php
/** * maximum execution time in seconds (0 for no limit) * * @global integer $cfg['ExecTimeLimit'] * by defautlt 300 is the value * change it to 0 for unlimited * time is seconds * Line 709 for me */ $cfg['ExecTimeLimit'] = 0;
źródło
UŻYTKOWNICY WAMP:
1) Przejdź do C: \ wamp \ apps \ phpmyadmin
2) Otwórz config.inc
3) Dodaj $ cfg ['ExecTimeLimit'] = '3600 ′; do pliku.
4) Zapisz plik i zrestartuj serwer.
Ten plik nadpisuje php.ini i będzie działał dla Ciebie!
źródło
W moim przypadku, kiedy napotkałem ten błąd w Phpmyadmin, wypróbowałem MySQL-Front i pomyślnie zaimportowałem moją bazę danych .
Uwaga: nadal możesz użyć rozwiązań podanych w tym pytaniu, aby rozwiązać problem w programie Phpmyadmin.
źródło
Jeśli powyższe odpowiedzi nie zadziałają, spróbuj sprawdzić swój kod `` Z mojego doświadczenia, posiadanie nieskończonej pętli również spowoduje ten problem. Sprawdź inne oświadczenie if.
źródło
W wersji Codeignitor 3.0.x system / core / Codeigniter.php nie zawiera ograniczenia czasowego, a także wstawiania
ini_set('MAX_EXECUTION_TIME', -1);
nie zadziała, ponieważ Codeignitor zastąpi to swoją własną funkcją set_time_limit (). Więc albo musisz usunąć tę funkcję z Codeignitor, albo po prostu możesz ją wstawić
set_time_limit('1000');
na początku pliku php, jeśli chcesz zmienić to na 1000 sekund. Ustaw czas na 0 (zero), jeśli chcesz go uruchamiać tak długo, jak chcesz.
źródło
Na Xampp, w php.ini musisz też sprawdzić mysql.connect_timeout. Na przykład zmień to na:
mysql.connect_timeout = 3600
Ten czas będzie zawsze liczony w sekundach (czyli 1 godzina w moim przykładzie)
źródło
Edycja pliku php.ini MAMP USERS rozwiązuje ten problem - jest linia:
max_execution_time = 30; Maksymalny czas wykonania każdego skryptu w sekundach
ustawienie tego na wyższą wartość zadziałało.
plik znajduje się w php / php5.6.25 / conf / php.ini (oczywiście musisz zmoczyć plik dla używanej wersji php - możesz to sprawdzić w preferencjach MAMP.
źródło
Możesz ustawić limit czasu:
ini_set('max_execution_time', 1000000000000000);
źródło