È un po’ che non pubblico niente ma di cose in queste settimane ne sono successe…e pure tante! In poco più di un mese conto quasi 5000 chilometri in macchina tra Piacenza, Sanremo, Jelsi, Torremaggiore, Taranto, Legnano e Milano, un paio di libri in più da studiare in vista dell’abilitazione, un libro di Clive Cussler da leggere in bagno, un paio di smartphone da testare approfonditamente e qualche allenamento di beach volley nelle gambe sempre buono per tornare ad avere una condizione fisica accettabile. Poi un matrimonio, qualche parente ricoverato in ospedale, un grande incontro con un amico che non vedi da una vita e tanto altro…

I fatti miei però non interessano a nessuno e di certo non li scrivo tutti qui, ma venerdì 13 ero in vena di pubblicare qualcosa di “personale” e non sono stato in grado di farlo. Perché? Perché il blog è “imploso” e ho dovuto spendere tutto il tempo che volevo dedicare ad un ”racconto” al fine di sistemare il problema e rimettere online il sito. Praticamente dopo l’accesso alla sezione di amministrazione e a seguito del solito aggiornamento dei plugin di WordPress il sito è letteralmente “morto”: errore 500.

Quando ci si trova dinanzi al 500 Internal Server Error la certezza è solo una: sei nella merda perché non sai minimamente cosa possa essere andato storto. È un errore generico: può essere una cavolata oppure una catastrofe. Conoscendo WordPress, però, era facile propendere per la prima opzione e alla fine dei conti era effettivamente così. Il problema è che quando non hai a che fare con i server ogni giorno della tua vita viene difficile agire velocemente e una “cavolata” da due minuti ti frega un’ora.

Dopo aver spremuto i pochi neuroni della mia testa, non avendo accesso ad alcuna porzione del sito, ho cercato di accedere via FTP ai file utilizzando discutibili – ma spesso risolutori – metodi di fix che molti anni or sono mi hanno letteralmente salvato il c…fondoschiena. I tentativi di modificare/cancellare il file .htaccess si sono rivelati vani, così come inutili sono stati i giochi con il nome delle cartella plugins; avevo appena fatto un aggiornamento dei plugin, sicuramente era qualcosa dovuto a questo! Nel mio cervello non c’erano grosse alternative!

Dopo un altro paio di prove altrettanto inutili (suggerite da Google) ecco accendersi la lampadina: Romano, capra che non sei altro, perché diamine non vai a vedere che dicono il log del server? Conoscendo la macchina virtuale, il sistema operativo e il nome del server non è stato difficile arrivare alla cartella – /var/log/apache2/ – contenente i vari log e una volta aperto il file error_log il problema si è palesato davanti ai miei occhi:

[Fri Oct 13 16:57:31.796423 2017] [proxy_fcgi:error] [pid 1730:tid 140370813880064] [client 164.132.91.13:36606] AH01071: Got error ‘PHP message: PHP Fatal error:  Uncaught Error: Call to undefined function mysql_escape_string() in /opt/bitnami/apps/wordpress/htdocs/wp-content/themes/authentic/functions.php:60\nStack trace:\n#0 /opt/bitnami/apps/wordpress/htdocs/wp-settings.php(424): include()\n#1 /opt/bitnami/apps/wordpress/htdocs/wp-config.php(100): require_once(‘/opt/bitnami/ap…’)\n#2 /opt/bitnami/apps/wordpress/htdocs/wp-load.php(37): require_once(‘/opt/bitnami/ap…’)\n#3 /opt/bitnami/apps/wordpress/htdocs/wp-blog-header.php(13): require_once(‘/opt/bitnami/ap…’)\n#4 /opt/bitnami/apps/wordpress/htdocs/index.php(17): require(‘/opt/bitnami/ap…’)\n#5 {main}\n  thrown in /opt/bitnami/apps/wordpress/htdocs/wp-content/themes/authentic/functions.php on line 60\n’

Praticamente, per non so quale motivo (sicuramente l’aggiornamento di un plugin), è saltato fuori un problema con il file functions.php del mio tema WordPress. Il problema è che tutti i file analoghi degli altri temi sono poi risultati corrotti e non volendo andare a toccare ogni functions.php del sito ho ben deciso di piallare tutta la cartella themes di WordPress ricaricando il tema stock prima e poi, una volta appurato il funzionamento, anche il tema custom.

Morale della favola: WordPress fa schifo…ma anche un decerebrato potrebbe risolvere il 99,9% dei suoi problemi. 🙂