php.ini dosyası "extension = php_pdo_mysql.dll" işaretli

5 Cevap php

Ben uzantıları etkin php.ini dosyasını kontrol ettik:

extension=php_pdf.dll
extension=php_pdo.dll
extension=php_pdo_firebird.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll

i sayfasını açmaya çalıştığınızda ama yine de hata veriyor

500 | Internal Server Error | PropelException Unable to open PDO connection [wrapped: could not find driver]

Şimdi ne yapmam gerekiyor? Bu hatayı ortadan kaldırmak için

teşekkürler

5 Cevap

  • Gerçekten ihtiyacınız PDO'nun sürücü öğrenin (MySQL, MS SQL ...?)

  • Başka hataları önlemek için, PDO kendinizi nesnelleştirilmesiyle Testi:

    $db = new PDO('mysql:host=127.0.0.1;dbname=testdb', 'username', 'password');

Eğer hala "sürücü bulamadı" alırsanız, şimdi size gerçekten eksik emin olabilirsiniz :)

Eğer zaten yoksa, yüklemek için nasıl, sisteminizde bir çok bağlıdır. Debian Linux üzerinde, örneğin, mysql, mysqli ve pdo_mysql uzantıları yükler ki, apt-get install php5-mysql yapmanız gerekir.

Yükledikten sonra, php.ini etkin oluyor emin olun. web sunucunuz tarafından kullanılan bir - correct dosyayı düzenlerken emin olun.

Daha sonra, uzatma doğru yüklendiğini doğrulamak, birine:

  • yürüten bir komut dosyası oluşturmak phpinfo(). Bu önemli bir PDO drivers ile PDO bölümünü ve "mysql, pgsql" olarak bir değer olması veya gerektiği

  • Komut satırından php -m çalıştırın ve örneğin pdo_mysql görmelisiniz.

Onlar benim php dizinde en az ama elimden bu kadar uzun zaman önce yüklü - uzantısı dizinde php_pdo_mysql.dll varsayılan olarak (bence php dizininde olduğu libmysql.dll veya mysql.dll yüklemeye çalışıyor olabilir Onları orada kopyalanmış eğer onlar) varsayılan olarak vardı veya 't hatırlıyorum. Php dizin PATH değilse bu son dll bulundu ve hataya neden olmayacaktır.

Ben libmysql.dll ve / veya mysql.dll php dizinde olduğunu kontrol öneririz. Eğer öyleyse, sisteminizin PATH için php dizin eklemek ve REBOOT bilgisayar. Ben, aynı problem vardı sistemin yolunu php dizini eklendi, restarted Apache ve sorun çözüldü değildi. Apache / PHP php dizininde dll bulur önce bilgisayarınızı yeniden başlatmanız gerekli.

Alternatif (o Windows dizini ya da belki Pencere \ System32 dizini) libmysql.dll kopyalamak ve varsayılan olarak aranır bir dizine mysql.dll etmektir. Php_pdo_mysql.dll yüklendiğinde daha sonra bağımlı DLL dosyaları bulmak mümkün olacak.

Bu iki dll php dizinde değilse, MySQL yükleyip deneyin. Dosyaları benim MySQL yükleyiciyi arasında Siz bu DLL dosyaları bulabilirsiniz.

Apache kullanıyorsanız o php_pdo_mysql.dll yükleyemediğinizi hata günlüğüne rapor edilmelidir. Eğer değilse, belki de başlangıç ​​up diğer bazı hata rapor veriyor. Tanı için belki faydalı günlükten hataları Gönderme.

Umarım bu yardımcı olur.

Php.ini içindeki uzantıları yüklenirken bir sorun olup olmadığını kontrol etmek aşağıdaki ayarlayın.

display_startup_errors = On
  • Ben DLL php / ext / dizininde ve düzgün ayarlanmış olan php yolu rağmen olmasına rağmen, ben uzantısı mutlak yolunu belirtmek zorunda geçmişte sorunlar yaşadım.

  • Uzantı yüklenirken bir sorun olmadığını görmek için Apache hata günlüklerini denetleyin

Eğer komut satırı ile çalışıyor musunuz?

Genellikle tarayıcıda komut satırı ve PHP farklı php.ini dosyalarını kullanabilirsiniz.

Use phpinfo() to check the modules included on the borwser Use PHP -m to see the modules installed via the CLI