Salta al contenuto

Maximum execution time exceeded in PHP: come risolverlo

Pubblicato il Aggiornato il

In breve: Maximum execution time exceeded: indica che PHP ha interrotto uno script perché ha superato il tempo massimo consentito.

Maximum execution time exceeded

Questa guida approfondisce Maximum execution time exceeded con una procedura progressiva e reversibile. Non inviare password, codici 2FA, token, chiavi private o file di configurazione completi nei ticket.

Che cosa significa

Il file indicato non è sempre la causa originaria: può essere il punto nel quale uno script lento, una query o una chiamata esterna si trovava allo scadere del tempo.

Il parametro max_execution_time può essere gestito da cPanel quando il piano lo consente, ma un aumento deve seguire la diagnosi e non sostituirla.

Come riconoscere il problema

  • Importazioni o aggiornamenti si interrompono.
  • error_log mostra Maximum execution time of N seconds exceeded.
  • Una pagina amministrativa resta in caricamento.
  • Il problema riguarda un plugin specifico.
  • La stessa operazione funziona con dataset più piccoli.

Cause più frequenti

1. Ciclo o elaborazione eccessiva

Codice difettoso o dataset molto grande mantiene PHP occupato. Verifica questa ipotesi usando il messaggio completo e i dati dell’orario interessato, senza basarti soltanto sul testo mostrato dal browser o dall’applicazione.

2. Query lenta

Il processo attende il database per gran parte del tempo.

3. API esterna

Una chiamata HTTP priva di timeout adeguato blocca l’operazione.

4. Importazione via browser

Il lavoro è troppo grande per una singola richiesta web.

5. Cron sovrapposti

Più esecuzioni della stessa attività competono per risorse.

6. Limite troppo basso per attività legittima

Alcune procedure controllate richiedono più tempo del valore attuale.

Diagnosi passo per passo

  1. Leggi file e riga. Usa il percorso per identificare plugin, tema o core coinvolto. Salva il risultato e confrontalo con il passaggio successivo; in questo modo potrai distinguere una causa locale da una configurazione del servizio.
  2. Riproduci con log attivo. Registra l’orario e limita il test a una sola operazione. Salva il risultato e confrontalo con il passaggio successivo; in questo modo potrai distinguere una causa locale da una configurazione del servizio.
  3. Riduci i dati. Confronta un batch piccolo per capire se il tempo cresce con il volume. Salva il risultato e confrontalo con il passaggio successivo; in questo modo potrai distinguere una causa locale da una configurazione del servizio.
  4. Controlla query e API. Cerca slow query, cURL timeout e servizi remoti. Salva il risultato e confrontalo con il passaggio successivo; in questo modo potrai distinguere una causa locale da una configurazione del servizio.
  5. Verifica cron. Controlla attività duplicate o processi ancora attivi. Salva il risultato e confrontalo con il passaggio successivo; in questo modo potrai distinguere una causa locale da una configurazione del servizio.
  6. Consulta il valore PHP. In cPanel apri Select PHP Version → Options o lo strumento previsto dal piano. Salva il risultato e confrontalo con il passaggio successivo; in questo modo potrai distinguere una causa locale da una configurazione del servizio.
  7. Controlla altri limiti. Memoria, processi, CPU e I/O possono rallentare lo script. Salva il risultato e confrontalo con il passaggio successivo; in questo modo potrai distinguere una causa locale da una configurazione del servizio.

Procedura di risoluzione

  1. Correggi il componente. Aggiorna, sostituisci o configura il plugin indicato. Dopo la modifica ripeti lo stesso test, controlla il log e verifica che non siano comparsi effetti collaterali.
  2. Suddividi in batch. Riduci il numero di record elaborati per richiesta. Dopo la modifica ripeti lo stesso test, controlla il log e verifica che non siano comparsi effetti collaterali.
  3. Ottimizza database e codice. Evita query ripetute e caricamento di dati non necessari. Dopo la modifica ripeti lo stesso test, controlla il log e verifica che non siano comparsi effetti collaterali.
  4. Imposta timeout per API. La richiesta remota deve fallire rapidamente e gestire l’errore. Dopo la modifica ripeti lo stesso test, controlla il log e verifica che non siano comparsi effetti collaterali.
  5. Elimina sovrapposizioni cron. Usa lock e frequenze coerenti. Dopo la modifica ripeti lo stesso test, controlla il log e verifica che non siano comparsi effetti collaterali.
  6. Aumenta max_execution_time con moderazione. Da Select PHP Version → Options scegli un valore adeguato solo per l’operazione verificata. Dopo la modifica ripeti lo stesso test, controlla il log e verifica che non siano comparsi effetti collaterali.
  7. Riporta il limite al valore previsto. Dopo attività eccezionali evita di lasciare soglie inutilmente alte. Dopo la modifica ripeti lo stesso test, controlla il log e verifica che non siano comparsi effetti collaterali.

Domande frequenti

Che cosa significa Maximum execution time exceeded in PHP?

Il parametro max_execution_time può essere gestito da cPanel quando il piano lo consente, ma un aumento deve seguire la diagnosi e non sostituirla. In pratica, il file indicato non è sempre la causa originaria: può essere il punto nel quale uno script lento, una query o una chiamata esterna si trovava allo scadere del tempo.

Quali controlli fare per diagnosticare Maximum execution time exceeded in PHP?

Leggi file e riga. Usa il percorso per identificare plugin, tema o core coinvolto.

Guide Xlogic correlate

Fonti tecniche

Maximum execution time exceeded in PHP: come risolverlo ultima modifica: 2026-08-02T02:07:14+02:00 da Team tecnico Xlogic

Ti è piaciuto questo Post?