Iedereen die wel eens programmeert kent het wel, zo’n lastig te traceren probleem in je programma of script. Steeds de zelfde foutmelding passeert je scherm, soms zelfs als je de wereld al in je source hebt gewijzigd.
Nou heb ik al aardig wat ervaring maar PHP blijft het je soms onmogelijk moeilijk maken, vooral als je een samengesteld document hebt. Ik werk natuurlijk op mijn mac, gebaseerd op unix, mijn server bij de hostingprovider loopt op linux, maar als ik nu files edit moet ik wel windows line terminators gebruiken, anders werkt het script niet na uploaden. Dan duik je er toch ergens te diep in bij de instellingen voor je editor, maar goed dat hoort er wel bij.
Maar uiteindelijk, hoe kwam het dat ik weer eens dagen verdaan heb met PHP gepruts? Mijn provider heeft besloten om maar eens te upgraden naar een nieuwe versie van PHP. Wist ik helaas niks van en aangezien ik wel bijna elke dag mail maar niet alle dagen mijn eigen site bezoek (zelfs ik doe dat dus niet foei!) kan dit wel wekenlang al errors/warnings hebben veroorzaakt doordat de wijze PHP ontwikkelaars menen dat enkele functies verouderd waren en vervangen moesten worden. “This function is being deprecated as of version blabla”. Nou heb ik een regeltje in mijn script staan dat er voor zorgt dat de warnings getoond worden, dus ik kon dat regeltje uitzetten. Dat heb ik snel gedaan om de boel weer toonbaar te krijgen. Echter wil ik geen errors of warnings krijgen in mijn pagina’s, dat is mijn eer gewoon te na. Dus ben ik aan het wijzigen geslagen. Scripts werkten niet meer, display’s die ik toevoegde zaten in het verkeerde bestand of in de verkeerde test-directory. De test-directory was op een ochtend geheel verdwenen, nadat de helpdesk iets had gereset, of ik had dat zelf gedaan, maar beide kan ik niet hard maken. Ik ben wel enige testdirectories kwijt die er eerder wel waren als standaard voorgeinstalleerde directories. Om alle verwarring de volgende keer voor te zijn heet mijn testomgeving nu geen test meer.
In de strijd heb ik dank zij de PHP parse errors wel uitgevonden wat het hardcoded pad is naar een bepaalde directory zodat ik nu CGI scripts kan draaien die gemaakt zijn in REBOL. Mogelijk kan dat lastig te debuggen PHP wel eens de deur uit. Wie weet, lijkt mij heel leuk.
Update, het is maar goed dat ik verschillende omgevingen heb voor mijn site, een complete OTAP straat zeg maar, want als je een werkende PHP pagina hebt en je schoont de code op dan werkt het script op miraculeuze wijze niet meer.
Nog een update, te veel opschonen is nooit goed, er was een regeltje te veel weggehaald 😉
Vanaf heden een rekenmachine nodig bij het invullen van een comment op dit blog. Om het onze Ursische en andere Oost-Ueropinaen met al hun vertypte commentaren wat moeilijker te maken deze zelf vertaald naar een Nederlandse versie. Grappig dat ik de woorden eerst uitgezet had dus bij de test alleen cijfers op het scherm, LOL!