[Çözüldü] PHP hatalarımı görememe

Başlatan MuhammedOzby, 04 Eylül 2016 - 12:41:40

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

MuhammedOzby

PHP 7 sürümünü kullanıyorum bi sayfada hata var ama php.ini den

display_error = On
log_errors = On


yapıp sayfaya bunu :

error_reporting(E_ALL);
ini_set("display_errors", 1);


eklememe rağmen hatalarımı göremiyorum sayfadaki tüm kodlar ise bu :

<?php
error_reporting
(E_ALL);
ini_set("display_errors"1);


  require(
"bagsql.php");

  
$kul_adi    $_POST['kadi'];
  
$sifre      $_POST['sifre'];
  
$siftek     $_POST['sifretekrar'];
  
$mail       $_POST['mail'];

  
// Boş alan kontrolü
  
if (($kul_adi=="")||($sifre=="")||($siftek=="")||($mail=="")){
    echo 
'<script type="text/javascript">alert("Boş bıraktığınız kısımlar var.");</script>';
    echo 
'<meta http-equiv="refresh" content="0;URL=kayit.php">';
  }
  
// Şifreler uyuşmasını kontrol ediyoruz.
  
elseif ($sifre != $siftek) {
    echo 
'<script type="text/javascript">alert("Şifreler uyuşmuyor!");</script>';
    echo 
'<meta http-equiv="refresh" content="0;URL=kayit.php">';
  }
  
// Her şey tamam ise bilgieri MySql tablomuza yolluyoruz.
  
else {
    
$kyt_query mysqli_query ($baglan"INSERT INTO uyeler (kulladi,kullsifre,mail) VALUES ('$kul_adi','$sifre','$mail')");
    echo 
'<script type="text/javascript">alert("Kayıt işleminiz başarıyla gerçekleşti");</script>';
    echo 
'<meta http-equiv="refresh" content="0;URL=index.php">';
  }
}
 
?>



Bu arada bagsql.php sayfası hatasız çalışıyor. MySqli kullandım. O değil ama önemli olan, hatalarımı nasıl görebilirim?

lnxdev

Kullandığın sunucu servisini yeniden başlattın mı ? Sıkıntı olmaması lazım normal php içerisinden de ini_set fonksiyonunu kullanmışsın. Hata gelmiyor peki boş sayfa mı geliyor ?

MuhammedOzby

Yeniden başlattım :
sudo /etc/init.d/apache2 restart


Şöyle bir sayfa :

127.0.0.1 sayfası çalışmıyor

127.0.0.1 şu anda bu isteği işleme alamıyor.
HTTP ERROR 500

bugra9

Aslında php dosyasının başına

error_reporting(E_ALL);
ini_set("display_errors", 1);

satırlarını ekleyince tüm hataları basar. Ama burada senin yaşadığın sorun daha bu satırlar okunmadan hata almış olman. Yani burada eklediğin fazladan bir küme parantezi metinin parçalanmasında sorun yaratıyor bu da derlenip çalıştırılmasına ve hataları gösterme kodunun işletilmesine izin vermiyor.

Bu hataları iki türlü görebilirsin. Ya komut satırından
php -l phpDosyası.php
komutuyla söz dizimini kontrol ettirir ve hatayı söylemesini istersin ya da php.ini dosyasından hata gösterimini açabilirsin ki bunu pek tavsiye etmem.

Kendin php.ini dosyasından açtığını söylemişsin ama açıldığını kontrol ettin mi?
Kontrol etmek için boş bir php dosyasına

<?php
phpinfo
();
?>


yaz ve çalıştır. Daha sonra display_errors satırını arat ve "Master Value" alanında "On" yazıyorsa açmışsın, yazmıyorsa açamamışsın demektir.

Eğer açılmadıysa bir yerde yanlış yapmışsın demektir.
- Doğru php.ini dosyasını düzenlememiş olabilirsin. Doğru dosyanın adresine phpinfo sayfasından bakabilirsin.
- display_errors = On yazarken bir yazım yanlışı yapmış olabilirsin.
- display_errors tanımlaması birden fazla yapılmış ve başka bir tanım senin tanımını eziyor olabilir.
- Servisi yeniden başlatmamışındır.

MuhammedOzby

Dediğin gibi

display_errors   Off   Off

display_errors = On


yazılı ama sistemi

sudo /etc/init.d/apache2 restart


başlatmama rağmen aynı.

Birde şu var gedit ile değişince yazıyor kaydederken de :

** (gedit:4636): WARNING **: Set document metadata failed: Öznitelik metadata::gedit-position ataması desteklenmiyor


bugra9

İki durumun doğruluğunu denemişsiniz. Peki diğer iki durum sağlanıyor mu?
Alıntı Yap
- Doğru php.ini dosyasını düzenlememiş olabilirsin. Doğru dosyanın adresine phpinfo sayfasından bakabilirsin.
- display_errors tanımlaması birden fazla yapılmış ve başka bir tanım senin tanımını eziyor olabilir.

Açıkçası php.ini dosyasında display_errors = Off şeklinde bir tanım daha olduğunu ve bu tanımın senin yaptığın tanımı ezdiğini düşünüyorum. Kontrol edebilir misin?

MuhammedOzby

Tamamdır sonunda düzelttim php.ini dosyasında

display_errors = On

değişmiyordu. Yazma izni verip editör ile değiştim ve dosyaya


  error_reporting(E_ALL);
  ini_set("display_errors", 1);


ekleyince gözüktü. Syntax hataları için ise editöre eklenti kurdum tamam oldu.

Yardımlarınız için sağolun.

bugra9

Rica ederim. Etiket için teşekkürler.