4

拡張機能が有効になっているphp.iniファイルを確認しました。

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

それでもページを開こうとするとエラーが発生します

500 | 内部サーバーエラー| PropelException PDO接続を開くことができません[ラップ:ドライバーが見つかりませんでした]

私は今何をする必要がありますか?このエラーを排除するには

ありがとう

4

5 に答える 5

1

拡張ディレクトリのphp_pdo_mysql.dllは、デフォルトでphpディレクトリにあるlibmysql.dllまたはmysql.dllを読み込もうとしている可能性があります(少なくとも私のphpディレクトリにあると思いますが、ずっと前にインストールしました。それらがデフォルトでそこにあったのか、それとも私がそこにコピーしたのかを覚えていません)。phpディレクトリがPATHにない場合、これらの後者のdllは見つからず、エラーが発生します。

libmysql.dllやmysql.dllがphpディレクトリにあることを確認することをお勧めします。その場合は、phpディレクトリをシステムのPATHに追加し、コンピュータを再起動します。同じ問題が発生し、システムのパスにphpディレクトリを追加し、Apacheを再起動しましたが、問題は解決しませんでした。Apache / PHPがphpディレクトリでdllを見つける前に、再起動する必要がありました。

別の方法は、libmysql.dllとmysql.dllをデフォルトで検索されるディレクトリ(WindowsディレクトリまたはWindow \ System32ディレクトリ)にコピーすることです。php_pdo_mysql.dllがロードされると、依存するdllを見つけることができます。

これらの2つのdllがphpディレクトリにない場合は、MySQLをダウンロードしてインストールしてみてください。これらのdllは、MySQLインストーラーにインストールされているファイルの中にあります。

Apacheを使用している場合は、php_pdo_mysql.dllをロードできないことをエラーログに報告する必要があります。そうでない場合は、起動時に他のエラーが報告されている可能性があります。ログからエラーを投稿すると、診断に役立つ場合があります。

お役に立てれば。

于 2009-04-07T12:23:46.417 に答える
0
  • 過去に、DLLがphp / ext /ディレクトリにあり、phpパスが適切に設定されているにもかかわらず、拡張機能への絶対パスを指定する必要があるという問題がありました。

  • Apacheエラーログをチェックして、拡張機能のロードに問題があったかどうかを確認します

于 2009-04-07T17:51:49.013 に答える
0

php.ini で次のように設定して、拡張機能の読み込みに問題があるかどうかを確認します。

display_startup_errors = On
于 2009-04-07T09:18:03.320 に答える
0

コマンドラインで作業していますか?

多くの場合、コマンド ラインとブラウザーの PHP は、異なる PHP.ini ファイルを使用します。

phpinfo() を使用して、ブラウザに含まれるモジュールを確認します PHP -m を使用して、CLI 経由でインストールされたモジュールを確認します

于 2009-07-08T14:05:22.530 に答える