Bildiğiniz gibi Php dilinde açılış imi olarak standart kullanım
<?php şeklinde olmakla birlikte bunun yerine çoğu zaman kısaca
<? şeklinde de yazabilirsiniz ancak bunun için sunucudaki
short_open_tag ayarının açık olması gerekiyor. Linux sunucularda muhtemelen bu ayar açık olur ancak windows sunucularda sorun yaşabilirsiniz. Bu sorundan kurtulmak için ya short_open_tag ayarını php.ini ayarlarından açmanız yada kodunuzdaki tüm <? kısımlarını <?php ile değiştirmeniz gerekir. Açılış imi yanında ayrıca <?='Deneme'?> şeklindeki kısa echo ifadeleri de cabası. Geçenlerde bu sorunla karşılaşıp kodların tamamında düzeltme yapmam gerekti ve bunun için pratik bir çözüm aradım. İnternette bulduğum bazı kodlardan yararlanarak bir PHP konsol komutu oluşturdum. Bu komut ile input dizininde bulunan tüm dosyaları tarayıp kısa imleri normal imlere dönüştürüyor. Yazdığım araç tokenizer işlevlerini kullanıyor. Eğer
phpinfo() komutu çıktısında
tokenizer başlığı altında
Tokenizer Support değeri
enabled ise o zaman bu kod sunucunuzda çalışır.
Buraya tıklayarak dosyayı indirebilirsiniz. Kullanmak için arşivi açtıktan sonra sunucunuzda bir dizine kopyalayıp. output dizinine yazma yetkisi verdikten sonra input dizinine düzeltmek istediğiniz php dosya/dizinlerini kopyalayıp ardından komut isteminden şu komutu çalıştırın:
php convert_short_tags.php
Bu komutu çalıştırınca input dizinindeki kodlardaki short tag türü php imleri normal hale getirilip çıktılar output dizininde oluşturulacaktır.
Hiç yorum yok:
Yorum Gönder