PHP söz dizimi kontrolü

Dün yayında olan bir PHP projesinde çeşitli değişiklikler yapmak durumunda kaldım. Test etme şansım olmadığından dosyanın bir kopyasını sunucuya atarak sunucu üzerinde test etmeye çalıştım. Gönderdiğim dosyayı çalıştırmayı denediğimde bomboş bir ekranla karşılaştım. Güvenlik nedeniyle sunucu, hata mesajlarını ekrana basmayacak şekilde ayarlanmıştı. Hata kayıtları da benim yetkim olmayan bir yerde duruyordu. Bir şekilde hatanın nerede olduğunu bulmam gerekiyordu. Çok fazla değişiklik yaptığım için eski dosya ve yeni dosya arasında bir karşılaştırma yapmak uzun sürecekti. Bir kaç kontrol yapmaya karar verdim.

İlk olarak söz dizimi kontrolü yaparak dosyanın PHP tarafından işlenebildiğinden emin olmak istedim. Bunun için PHP’yi komut satırından “-l” parametresi ile çalıştırıp ikinci parametre olarak dosyanın ismini verebilirsiniz. Eğer PHP klasörünüz PATH değişkeninde tanımlandıysa dosyanızın olduğu klasörde komut satırı açarak php -l dosyaismi.php şeklinde söz dizimi kontrolü gerçekleştirebilirsiniz. PATH değişkeninde tanımlı değilse php.exe’nin tam yolunu girmeniz gerekebilir (Örneğin: c:\php\php.exe -l dosyaismi.php)

Bu komut PHP dosyanızı kontrol edecek, bir hata bulamazsa sonlanacak ya da bulduğu ilk hatada hatanın olduğu satır numarasını ekrana basarak sonlanacaktır. İlgili hatayı düzelttikten sonra komutu tekrar çalıştırarak, dosyayı tekrar kontrol edebilirsiniz. Bu şekilde hiç söz dizimi hatası kalmayana kadar kodu tekrar tekrar çalıştırarak dosyanızı hatalardan arındırabilirsiniz.

Bu şekilde problemimi giderip dosyayı sunucuya tekrar yükledim. Problemim giderilmişti.

“PHP söz dizimi kontrolü” üzerine 9 yorum

  1. Kodlarınızın en tepesine;

    ini_set("display_errors", "1");

    eklediğinizde *.ini den kapalıda olsa hata kodlarınız gösterilebirdi.

    1. Bahsettiğim güvenlik ayarlarının içinde ini_set de yer alıyor. Kullanımını php.ini içinden engellemişler.

  2. Ayhan arkadasin dedigi gibi olsaydi. En azindan gösterilebilirdi. Hatanin çözümüde kolay olur.

  3. Sentaks’ın Türkçe karşılığı biliyorsunuz “söz dizimi”, bunu kullansanız daha hoş olur gibi, iyi çalışmalar…

Yorumlar kapalı.