Sorun giderme
Bir şey çalışmadığında ilk durağınız Hata teşhisi ekranıdır. Coduva ortamınızı kontrol eder, servis günlüklerini tarar ve bulduğu sorunu sade bir dille açıklar; çoğu durumda çözümü tek düğmeyle sunar.
Hata teşhisi ekranı
- Sol menünün Sistem grubundan Hata teşhisi ekranını açın.
Ctrl+Kile açılan komut paletine "teşhis" yazarak da ulaşabilirsiniz. - Kontroller ekran açılınca kendiliğinden çalışır. Bir şeyi düzelttikten sonra yeniden denetlemek için Kontrolleri çalıştır düğmesine tıklayın.
En üstteki özet genel durumu yazar: "Ortam sağlıklı" ya da "Dikkat gerektiren 2 konu var". Altında kaç kontrolün Sorun yok, Bilgi, Uyarı ve Hata olduğu ve son çalıştırma saati görünür.
Sonuç iki bölümde görünür.
Kontroller — ortamınızın durumu. Her satır Sorun yok, Bilgi, Uyarı veya Hata olarak işaretlenir; sorunlu satırlar listenin başına gelir:
| Kontrol | Neye bakar |
|---|---|
| Visual C++ çalışma zamanı | PHP için gereken Microsoft Visual C++ 2015–2022 (x64) kurulu mu |
| Bileşen dizini yolu | C:\Coduva yolu ASCII dışı karakter içeriyor mu |
| Bileşenler | Eksik bileşen var mı |
| PHP komut satırı | PHP çalışabiliyor mu |
| Web sunucusu, veritabanı ve HTTPS portları | Portlar boş mu, engelli mi |
| hosts dosyası | Bütün proje adresleri hosts dosyasında var mı |
| Yerel sertifika otoritesi | CA Windows tarafından güvenilir mi |
| Diğer yerel sunucular | WampServer, XAMPP veya Laragon çalışıyor mu |
| Disk alanı | Bileşen diskinde yeterli boş alan var mı |
| Windows Defender | Gerçek zamanlı koruma PHP'yi yavaşlatıyor olabilir mi |
Bazı satırlar yalnızca ilgili olduğunda görünür: HTTPS portu yalnızca başka bir program 443'ü tutuyorsa, sertifika otoritesi yalnızca HTTPS kullanan bir proje varsa, diğer yerel sunucular yalnızca biri çalışıyorsa, Windows Defender yalnızca gerçek zamanlı koruma açıksa listelenir.
Sorunlu satırların yanında çözüm düğmesi görünür:
| Düğme | Ne yapar |
|---|---|
| Bileşenleri kur | Kontrol merkezini açar; kurulumu oradan başlatırsınız |
| hosts dosyasını eşitle | hosts dosyasını hemen eşitler (UAC onayı ister) ve kontrolleri yeniden çalıştırır |
| Güvenilir yap | Sertifika otoritesini güvenilenlere ekler ve kontrolleri yeniden çalıştırır |
| Portları değiştir | Ayarlar ekranını açar |
| Visual C++ indir | Microsoft'un Visual C++ kurulum paketini tarayıcıda indirir |
Günlük bulguları — Nginx, PHP, MariaDB, WordPress ve Laravel günlüklerinde tanınan hata kalıpları. Her bulgu için ne olduğu, neden olduğu, nasıl çözüleceği ve kaç kez görüldüğü yazar. Bütün kurallar için Hata teşhisi kuralları sayfasına bakın.
Sağlık raporu
Sorunu çözemediyseniz Hata teşhisi ekranının üstündeki Sağlık raporu oluştur düğmesine tıklayın (aynı komut Ctrl+K paletinde de vardır). Coduva kontrollerin, günlük bulgularının ve kurulu bileşenlerin özetini bir Markdown dosyasına yazar; düğmeyle oluşturduğunuzda dosyanın yolu bildirimde görünür ("Rapor kaydedildi: …"):
%APPDATA%\Coduva\reports\saglik-raporu-<zaman>.mdBu dosyayı destek isterken paylaşabilirsiniz. Coduva günlüklere ve olay kaydına yazdığı parola ve jeton değerlerini maskeler; yine de paylaşmadan önce dosyaya bir göz atın.
Port 80 dolu
Belirti: Nginx kartı Port dolu diyor, servis başlamıyor. Alttaki durum çubuğunda Port çakışması yazar; kenar çubuğundaki servis noktası kırmızıdır.
Kart portu kimin kullandığını yazar. En sık nedenler:
- Windows HTTP sunucusu (http.sys): IIS veya "World Wide Web Yayımlama Hizmeti" açık. IIS kullanmıyorsanız Hizmetler (
services.msc) penceresinde bu hizmeti durdurun ve başlangıç türünü El ile yapın. - WampServer, XAMPP veya Laragon: o programı kapatın.
- Başka bir program: kart program adını ve PID'ini gösterir.
Programı kapatamıyorsanız Coduva'yı başka bir porta taşıyın:
- Kontrol merkezinde Nginx'i durdurun. Servis çalışırken port alanı kilitlidir.
- Ayarlar → Ağ bölümünde Nginx HTTP portu alanına
8080yazın ve aynı satırdaki Kaydet düğmesine tıklayın. - Nginx'i başlatın.
Proje adresleri portu içerecek şekilde değişir: http://magaza.test:8080/. WordPress sitelerinde adresi ara-değiştir ile güncellemeniz gerekebilir.
Portu kimin tuttuğunu kendiniz görmek isterseniz:
Get-NetTCPConnection -LocalPort 80 -State Listen | Select-Object OwningProcess
Get-Process -Id <PID>Port 443 dolu
Belirti: HTTPS kullanan bir projeniz var ve Nginx başlamıyor; bildirimde "Port kullanımda: port 443 kullanımda" yazar. Kontrol merkezi "HTTPS portu 443 de dolu" diye uyarır.
HTTPS kullanan proje varsa Nginx başlarken 443'ün de boş olmasını ister. 0.2.0 sürümünde HTTPS portu değiştirilemez; 443'ü tutan programı (çoğunlukla IIS veya başka bir yerel sunucu) kapatın. O program gerekiyorsa projelerde HTTPS'i geçici olarak kapatın; Nginx yalnızca HTTP ile başlar. Bkz. Yerel HTTPS.
Port 3306 dolu
Belirti: MariaDB kartı Port dolu diyor; günlükte Can't start server: Bind on TCP/IP port.
Bilgisayarda başka bir MySQL veya MariaDB çalışıyor; çoğunlukla ayrı kurulmuş bir MySQL hizmeti ya da başka bir yerel sunucunun veritabanı.
- O veritabanını kullanmıyorsanız hizmetini durdurun.
- Kullanıyorsanız Ayarlar → Ağ bölümünden MariaDB portu için ör.
3307yazıp satırındaki Kaydet düğmesine tıklayın. Servis durmuşken değiştirin.
Port değişince projelerinizin bağlantı ayarlarındaki portu da güncelleyin: WordPress'te wp-config.php içindeki DB_HOST, Laravel'de .env içindeki DB_PORT.
Port engelli
Belirti: Kart Port engelli diyor: "Windows bu portu ayırmış olabilir (Hyper-V veya WSL dışlanan port aralığı)."
Hyper-V, WSL veya Docker Desktop kullanan bilgisayarlarda Windows bazı port aralıklarını kendine ayırır. Bu portlar boş görünse bile hiçbir program onları dinleyemez. Ayrılmış aralıkları görmek için:
netsh interface ipv4 show excludedportrange protocol=tcpEn basit çözüm, Ayarlar → Ağ bölümünden bu aralıkların dışında bir port seçmektir.
İleri düzey: ayrılmış aralıkları yenilemek
Bu aralıklar çoğunlukla winnat hizmeti yeniden başlatılınca değişir. Yönetici olarak açtığınız bir PowerShell penceresinde net stop winnat ve ardından net start winnat çalıştırabilirsiniz. Bu işlem WSL ve Docker ağ bağlantılarını kısa süreliğine keser.
Visual C++ eksik
Belirti: PHP çalışmıyor; kontrollerde Visual C++ çalışma zamanı veya PHP komut satırı hata veriyor; günlükte PHP Startup: Unable to load dynamic library.
PHP'nin Windows sürümleri Microsoft Visual C++ 2015–2022 (x64) çalışma zamanına bağlıdır. Kontrol satırındaki Visual C++ indir düğmesine tıklayın, paketi kurun ve Coduva'yı yeniden başlatın.
Sorun yalnızca belirli bir eklentide sürüyorsa o eklentiyi PHP ve Node ekranından kapatın.
Windows Defender yavaşlatıyor
Belirti: Sayfalar yavaş açılıyor, composer install uzun sürüyor veya "Permission denied" hatası veriyor.
Gerçek zamanlı koruma, PHP'nin okuduğu her dosyayı tarar. Binlerce küçük dosyası olan WordPress ve Laravel projelerinde bu ciddi yavaşlamaya yol açar. Bileşen dizinini ve proje klasörlerinizi dışlama listesine eklemeyi düşünün:
- Windows Güvenliği → Virüs ve tehdit koruması → Ayarları yönet bölümünü açın.
- Dışlamalar altında Dışlama ekle veya kaldır seçin.
- Klasör olarak
C:\Coduvave projelerinizi tuttuğunuz klasörü ekleyin.
Yönetici PowerShell'iyle aynı işlem:
Add-MpPreference -ExclusionPath "C:\Coduva"Dikkat
Dışlanan klasörler taranmaz. Yalnızca güvendiğiniz kodun bulunduğu klasörleri ekleyin.
Adres açılmıyor
Belirti: Tarayıcı ad.test için "Bu siteye ulaşılamıyor" diyor.
- Yerel adresler ekranını açın. Üstte "hosts dosyası projelerle eşleşmiyor." yazıyor veya projenin satırında hosts'ta yok görünüyorsa ekranın sağ üstündeki hosts dosyasını eşitle düğmesine tıklayın ve UAC onayını verin.
- Onay penceresi hiç çıkmıyor veya işlem başarısız oluyorsa bir güvenlik programı
hostsdosyasını koruyor olabilir. Programın ayarlarından Coduva'ya izin verin. - Web sunucusu 80 dışında bir portta çalışıyorsa adresi portla birlikte yazın:
http://ad.test:8080/. - Nginx'in Çalışıyor durumda olduğunu Kontrol merkezinden kontrol edin.
Coduva hosts dosyasında yalnızca kendi işaretli bölümünü değiştirir; dosyadaki diğer satırlara dokunmaz.
Tarayıcı HTTPS uyarısı veriyor
Belirti: "Bağlantınız gizli değil" veya NET::ERR_CERT_AUTHORITY_INVALID.
Coduva'nın sertifika otoritesi henüz güvenilir değil. Yerel HTTPS ekranında Güvenilir yap düğmesine tıklayın ve Windows'un güvenlik penceresine Evet deyin. Firefox kullanıyorsanız ek ayar gerekir. Bkz. Yerel HTTPS.
Servis başlıyor ama hemen kapanıyor
- Başlatma başarısız olursa sağ altta İşlem tamamlanamadı bildirimi çıkar; içinde hatanın nedeni ve servis günlüğünün son satırları yazar.
- Tepsi simgesinin sol tık menüsünden ilgili servisin hata günlüğünü açabilirsiniz.
- Kontrol merkezindeki Etkinlik akışı ve Ayarlar → Son olaylar bölümü servis başlatma, durdurma ve çökme olaylarını listeler.
- PHP süreci çökerse Coduva'nın bekçisi onu yeniden başlatır ve bunu olay kaydına "Çöken PHP süreci yeniden başlatıldı" olarak yazar. Aynı olay sürekli tekrarlanıyorsa PHP hata günlüğüne bakın.
Güncellemeden sonra
Coduva yeni bir sürüme geçtiğinde ilk açılışta Nginx, PHP ve phpMyAdmin yapılandırmasını ve localhost karşılama sayfasını yeni şablonlarla yeniden yazar (karşılama sayfasını siz düzenlediyseniz ona dokunulmaz) ve çalışan Nginx'i kesintisiz yeniden yükler; servisleri yeniden başlatmanız gerekmez.
Olay kaydında Yeni sürümün yapılandırması uygulanamadı görürseniz yeniden yükleme başarısız olmuştur ve Nginx eski yapılandırmayla çalışmaya devam eder. Kontrol merkezinde Nginx'i Yeniden başlat ile yeniden başlatın; hata sürerse Hata teşhisi ekranına bakın.
Uygulama hataları
| Mesaj | Çözüm |
|---|---|
Allowed memory size of ... exhausted | PHP ve Node → Bellek sınırı değerini artırın (ör. 1G) |
Maximum execution time of ... exceeded | Çalışma süresi değerini artırın veya uzun işi kuyruğa taşıyın |
Call to undefined function | İlgili PHP eklentisini açın |
Error establishing a database connection | MariaDB'yi başlatın; wp-config.php içinde DB_HOST değeri 127.0.0.1:<port> olmalı |
No application encryption key has been specified | Laravel araçlarından artisan key:generate |
Portların tam listesi için Portlar, bütün teşhis kuralları için Hata teşhisi kuralları sayfasına bakın. Sorunuz burada yoksa SSS sayfasına göz atın.