PHP Ölümcül hata: web üzerinde yükledikten sonra tanımsız yöntemine çağrı

4 Cevap

I have some pages, which work fine locally(using WAMP and error_reporting E_ALL in php.ini), but once I upload them, I get the following error: Fatal error: Call to undefined method DB::exists() The method is there, and I don't know why it can't be seen.

Neyin yanlış gittiğini bir fikriniz var mı?

4 Cevap

Gibi, class DB ve DB::exists() tanımlar dosyasına bir hata ayıklama ifadesi koyarak deneyin:

echo "DB file was included\n";

Bu mesaj görünüyor mu? Değilse, o zaman dosya yöntemi bulunamadı açıklıyor, hangi dahil olmak değildir.

Bu dosya dahil almak gerekiyordu, ve bir noktada bulunur yolunu incelemektir konumunu bulun:

echo "Include path is: " . get_include_path() . "\n";

Aynı adı taşıyan başka bir dosya dahil yolunda listelenen diğer dizinleri biri var mı? Eğer öyleyse, senin yolunu include girişlerin diğer değiştirmek gerekebilir (php.ini içinde include_path ile tanımlanır, ama aynı zamanda ile zamanında düzenlenebilir hangi set_include_path())

Sunucu Armut :: DB yüklü (http://pear.php.net/package/DB/redirected). Sizin özdevinimli_yükle fonksiyon sizinki yerine Pear en DB sınıfını yükleniyor.

Eğer sunucu üzerinde kontrol varsa, böyle bir şey çalışması gerekir

$ sudo pear uninstall DB

Eğer sunucu üzerinde kontrol yoksa, başka bir şey için DB sınıfını yeniden adlandırmak gerekir ...

Kendi sınıfları sonra ARMUT sınıfları yüklemek için include_path değiştirebilir, ama bu başka adlandırma çatışmalara yol açabilir.

Resim, yöntem yoktur. Er hata mesajları güvenmeyi öğrenmek, uygulama çalışmaya erken olsun.

Muhtemelen PHP uygulama gerekli olabilir web sunucusu yüklü değil herhangi bir modül varsa php.ini görmek için yerel karşı web sunucusu php.ini yapılandırmasını kontrol etmek istiyorum.

Ayrıca, sürüm web sunucusu ve yerel PHP PHP numaralarının yanı sıra PHP sürümü sınırlamaları için web kadar kontrol olarak kontrol edin.