Even voorstellen en een vraag
Ik ben Richard en niet jullie nieuwste forumlid.
Ik maak al jaren websites, maar dan van de design kant. Dreamweaver, Joomla, Drupal en Wordpress.
Met mijn eigenbedrijfje ondersteun ik particulieren en ondernemers in hun Reclame en ICT behoefte in de ruimste zin des woords.
Ik heb 15 jaar ervaring als Creatief Pre-Press DTPer voor grote bedrijven en reclameburo's en 15 jaar ervaring als MS Netwerkbeheerder/systeembeheerder.
Vraagje:
Een klant van me heeft een website draaien op PHP 5.2 en z'n provider gaat over op PHP 5.6.
Als we de site op 5.6 zetten dan loopt de PHP log vol met meldingen.
Ik heb de klant natuurlijk geadviseerd om de site compleet opnieuw in Wordpress te maken ;-) maar ze willen voorloping nog even met de oude door.
Hoe kan ik dit oplossen?
iemand een suggestie?
Groet Richard.
Lekker door laten lopen op zijn eigen risico. Eventueel als je de hosting bent gewoon een deadline stellen waarop je PHP 5.2 echt de laan uit gaat schoppen. Je wilt immers geen verouderde software draaien die veiligheidslekken kan bevatten.
Ik neem aan dat de "oude" PHP code nalopen en vernieuwen een immens karwei gaat worden?
je kan ook E_ALL ^ E_DEPRECATED gebruiken in je error_reporting() om de Depricated-meldingen weg te werken, maar het is geen oplossing. Dus er moet wel tijd worden geïnvesteerd om deze meldingen weg te werken. Zo is tegenwoordig de functiebibliotheek van mysql_*() verouderd, en wordt mysqli_*() (of PDO) aangeraden.
Verder is het zeker raadzaam om 'display_errors' op 0 te zetten als je site publiekelijk staat. Foutmeldingen wil je nooit aan publiek tonen, en liever loggen in een bestand.
Over loggen gesproken: Ik ben op dit moment bezig met een simpel maar doeltreffend scriptje dat logging van PHP-errors een stuk meer moet verbeteren. Wie weet plaats ik het in onze scriptlibrary of wijd ik er een artikeltje over uit ;-)
Gewijzigd op 28/05/2015 18:49:45 door - Ariën -
Ik heb al getest door PHP op versie 5.4 te zetten en ook dat resulteert al in errors.
Display errors uitzetten zou een uitkomst kunnen zijn, ware het niet dat het complete menu al niet meer werkt.
Ik heb nu bevestiging van wat ik al wist, nl dat de klant toch in de buidel zal moeten tasten voor een aanpassing of een nieuwe website. Of dat ze met de errors en een lelijke website blijven zitten.
Maar nu weet ik het ook zeker. thx.
Richard Gijsbertse op 28/05/2015 17:49:42:
Kopie van de website maken op een test-omgeving. Foutmeldingen analyseren en kijken hoeveel en welk type, bekijken wat deprecated is en gewoon handmatig opknappen. Veelal gaat het om enkele deprecated functies/commands die je door de gehele software tegenkomt en aan moet passen. Is te doen maar kost wel wat tijd. Is er sprake van MySQL dan zal het ook wel MySQL functies vervangen door MySQLi functies.Een klant van me heeft een website draaien op PHP 5.2 en z'n provider gaat over op PHP 5.6.
Als we de site op 5.6 zetten dan loopt de PHP log vol met meldingen.
Als we de site op 5.6 zetten dan loopt de PHP log vol met meldingen.
Of er is idd. iets deprecated als mysql_* extenties en dan zet je er even een 'i'-tje bij.
Tip: er zijn migration guides die je kunt nalopen op veranderende functionaliteit. Dat kan je debugging versnellen: http://php.net/manual/en/migration53.php
De overige stappen (5.4, 5.5, 5.6) staan in het rechterkader.