Snel short open tags vervangen in scripts van cakephp

In geval er op een machine scripts geschreven zijn met short_open_tag aan (<? en <?=) dan kan het voor komen zodra je deze scripts over zet naar een server waar short_open_tag uit staat dat de gehele pagina niet meer functioneerd.

Hier 3 commando’s om <?= te vervangen in de scripts vanaf een console.
find . -name ‘*.php’ -print0 |xargs -0 perl -pi -e ‘s/<\?=/<\?php echo/g’
find . -name ‘*.thtml’ -print0 |xargs -0 perl -pi -e ‘s/<\?=/<\?php echo/g’
find . -name ‘*.ctp’ -print0 |xargs -0 perl -pi -e ‘s/<\?=/<\?php echo/g’

Nu hebben we echter alleen de <?= tag vervangen, gezien de tijd ontbreekt om hier zelf nog verder onderzoek op uit te voren heb ik nog wel een simpel commando om de <? tag er ook uit te zoeken wat voor mij voldoende was.
grep -r ‘<?’ ./* | grep -v ‘<?xml’ | grep -v ‘Binary’ | grep -v ‘<?php’

Ik ben er van overtuigd dat hier voor ook iets gemakkelijks te bedenken is als er de tijd voor is.

Advertenties