
“Maximum execution time of 30 seconds exceeded” betyder, at et PHP-script kørte længere, end serveren tillader, og blev stoppet. Det sker typisk under opdateringer, import, backup eller billedbehandling.
Grænsen findes for at beskytte serveren mod scripts, der aldrig bliver færdige. At hæve den er nogle gange rigtigt — men lige så ofte er det opgaven, der skal deles op.
Hæv den, hvis opgaven er engangs og reelt tager tid: en stor import, en migrering, en genberegning af billedstørrelser. Sæt den i kontrolpanelet under PHP-indstillinger:
max_execution_time = 300
Sæt den tilbage bagefter. En permanent høj grænse betyder blot, at en fejlende proces får lov at holde en PHP-process besat i fem minutter.
Sker det ved helt almindelig brug — en produktoversigt, en søgning, en sidevisning — er tiden symptomet, ikke problemet. Så skal du finde ud af hvad der er langsomt, ikke give det længere snor.
Start med optimering af databasen og se på, om der ligger ophobede planlagte opgaver.
WP-cron kører planlagte opgaver, når nogen besøger siden. Er der ophobet mange, kan én besøgende komme til at udføre dem alle på én gang — og ryge over grænsen.
define( 'DISABLE_WP_CRON', true );
Læg linjen i wp-config.php og opret i stedet et rigtigt cron-job i kontrolpanelet, der kalder wp-cron.php hvert femte minut.
Bliver siden hængende i vedligeholdelsestilstand, fordi opdateringen blev afbrudt, slettes filen .maintenance i roden. Kør derefter opdateringen igen — helst i et testmiljø først.
Fordi en normal sidevisning tager under et sekund. 30 sekunder er allerede rundhåndet — det er beregnet til baggrundsopgaver, ikke til besøgende.
Ofte ikke. Mange servere ignorerer det, fordi grænsen er låst. Brug kontrolpanelet.