Snad každému programátorovi, který kdy dělal v PHP, se stalo, že program nemohl nastavit HTTP hlavičky, protože už na výstup bylo něco zapsáno. V drtivé většině případů je tam zapsán nějaký bílý znak, který se omylem zatoulá za konečnou sekvencí ?>. Snadná pomoc, vůbec neuvádějte závěrečnou sekvenci, protože je zcela nepovinná. Pokud se jedná o soubory, které obsahují čistý kód (při použití Smarty nebo jiného šablonovacího systému to jsou všechny soubory typu PHP), tak na poslední řádek dávejte něco jiného.
Následující příkaz vyhledá všechny PHP soubory, které nemají na posledním řádku // EOF nebo //EOF:
A následující příkaz vyhledá PHP soubory, které začínají jinak než :
Následující příkaz vyhledá všechny PHP soubory, které nemají na posledním řádku // EOF nebo //EOF:
find . -type f -name '*php' | while read f ;do tail -1 "$f" | grep -vsqE '// ?EOF' && echo "$f" ;done
A následující příkaz vyhledá PHP soubory, které začínají jinak než :
find . -type f -name '*php' | xargs grep -n ' | grep ':1:' | grep -v ' | sed 's/:1:
Tento zápisek vznikl převodem z mého starého blogu. Ne všechny texty byly takto převedeny, kompletní archiv již není k dispozici.