Xdebug ile PHP Profilleme
Xdebug profillemesini etkinleştirin ve yavaş işlevleri bulmak için callgrind çıktısını analiz edin.
Xdebug ile PHP Profilleme, CoddyKit'te ücretsiz bir PHP Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, PHP Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. PHP Academy kursu toplamda 4 dersten oluşur.
Xdebug nedir?
Xdebug, hata ayıklama, kod kapsamı ve performans profili oluşturma özellikleri sağlayan bir PHP uzantısıdır. Profil oluşturucu, her işlev çağrısının ne kadar sürdüğünü ve kaç kez çağrıldığını kaydeder.
Xdebug'u Yükleme
PECL veya paket yöneticisi aracılığıyla yükleyiniz.
# Via PECL:
$ pecl install xdebug
# Via apt:
$ apt install php-xdebug
# Verify:
$ php -v | grep XdebugProfil Oluşturucuyu Etkinleştirme
Profil oluşturmayı etkinleştirmek için Xdebug'u php.ini dosyasında yapılandırınız.
# php.ini
[xdebug]
zend_extension=xdebug.so
xdebug.mode=profile
xdebug.output_dir=/tmp/xdebug
xdebug.profiler_output_name=cachegrind.out.%tTetikleyici Tabanlı Profil Oluşturma
Her isteğin profilini oluşturmak yerine, isteğe bağlı profil oluşturmak için bir tetikleyici kullanınız.
# php.ini
xdebug.mode=profile
xdebug.start_with_request=trigger
# Trigger via query parameter or cookie:
curl "https://example.com/?XDEBUG_PROFILE=1"Callgrind Çıktısı
Xdebug bir cachegrind.out.* dosyası yazar. Bu biçim, profil görselleştiricileri tarafından okunur.
KCachegrind / QCachegrind ile Analiz
Şunları görmek için callgrind dosyasını KCachegrind'de (Linux) veya QCachegrind'de (macOS/Windows) açınız: işlev çağrısı sayısı, toplam süre, öz süre ve çağrı ağacı.
WebGrind ile Analiz
WebGrind, tarayıcı tabanlı bir callgrind görüntüleyicisidir; kurulumu bir masaüstü aracından daha kolaydır.
$ docker run -p 8080:80 jokkedk/webgrind -v /tmp/xdebug:/tmpProfil Oluşturucu Çıktısını Okuma
En yüksek "Kapsamlı Maliyet" değerine sahip işlevleri (alt çağrılar dâhil toplam süre) ve "Öz Maliyet" değerine sahip işlevleri (yalnızca işlev gövdesindeki süre) inceleyiniz. Öz maliyet, gerçek darboğazı ortaya çıkarır.
Bulunan Yaygın Darboğazlar
Tipik bulgular şunlardır: N+1 veritabanı sorguları, verimsiz düzenli ifadeler, gereksiz API çağrıları, optimize edilmemiş Eloquent ilişkileri ve maliyetli görünüm oluşturma işlemleri.
Profil Oluşturma ve Hata Ayıklama Karşılaştırması
Profil oluşturma performansı ölçer (süre, çağrı sayıları). Hata ayıklama da bir Xdebug özelliğidir ve kodu incelemek için yürütmeyi kesme noktalarında duraklatır. Ayrı Xdebug kipleri kullanınız.
Alternatif Olarak Blackfire.io
Blackfire.io, gelişmiş bir kullanıcı arayüzü, sürekli tümleştirme ve performans doğrulamaları sunan ticari bir profil oluşturma aracıdır. Ekip ortamlarında ham Xdebug profil oluşturmasına kıyasla tercih edilir.
Özet
php.ini dosyasında Xdebug profil oluşturma kipini etkinleştiriniz, bir isteği tetikleyiniz ve callgrind dosyasını KCachegrind veya WebGrind'de açınız. Darboğazları bulmak için en yüksek kapsamlı ve öz maliyete sahip işlevlere odaklanınız.
Hızlı Kontrol
Bir profil oluşturucu raporunda "öz maliyet" ne anlama gelir?
Sıkça Sorulan Sorular
“Xdebug ile PHP Profilleme” dersi ücretsiz mi?
Evet — “Xdebug ile PHP Profilleme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve PHP Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. PHP Academy kursu toplamda 4 dersten oluşur.
“Xdebug ile PHP Profilleme” dersinde ne öğreneceğim?
Xdebug profillemesini etkinleştirin ve yavaş işlevleri bulmak için callgrind çıktısını analiz edin. PHP Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
PHP Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te PHP Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Xdebug ile PHP Profilleme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu PHP Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her PHP Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Xdebug ile PHP Profilleme
- OPcache: Bayt Kodu Önbellekleme
- Veritabanı Sorgularını İyileştirme
- Bellek Yönetimi ve Performans İpuçları