Chi lavora nel mondo dello sviluppo lo sa bene: a volte i problemi più ostinati non nascono da complesse architetture software, ma da un dettaglio minuscolo, quasi invisibile, che manda all’aria intere ore di debugging.
È esattamente ciò che è successo durante lo sviluppo del progettino PHP con XAMPP, un’applicazione pensata per interrogare un database MySQL e restituire i dati in formato JSON. Un progetto semplice, perfetto per consolidare le basi del linguaggio, la gestione dei database e l’approccio moderno allo sviluppo backend.
Una delle lezioni con il buon Marino.
Eppure… qualcosa non quadrava.
🚨 Il problema: i log non apparivano da nessuna parte
Avevamo configurato tutto correttamente:
error_logattivo inphp.ini- percorsi impostati
- query SQL validate
- funzioni
error_log()inserite in vari punti del codice
E i log funzionavano perfettamente… tranne che all’interno dell’applicazione PHP del progetto.
Un mistero totale:
perché PHP loggava dai file di test, ma ignorava ogni log del progetto?
🔍 Il vero motivo (che alla fine era semplicissimo)
Dopo diversi tentativi, abbiamo deciso di fare una verifica molto più “terra-terra”:
stampare il percorso del file PHP in esecuzione, usando:
echo __FILE__;
Risultato?
Apache stava eseguendo una versione vecchia del progetto, situata dentro htdocs, mentre noi stavamo modificando una copia dei file salvata altrove.
In altre parole:
non stavamo modificando i file che il server stava realmente eseguendo.
Uno di quei momenti in cui ti fermi, sospiri… e ti rendi conto di quanto sia facile perdersi in un bicchiere d’acqua quando si sviluppa.
💡 La lezione imparata: fermarsi, respirare, riflettere
Questo piccolo episodio ci ha ricordato una cosa fondamentale:
👉 Non sempre è un problema tecnico.
Spesso è solo una questione di organizzazione e consapevolezza.
Nel coding è facilissimo incastrarsi in un dettaglio, convinti che il bug sia complesso, quando invece basta fermarsi due minuti, guardare con calma e fare la domanda più semplice:
“Il file che sto modificando è davvero quello che viene eseguito?”
Da quel momento in poi, procedere è stato un piacere: i log hanno ricominciato a funzionare, la diagnostica era chiara e la logica di progetto ha iniziato a scorrere senza intoppi.
🌐 Il progetto: un backend PHP moderno per l’apprendimento
Il bello di questa esperienza è che fa parte di un percorso molto più ampio:
la costruzione di un applicativo PHP completo che:
- connette un database MySQL
- utilizza classi e oggetti per modellare le entità (come la classe
Prodotto) - interroga il DB con query SQL pulite e sicure
- restituisce risposte in JSON per simulare vere API
- separa codice, logica e dati in modo ordinato
- lavora su XAMPP e Apache per capire realmente come funziona un server
Io e Marino stiamo facendo pratica con:
- PHP moderno
- gestione degli errori e dei log
- configurazione del server
- progettazione del database
- architettura di un mini-backend
- debugging e metodologia di lavoro
È un percorso che non punta solo a “far funzionare il codice”, ma a comprendere come ragiona davvero un’applicazione web.
🧱 Dietro le quinte: progettazione del database
Allo stesso tempo stiamo imparando:
- come strutturare tabelle
- come pensare le relazioni
- come interrogare i dati nel modo più efficiente
- come validare informazioni provenienti dal frontend
- come restituire risposte pulite e coerenti
Il database non è solo un contenitore:
è una componente che deve essere progettata con precisione e logica, proprio come il codice.
🎯 Conclusione: il valore dei piccoli errori
Questa esperienza dimostra che:
- la programmazione è fatta di dettagli
- sbagliare è parte del processo
- spesso il problema è più semplice di quanto sembri
- fermarsi a riflettere può risolvere più di mille righe di debugging
- ogni piccolo ostacolo insegna qualcosa sulla tecnologia e su noi stessi
E soprattutto:
👉 Il debugging non è una battaglia contro il codice.
È un esercizio di lucidità, metodo e pazienza.
Ed è così che si cresce: costruendo, provando, sbagliando e sistemando.
Un passo alla volta, ma nel modo giusto.
Lascia un commento