İnanılmaz PHP komut dizisini echo değil

6 Cevap

Ben bu içeren bir dnm.php komut dosyası var:

<?php echo 'test'; ?>

Ben tarayıcı aracılığı işaret ettiğinizde, çalışır ve beklendiği gibi "test" yazdırır.

Ben test etmek için çalışıyorum ama ancak, hepsi benim yankılanırken görmezden başka bir komut dosyası var! Ben bu kesinlikle çalışır gibi ben üstünde bir yankı hakkını vereceğini düşündüm, ama ben bir form POST isteği ile bu komut dosyası olsun. Hatta hattının üstünde ne olduğunu echo değildir:

<?php echo 'START START START';

error_reporting(E_ALL);

Hatta benim tarayıcı ve hala hiçbir çıkış işaret?

Cehennem ne oluyor?

Update

Hata günlüğü bunu gösterir:

PHP Ayrıştırma hatası: / var / www / test / convertor.php sözdizimi hatası, beklenmedik T_ECHO

Fakat yankı hattının üst kısmında yer alır. Ben diaplay hataları ayarlamak için gidiyorum.

6 Cevap

Sen bir ayrıştırma hatası var, bu yüzden komut idam bile değildir. Yani o bir şey çıktı olmaz beklenmektedir.

Ayrıştırma hatası komut herhangi bir yankı için olabilir. Çünkü örneğin bir noktalı virgül eksik bir satırdan sonra "echo" ifadesi, olabilir.

Denemek Şeyler:

  • Hata günlüğünü denetleyin
  • Başlıklarını kontrol (geri 404 geliyor?)
  • Emin görünümü-kaynak olun: sadece tarayıcıda görünmüyor
  • Yankı dışında her şeyi silin. Eğer çalışırsa kopana kadar, bir anda bir şeyler biraz geri ekleyin.
  • Bir hex editörü, komut yükleyin ve emin orada herhangi bir garip karakterler yok olun
  • Bir başka dosyada bu dosyayı dahil? Eğer öyleyse, çok diğer dosyasını kontrol edin. Çıktı tamponlama için dikkat edin.

Çıkış koyun; yankı başlangıç ​​başladıktan sonra başlar ve çalıştığını görmek. Ipuçları için apache hata günlüğüne bakın. Dosyasında PHP kod kalanını Yorum ve eğer çalışıyorsa bakın ...

GÜNCELLEME

Bazen bir tarayıcıdan yapıştırma beyaz boşluk kopyalamak zaman bu vardı - örneğin copy / Bir web sayfasından bazı kod yapıştırırken. Bazen garip kontrol karakterleri beyaz uzayda görünmez gömülü, ve ben boşluk silme ve yeniden girerek onu giderdiği bulmak olsun. Bu dosyanın içine yapıştırın şey duydun mu?

Eğer yüklü PHP ile bir sunucuda bu sayfayı hosting var mı?

Eğer sadece bir yerde sabit diskinizde bir. Php dosyası var ve bir web tarayıcısında açarsanız, bu iş olmaz. PHP uzantıları ile bir web sunucusu çalıştıran gereken ve HTTP veya HTTPS protokollerini kullanarak dosya erişim.

Buna benzer bir not i onlar windows üzerinde geliştiriciler gelmiş ne zaman (ben linux üzerinde değilim) bu gibi hataları atmak komut çok gördük.

Ben php dosyasının başlangıcına gitmek zorunda ve çalıştırılacağını önce bazı görünmez karakterleri kurtulmak için birkaç kez silmek çarptı.

Sonunu kaçırıyorsun?>

<?php 
   echo 'START START START';
   error_reporting(E_ALL);
?>