PHP valittaa virhettä rivillä x, mutta rivillä ei ole virhettä!
Mureakuha
Useimmiten tämä johtuu siitä, että olet unohtanut aiemmalta riviltä puolipisteen (;) tai aaltosulun (}), katso sinne. Jos edellisen rivin lopussa on tarvittaessa puolipiste ja virhe pysyy, tarkista ettet ole unohtanut sulkea merkkijona. Esimerkiksi<?php echo 'moikka; ?>-rivistä puuttuu moikka-sanan jälkeen hipsu. Jollei riviltä löydy ollenkaan virhettä, kannattaa kurkata uudelleen edelliselle riville, koska usein virhe on PHP-tulkin kertomaa riviä edeltävällä rivillä.
Myöskin, jos olet esim. tallentanut muuttujaan SQL-kyselyn, PHP-tulkki ilmoittaa virheen sillä rivillä, jolla suoritat kyselyn, vaikka virhe olisi muuttujan sisältämässä kyselyssä.
Mikäli ylläolevat neuvot eivät tuota toivottua tulosta, kannattaa tarkistaa alkaako rivi <?xml määrityksellä. Jos näin, on PHP-asetuksissa oltava short_open_tag = off. Mikäli et voi muuttaa php.ini asetuksia, voit korjata vian joko tallentamalla haluttuun hakemistoon .htaccess-tiedoston:
php_flag short_open_tag off
Tämä kuitenkaan ei aina palvelimen asetusten takia onnistu, joten kyseisen <?xml-rivin voi laittaa tulostumaan PHP-koodin sisällä:
<?php echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n"; ?>
Hyvä keino myös yrittää etsiä virheitä on kommentoida piiloon osia ohjelmalohkosta. Kun virhettä ei enää synny pienennä koodilohkon kokoa. Näin haarukoimalla saa usein supistettua muutaman rivin alueelle, josta jo löytää helposti virheen.
