Php ile debugging

20
PHP uygulamalarında hata ayıklama yöntemleri Volkan Altan @volkanaltan TEMMUZ’13 - PHPIST Friday, July 5, 13

description

PHP uygulamalarında hata ayıklama yöntemleri. Video: http://www.paylas.com/video/istanbul-php-konferansi--volkan-altan

Transcript of Php ile debugging

Page 1: Php ile debugging

PHP uygulamalarında hata ayıklama yöntemleri

Volkan Altan

@volkanaltan TEMMUZ’13 - PHPIST

Friday, July 5, 13

Page 2: Php ile debugging

Bugün ne yapacağız?• Neye benziyor?

• Yazılım geliştirme süreçlerinde debugging

• Neden debugging?

• Araçlar

• Ayarlar

• Demo

Friday, July 5, 13

Page 3: Php ile debugging

Neye benziyor?

Hommer ‘ın boynunda breakpoint olduğunu hayal edin. Yiyeceğin her ilerleyişini amcanın takip ettiğini düşünün.

Friday, July 5, 13

Page 4: Php ile debugging

Yazılım geliştirme süreçlerinde debugging

• Yazılım geliştirme döngüsünde önemli bir süreçtir. Zayıflıkları, hataları ve kodun nasıl çalıştığını keşfetmenin bir yoludur.

• Sadece ihtiyacınız olduğunda aktif hâle getirirsiniz.

• Çoğu programlama ortamında dahili olarak mevcuttur. Kullanımı çok kolaydır. ( Başla, İlerle, Dur)

Nelere çözüm üretiyoruz?

Friday, July 5, 13

Page 5: Php ile debugging

Neden Debugging?• Büyük projelerde iş akışlarının takibini kolayca

yapın.bir işlemin yaşam döngüsünü izleyin.

• Uygulamada beklenmeyen davranışları keşfedin ve düzeltin.

karşılaştığınız hataların detayına inin!

• Dışarıdan aldığınız modüllerin nasıl çalıştığını keşfedin (magento, drupal, wordpress).

şifreli bir şekilde satın aldığınız modüllerin neler yaptığını merak etmiyor musunuz?

Friday, July 5, 13

Page 6: Php ile debugging

Neden Debugging?

Sorunlar üste üste geliyor, peki çözümü?

Friday, July 5, 13

Page 7: Php ile debugging

Araçlar• Dâhili

• echo• var_dump• print_r

• Harici• Zend debugger• Xdebug• DBG• Advanced PHP

Debugger (APD)

• PECL APD

PHP dâhili debugger içermemektedir. O nedenle eklenti olarak aktif edilmeli.

• Loglama• firePHP• formaldehyde• frameworklerin araçları

• İzleme• sistem araçları

Friday, July 5, 13

Page 8: Php ile debugging

Klasik PHPdisplay_errors = Onerror_reporting = E_ALL

Friday, July 5, 13

Page 9: Php ile debugging

Xdebugzend_extension="xdebug.so"xdebug.remote_enable=1xdebug.idekey="xdebug"xdebug.collect_params=4

xdebug.scream ?

Friday, July 5, 13

Page 10: Php ile debugging

http://debugging-mag.local/?XDEBUG_SESSION_START=xdebug

Hayat debugging yapana güzel!

Friday, July 5, 13

Page 11: Php ile debugging

Debugging

Neler yapabilirsiniz?

Friday, July 5, 13

Page 12: Php ile debugging

İzlemesudo iosnoop -an httpdhttp://debugging-mag.local/index.php/

Diskimizde neler oluyor? Bu isteği tekrar edelim!

Friday, July 5, 13

Page 13: Php ile debugging

İzlemehttp://debugging-mag.local/index.php/

Sizce ne değişti?

Friday, July 5, 13

Page 14: Php ile debugging

İzlemesudo opensnoop -an httpdhttp://debugging-mag.local/index.php/

Erişilen dosyalar...

Friday, July 5, 13

Page 15: Php ile debugging

İzlemehttp://localhost/info.php

info.php ancak bu kadar erişim yapabiliyor...

Friday, July 5, 13

Page 16: Php ile debugging

İzleme

http://localhost/debugging/curl.php

sudo soconnect_mac.d|grep httpd

İçerde neler oluyor?

Friday, July 5, 13

Page 17: Php ile debugging

Genel Kültür• Profiling (qcachegrind, webgrind ile güzel)

• PHP Unit

• Simple Test

• Selenium

• JMeter

• Ab

• Wireshark

Friday, July 5, 13

Page 18: Php ile debugging

Muhafız Demo

Friday, July 5, 13

Page 20: Php ile debugging

Sorular

Friday, July 5, 13