Rezolvați eroarea pe care php-ul solicită Timp maxim de execuție de 30 de secunde depășit

multInternet Marketingînvăţarea începătoareSite WordPress, pagina PHP este goală pentru o lungă perioadă de timp.

Apoi apare următorul mesaj de eroare:

Fatal error: Maximum execution time of 30 seconds exceeded in ......

Pur și simplu, înseamnă că timpul de execuție PHP depășește limita de 30 de secunde.

Chen WeiliangAceastă eroare a mai fost întâlnită și acest articol rezumă această metodă de gestionare a erorilor.

Cum se remediază eroarea?

Practic, există 3 moduri de a gestiona această eroare:

  1. Modificați fișierul de configurare php fișierul php.ini
  2. Folosind funcția ini_set().
  3. Folosind funcția set_time_limit().

1) Modificați fișierul de configurare php fișierul php.ini

Găsiți fișierul php.ini și găsiți-l în acest fișier:

max_execution_time = 30 ;

Pe această linie, setați numărul 30 la valoarea dorită (în secunde).

De asemenea, poate fi modificat direct în:

max_execution_time = 0; //无限制

Rețineți că este necesară o repornire după modificareLinuxServer.

2) Utilizați funcția ini_set().

Pentru cei care nu pot modifica php.ininoi mediaOamenii, pot folosi funcția ini_set() pentru a modifica limita maximă de timp de execuție.

Adăugați următorul cod în partea de sus a programului:

ini_set('max_execution_time','100');
  • Setarea de mai sus este de 100 de secunde, o puteți seta și la 0, ceea ce înseamnă că nu se limitează la timpul de execuție.

3) Utilizați funcția set_time_limit().

În partea de sus a programului adăugați:

set_time_limit(100);
  • Aceasta înseamnă că timpul maxim de execuție este setat la 100 de secunde.
  • Desigur, parametrul poate fi setat și la 0, ceea ce înseamnănelimitat∞.

descrierea funcției set_time_limit:

void set_time_limit ( int $seconds )

Ceea ce face această funcție este să seteze timpul (în secunde) în care script-ul poate rula.

  • Dacă această setare este depășită, scriptul va returna o eroare fatală.
  • Valoarea implicită este de 30 de secunde, dacă această valoare există, este valoarea definită în max_execution_time în php.ini.
  • Când această funcție este apelată, set_time_limit() va reporni contorul de timeout de la zero.

Cu alte cuvinte, dacă timpul de expirare este implicit de 30 de secunde și când scriptul rulează timp de 25 de secunde, apelațiset_time_limit(20), scriptul poate rula un total de 45 de secunde înainte de expirarea timpului.

Acest lucru nu funcționează când php rulează în modul sigur.

Modul sigur poate fi dezactivat:

  • înphp.iniSetați safe_mode la dezactivat în .
  • sau schimbarephp.inilimită de timp în .

set_time_limit Instanță

Dacă modul sigur nu este activat, programul de instalare va rula timp de 25 de secunde.

De exemplu:

<?php
if(!ini_get('safe_mode')){
set_time_limit(25);
}

发表 评论

Adresa ta de e-mail nu va fi publicată. Sunt utilizate câmpurile obligatorii * Eticheta

Derulaţi în sus