7 Ocak 2012

Php short open tag sorunu ve çözümü

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.

Kripto paralar hakkında

Kripto paralar, merkezi olmayan, şifrelenmiş ve dağıtılmış bir veritabanı olan blok zinciri teknolojisi kullanılarak oluşturulan dijital par...