Monthly Archives: Aralık 2014

Genel

Symfony2 Projelerinde Hata Ayıklama İşleminin PHPStorm Üzerinde Gerçekleştirilmesi

Symfony2 projenizin hata ayıklama işlemlerini PHPStorm IDE üzerinde yürütmek için aşağıdaki işlemleri gerçekleştirmelisiniz.

  • Tarayıcı XDebug eklentisinin yüklenmesi (Google Chrome için)
  • Geliştirme ortamında XDebug eklentisinin kurulması ve konfigüre edilmesi
  • PHPStorm IDE’nin konfigüre edilmesi
  • Uygulamada Gerekli Değişikliklerin Gerçekleştirilmesi
  • Hata Ayıklama Moduna Geçiş

Tarayıcı XDebug Eklentisinin Yüklenmesi

https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc adresini ziyaret ederek Google Chrome için XDebug eklentisinin kurulumunu gerçekleştirebilirsiniz.

Geliştirme ortamında XDebug eklentisinin kurulması ve konfigüre edilmesi

  • Aşağıdaki komutu çalıştırarak PHP için XDebug eklentisinin kurulumunu gerçekleştirin.

                $ sudo apt-get install php5-xdebug
            
  • /etc/php5/cli/conf.d/xdebug.ini isimli bir ini doesyası oluşturarak aşağıdaki içeriği kaydedin.

                xdebug.remote_enable = 1
                ;PHP-FPM 9000 portunu kullandigi icin 9009 portunu belirledik.
                xdebug.remote_port = 9009
                xdebug.idekey = PHPSTORM
            

PHPStorm IDE’nin konfigüre edilmesi

  • Run menüsünden Edit Configuration seçeneğine tıklayın.
  • Yeni bir debugger profili oluşturmak için pencerenin sol üst kısmındaki + işaretine tıklayarak açılan menüden PHP Remote Debug seçeneğine tıklayın.
  • name alanına yeni oluşturduğunuz profil için bir isim tanımlayın ve ide key (session id) alanına xdebug konfigürasyonunda xdebug.idekey için tanımladığınız PHPSTORM değerini girin.
  • Servers isimli dropdown listenin yanındaki butona basınız.
  • Symfony2 development sunucunuzu sunucu listesine eklemek için pencerenin sol üst kısmındaki + işaretine tıklayın.
  • Sağ taraftaki name alanına yeni sunucu profilinin adını, host alanına 127.0.0.1, port alanına 8000 girin ve OK butonuna basın.
  • Bir önceki penceredeki servers isimli dropdown listeden yeni tanımladığınız sunucu profilini seçin ve OK butonuna basın.
  • File menüsünden Settings seçeneğine tıklayın.
  • Sol taraftaki menü ağacından PHP -> Debug seçeneğine tıklayın. Ekranın sağ tarafındaki bölümden Debug port alanında yazan 9000 değerini daha önce xdebug konfigürasyonunda belirttiğimiz 9009 olarak girin ve OK butonuna basın.

Uygulamada Gerekli Değişikliklerin Gerçekleştirilmesi

Normal şartlar altında yüklenen sınıflar önbelleğe alındığı ve gerektiğinde buradan sağlandığı için, Symfony2nin hata ayıklama sırasında önbelleğe müracat etmesini önlemelisiniz. Bu işlemi gerçekleştirmek için web/app_dev.php dosyasında $kernel->loadClassCache(); satırının başına yorum imi eklemelisiniz.

...
$kernel = new AppKernel('dev', true);
# $kernel->loadClassCache();
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
...

Hata Ayıklama Moduna Geçiş

  • Run menüsünden Start Listen for PHP Debug Connection seçeneğine tıklayın.
  • Run menüsünden oluşturduğunuz hata ayıklama profili ile ilgili Debug “Yeni Profil Adı” seçeneğini çalıştırın.
  • Tarayıcıdan uygulamanızı çalıştırın.
  • Hata ayıklama işlemini başlatmak için adres satırın sağ tarafında yeralan gri renkli böcek şeklindeki simgeye tıklayın ve açılan menüden Debug seçeneğine tıklayın.
  • Geliştirme ortamınız artık hata ayıklama işlemi için hazır durumda. Projenizin herhangibir yerine break-point ekleyerek hata ayıklama işlemine başlayabilirsiniz.