Per evitare che un errore di programmazione negli script PHP ne blocchi il funzionamento del server, gli hoster stabiliscono una durata massima di esecuzione di ogni pagina PHP. Questo limite è solitamente di 30 secondi: se una pagina "parte" in un’elaborazione che dura più di 30 secondi (elaborazione enorme, o un ciclo infinito), il server interrompe l’elaborazione e lo segnala con un messaggio di errore. Per SPIP, questo limite di 30 secondi è ampiamente sufficiente per qualsiasi elaborazione.
Tuttavia, alcuni hoster stabiliscono durate massime molto brevi. È soprattutto il caso di Free (15 secondi) e di Online (8 secondi). Inoltre, su questi hoster la quantità di memoria allocata al funzionamento del PHP è piuttosto bassa, e ciò ne rallenta l’esecuzione. Pertanto, le funzioni di SPIP, su questi hoster, impiegano un tempo maggiore di esecuzione e la durata massima di esecuzione è ridicolmente corta. Immaginate un treno che può funzionare solo per un’ora e che deve percorrere una distanza di 120 chilometri su linee ferroviarie in cui c’è il limite di 60 km/h: a metà percorso il treno si fermerà in aperta campagna.
Questo problema si riscontra sistematicamente con gli articoli lunghi: in questi hoster l’elaborazione di queste pagine viene interrotta dal server prima della fine dell’elaborazione, e ciò impedisce la loro visualizzazione e provoca il messaggio di errore "Maximum execution time exceeded".
Non c’è alcuna soluzione tecnica. SPIP è già stato ottimizzato per girare più velocemente, il problema dipende quindi dall’hoster.
- Unica soluzione immediata: trasferire il proprio spazio Web su hoster che forniscono un servizio utilizzabile e non limitato all’estremo. Se avete accesso alla configurazione del PHP (file /ecc/php/apache/php.ini su Linux), è necessario modificare il parametro max_execution_time.
- Scrivete al responsabile del servizio di hosting per chiedergli di aumentare la durata massima di esecuzione degli script (30 secondi come tutti, per esempio). Non si sa mai, può darsi che prima o poi... Ma per il momento, l’assenza di reazione sembra più indicare una volontà deliberata di ostacolare il servizio gratuito per far passare i webmaster al servizio a pagamento piuttosto che un imperativo tecnico.