Ölümcül hata: Class 'mysqli' bulunamadı

7 Cevap php

I am doing a tutorial and getting this error: Fatal error: Class 'MySQLi' not found (LONG URL) on line 8 the code on line 8 is:

$mysqli = new MySQLi($db_server, $db_user, $db_pass, $db_name) or die(mysqli_error());

Birisi (benim PHPInfo de açık olup olmadığını görmek için dedi çevrimiçi gördüm) ama orada listelenen şey "mysqli'nin" için altında yoktu.

Ayrıca, PHP Sürüm 5.2.5 çalıştırıyorum

Herhangi bir yardım mutluluk duyacağız. Teşekkürler!

7 Cevap

Sadece için install MySQLi gerekir gibi geliyor.

Eğer o yapılır ve hala bir sorun var düşünüyorsanız, işletim sistemi ve yardımcı olabilecek başka bir şey gönderin.

Sen mysqli kütüphaneleri bu kodu yürütülerek mevcut olup olmadığını kontrol edebilirsiniz:

if (!function_exists('mysqli_init') && !extension_loaded('mysqli')) {
    echo 'We don\'t have mysqli!!!';
} else {
    echo 'Phew we have it!';
}

Yılında php_mysqli.ddl uzantısı uncommenting ek olarak php.ini, ayrıca php.ini olarak extension_dir direktifini yorumsuz ve konumu belirtin:

extension_dir = "C:\software\php\dist\ext"

Bu benim için çalışma yaptı.

Yüklemenizde bir sorun gibi görünüyor.

  • Eğer mysqli yüklediniz mi?
  • Php.ini içinde aktif ettiniz mi?

http://www.php.net/manual/en/mysqli.installation.php

Eğer ubuntu üzerinde iseniz, çalıştırmak

 sudo apt-get install php5-mysqlnd

Bir handwritten MYSQLi Class kullanabilirsiniz. Yani mysqli yüklemeniz gerekmez. Eğer sunucu sahibi dont eğer tek çözüm bu.

(Gentoo gibi) bazı dağılımlar php birden çok yüklemesini desteklemek ve mysqli yüklenmiş ve etkinleştirilmiş olan birini kullandığınızdan emin olmak gerekir.

Gentoo, ben (etkin mysqli USE bayrağı ile) yeni bir php yüklü ama php yeni sürümünü (eski bir mysqli eksik olmalıdır beri) etkinleştirmek için gerekli olan:

# eselect php list apache2
  [1]   php5.3 *
  [2]   php5.5 
# eselect php set apache2 2
You have to run `/etc/init.d/apache2 restart' for the changes to take effect
# /etc/init.d/apache2 restart