1

ローカルの PHP 開発環境をセットアップしようとしていますが、mySQL を PDO 用に有効にするのに問題があり、このタイプのセットアップにはかなり慣れていないため、何が欠けているのかわかりません。

私はコメントを外しました:

extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo.dll
extension=php_pdo_mysql.dll

extension_dir を次のように設定します。

extension_dir = "C:\PHP\ext\"

また、libmysql.dll ファイルを Apache の Bin ディレクトリにコピーしました。正しい php.ini ファイルをチェックしていると確信しています。

phpinfo() を開くと、次のようになります。

**mysql**
Active Persistent Links  0  
Active Links  0  
Client API version  5.0.27  

Directive Local Value Master Value 
mysql.allow_persistent On On 
mysql.connect_timeout 60 60 
mysql.default_host no value no value 
mysql.default_password no value no value 
mysql.default_port no value no value 
mysql.default_socket no value no value 
mysql.default_user no value no value 
mysql.max_links Unlimited Unlimited 
mysql.max_persistent Unlimited Unlimited 
mysql.trace_mode Off Off 


**mysqli**
Client API library version  5.0.27  
Client API header version  5.0.22  
MYSQLI_SOCKET  /tmp/mysql.sock  

Directive Local Value Master Value 
mysqli.default_host no value no value 
mysqli.default_port 3306 3306 
mysqli.default_pw no value no value 
mysqli.default_socket no value no value 
mysqli.default_user no value no value 
mysqli.max_links Unlimited Unlimited 
mysqli.reconnect Off Off 

**PDO**
PDO drivers  no value  

コマンドラインで実行php.exe -mすると、次のエラーが表示されます。

PHP Warning: PHP Startup: Unable to load dynamic library 'C:\PHP\ext\php_mysql.dll' - the specified module could not be found.

上記のエラーが表示されます:

php_mysql.dll
php_pdo_mysql.dll
php_pdo.dll

sqlite を有効にすると、phpinfo() リストに問題なく表示されます。

mysql 接続を使用しているはずのページに移動すると、次のエラーが表示されます。

致命的なエラー: C:\Inetpub\wwwroot\test\connection.php:11 で「ドライバーが見つかりませんでした」というメッセージを含む例外「PDOException」がキャッチされない: #0 C:\Inetpub\wwwroot\test\connection.php(11 ): PDO->__construct('mysql:host=xxx....', 'loginname', 'password') #1 C:\Inetpub\wwwroot\test\pagename.php(18): include('C: \Inetpub\wwwr...') #2 {main} が C:\Inetpub\wwwroot\test\connection.php の 11 行目にスローされる

開発には EasyPHP を使用します。mySQL を使わなければならなくなるまで問題はありませんでした

4

2 に答える 2

0

Apache から PHP を使用することと、コマンド ラインを使用することは、2 つの異なる点です。

libmysql を apaches bin-folder に入れます。コマンドラインから php を起動する場合、そこからも libmysql にアクセスできる必要があります。PATH にある場合。

于 2013-04-26T13:31:25.650 に答える