Maximum execution time na een PHP-update
Maximum execution time exceeded betekent dat de uitvoering tegen een PHP-tijdslimiet aanloopt.
Welke PHP-versie meldt jouw site?
Passieve check van headers, versie en de kop van de homepage. Geen login, geen scan.
Meer uitleg
Noteer welke taak bezig was toen dit na je PHP-update gebeurde.
Een productimport, een rapport en een gewone pagina vragen elk een andere controle.
Start een schrijvende taak niet direct opnieuw: laat eerst vaststellen welke gegevens al zijn verwerkt en hoe een herhaling daarmee omgaat.
Voor je begint
Bewaar de volledige foutregel met tijdstip in een privénotitie. Noteer welke handeling misging, welke PHP-versieEen PHP-versie is het nummer van de uitgave van PHP waarop jouw website draait, zoals 8.3. nu draait en welke onderdelen tegelijk zijn bijgewerkt. Deel alleen gegevens die nodig zijn voor onderzoek.
Een openbaar forum is geen geschikte plek voor klantgegevens, toegangscodes of volledige serverpaden.
Maak een back-upEen back-up is een kopie van je hele website, apart bewaard, zodat je hem kunt terugzetten als er iets misgaat. van bestanden en database voordat je wijzigingen laat uitvoeren. Controleer of die back-up bruikbaar is. Gebruik een afgeschermde testkopie met dezelfde PHP-versie en relevante instellingen.
Schakel daar echte betalingen en uitgaande klantmails uit. Spreek af wie de wijziging uitvoert en wie het resultaat controleert. Deze stappen zijn een onderzoeksadvies, geen diagnose van jouw website.
Welke klok heeft de taak gestopt? PHPPHP is de programmeertaal waarmee veel websites, zoals WordPress-sites, hun pagina's maken op het moment dat een bezoeker erom vraagt. documenteert max_execution_timemax_execution_time is de PHP-instelling die de toegestane uitvoeringstijd van een script begrenst. als uitvoeringslimiet in seconden. De precieze tijdmeting hangt af van platform en build.
Ook de webserverEen webserver is het programma op een server dat verzoeken van bezoekers aanneemt en pagina's en bestanden terugstuurt. kan eigen time-outs hebben. Daarom is een melding in het PHP-log nodig om een PHP-uitvoeringslimiet te onderscheiden van een andere afgebroken verbinding. Alleen lang wachten in de browser bewijst die oorzaak niet.
Laat de host bevestigen welke grens voor de getroffen uitvoering geldt. Vergelijk een browseraanvraag niet zonder controle met een terminaltaak. Leg vast waar de meting plaatsvindt en welke handeling je meet.
Zo kunnen host en ontwikkelaar dezelfde gebeurtenis onderzoeken in plaats van elk een andere klok of taak te bespreken.
Oplossen in vijf stappen
- Bewaar de exacte foutregel en het tijdstip. Noteer de taak, de invoeromvang en het laatste zichtbare resultaat. Vraag bij een import of synchronisatie welke records al zijn geschreven. Zet een automatische herhaling alleen onder beheer stil als die anders dezelfde onvoltooide taak blijft starten.
- Laat de actieve tijdslimiet en relevante serverlogs controleren. Vraag of PHP zelf de fout meldt of dat een ander onderdeel de verbinding beëindigt. Noteer ook welke PHP-versie werkelijk voor deze taak draait. Een instelling voor een andere uitvoeromgeving helpt deze diagnose niet.
- Maak een kleine, herhaalbare proef op de testkopie. Vergelijk een beperkte taak met een representatieve taak en noteer beide doorlooptijden. Laat onderzoeken waar de uitvoering blijft hangen of onevenredig veel werk doet. Verander de hoeveelheid gegevens en de code niet tegelijk in dezelfde vergelijking.
- Test een gerichte oplossing. Bespreek efficiëntere verwerking, kleinere delen of een beheerde achtergrondtaak waar dat passend is. Laat een eventuele ruimere tijdsgrens onderbouwen met een meting en beschikbare capaciteit. Maak de limiet niet onbeperkt als vervanging voor het onderzoek naar de oorzaak.
- Controleer afronding en herstartgedrag. Zijn alle verwachte records verwerkt, ontbreken er geen stappen en zijn er geen dubbelen? Laat één onderbroken proef veilig hervatten op de testkopie. Controleer verse logs en bewaar het eindresultaat samen met de taakomvang en gemeten duur.
Een rapport tegenover een import
Stel dat een rapport over een korte periode slaagt en een groter rapport stopt. Gebruik beide perioden als vergelijking voor je ontwikkelaar. Vraag om te controleren of het grotere resultaat volledig is, ook wanneer er geen foutscherm meer verschijnt.
Een gedeeltelijk rapport kan overtuigend ogen terwijl er informatie ontbreekt. De verwachte aantallen zijn daarom onderdeel van de acceptatie.
Bij een import ligt de nadruk ook op wat al is opgeslagen. Spreek vooraf af hoe je vaststelt welke regels voltooid zijn. Vraag hoe de toepassing een eerder verwerkt item herkent wanneer de taak opnieuw wordt gestart.
Laat dat aantonen met een kleine proef voordat je een volledige import herhaalt. Hiermee beperk je de onzekerheid rond gedeeltelijke verwerking zonder de technische oplossing voor te schrijven.
Een hogere tijdslimiet is pas een bruikbare maatregel als duidelijk is welke taak daardoor correct afrondt en hoeveel ruimte daarvoor nodig is. Vraag om een concrete bovengrens en een controle na de wijziging. Bewaar bovendien de oorspronkelijke fout en meetgegevens.
Als de taak later opnieuw stopt, kan je beheerder vergelijken wat veranderd is in gegevensvolume, code of omgeving.
Hulp en controle na herstel
Gebruik het hulpformulier hieronder als je geen toegang hebt tot de logs of niet weet wie de betreffende code onderhoudt. Beschrijf één mislukte handeling en het verwachte resultaat. Vraag om een voorstel dat de oorzaak, de wijziging en de controle afzonderlijk benoemt.
Stuur geen wachtwoorden mee met je aanvraag.
Herhaal na herstel de oorspronkelijke handeling op de testkopie. Controleer ook een normale bezoekersroute, een leeg resultaat en een foutieve invoer waar dat relevant is. Bekijk verse logregels bij het nieuwe testtijdstip.
Bewaar versies en uitkomsten bij je onderhoudsnotities. Laat de verantwoordelijke beheerder bepalen wanneer de geteste wijziging naar de echte website kan.