Gnu/Linux’da PHP Ayıklama(Debugging)

Yazılım yapısı gereği karmaşık bir iştir. Bu nedenle yazdığımız yazılımın sonucunda belmediğimiz hatalarla karşılaşabiliriz ve bazen hata mesajları tek başına bir şey ifade etmez. Her adımı var_dump() ve print_r() ile yazdırmakta çok kullanışlı değildir.

PHP derlenen (compiled) değil yorumlanan (interpreted) bir programlama dilidir. Bundan dolayı çoğu geliştirme ortamında (IDE) ayıklama (debugging) özelliği varsayılan olarak gelmez. Bu nedenle bir ayıklama aracı yüklememiz gerekiyor. Bu yazıda bu konu en popüler debug aracı olan Xdebug ile Nginx+ Visual Studio Code yapılandırmasında anlatılıyor. Dilerseniz anlatılanları kendi yapılandırmanıza uyarlayarak kurulumu gerçekleştirebilirsiniz.

Öncelikle PHP ve işletim sistemi sürümümüze uygun Xdebug sürümünü bulmamız gerekiyor. Bunun için bir php info sayfası oluşturup tüm yapılandırma bilgilerimizi görelim. Aşağıdak, kod ile bir PHP sayfası oluşturup çalıştırın.

<?php
    phpinfo();
?>

Çıkan sayfa bunun gibi bir şey olması lazım.

Bu sayfayı kontrol tuşu + a veya fareyle seçerek tamamen kopyalayın. Daha sonra https://xdebug.org/wizard.php adresine giderek karşınıza çıkan yazı kutusuna bunları yapıştırın ve ‘Analyse my phpinfo() output’ butonuna basın. Site bunu yaptığınızda yapılandırma bilgilerinizin bir kopyasını çıkartarak nasıl bir yükleme yapacağınızı anlatan metin çıkartacak. Sayfanın görüntüsüde yapılandırma özetinin hemen altında bu şekilde çıkmalı.

Burada size bazı PHP eklentilerini ve Xdebug’ı kurduruyor. Orada yazılanların Türkçe tekrarını yapmamak için yeniden yazma gereği duyuyorum. Birinci maddedeki paketi tarayıcıdan elle indirebileceğiniz gibi terminalde Wget ile de indirebilirsiniz ve işlemler bittiğinde nginx’i yeniden başlatmayı unutmayın.

Şimdi Visual Studio Code’a gerekli PHP Debug eklentisini kurun.

Projenizi açın ve soldaki yan menüden debug ikonuna tıklayın. Xdebug’ı ilk kez o projede kullanıyorsanız, bir yapılandırma (configuration) dosyası oluşturmalısınız. Zaten bu dosya yoksa veya bozuksa menüdeki çark ikonunda kırmızı bir yuvarlak görürsünüz. O ikona basın ve PHP’i seçin, böylelikle projenin anadizininde .vscode > launch.json dosyası oluştuğunu görecekseniz. Eğer ilerde Xdebugla ilgili ince bir ayar lazım olursa buradan değişiklik yapacaksanız ama şu an bu lazım değil.

Şimdi ayıklama yapmak istediğiniz kodun sol tarafına yukarıdaki gifteki gibi tıklayın. Orada kırmızı bir daire belirecektir. Bir kez daha basarsanız o dairenin oradan kalktığını görürsünüz ancak şu an bunu yapmayın. Debug işlemini başlatmak için yine doldaki menüden debug barını açtıktan sonra üsteki yeşil start ikonununa basın. Daha sonra tarayıcınızdan debug için işaretlediğiniz kodu çalıştıran sayfayı açın, açıksa yenileyin. Ben örnek olarak 50’ye kadar bir döngü yazdım. Şimdi Visual Studio ekranında işaretlediğiniz koda kadar yazılımın çalıştığını ve orada durduğunu göreceksiniz. Yukarıdaki gifteki gibi kodu bir sonraki satıra taşıyıp değişkenlerin değerlerinin nasıl değiştiğini ve kodun nereye dallandığını görebilir, debug’ı durdurmak için kırmızı durdur ikonuna basabilirsiniz.

Aklınıza takılan bir şey olursa sorularınızı bekliyorum.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.