<?php
 
 $dbms = 'mysql';
 $dbName = 'db_mrbook';
 $user = 'root';
 $pwd = '111';
 $host = 'localhost';
 $dsn = "$dbms:host = $host;dbname = $dbName";
 try{
 $pdo = new PDO($dsn,$user,$pwd);
 echo "PDO链接数据库成功";
 }catch(Exception $e){
 echo $e->getMessage()."<br>";
 }
?>
运行时显示could not find driver
修改了php.ini.dist和php.ini.recommended中的扩展,去掉了extension=php_mysql.dll、extension=php_pdo.dll和extension=php_pdo_mysql.dll前面的分号,重启了Apache,还是同样的错误,请大大帮帮忙阿

解决方案 »

  1.   

    phpinfo() 看看是否加载成功
      

  2.   

    看看phpinfo()中的load configure file ,看看加载的是那个php.ini文件
      

  3.   

    info中显示的,php support:PDO drivers 和enabled:sqlite, sqlite2 这样是加载了吗
      

  4.   

    显示的是C:\Windows\php.ini ,可是我是把php装在D盘的啊
      

  5.   

    这样就可以了PDO
    PDO support enabled 
    PDO drivers  mysql, odbc, sqlite  pdo_mysql
    PDO Driver for MySQL enabled 
    Client API version  mysqlnd 5.0.8-dev - 20102224 - $Revision: 308673 $  PDO_ODBC
    PDO Driver for ODBC (Win32) enabled 
    ODBC Connection Pooling  Enabled, strict matching  pdo_sqlite
    PDO Driver for SQLite 3.x enabled 
    SQLite Library  3.7.4  
      

  6.   

    Configuration File (php.ini) Path  C:\WINDOWS  
    Loaded Configuration File  D:\AMP\php536\php.ini  
      

  7.   

    这个php里面默认打开了extension=php_pdo.dll,我有去掉了extension=php_pdo_mysql.dll前面的分号,重启之后还是这样的错误
      

  8.   

    我用的是AppServ,都是弄好的,在info中找不到你说的这些啊
      

  9.   

    你改的php.ini 是否是 Loaded Configuration File 对应的php.ini
      

  10.   

    phpinfo()的结果要像#5那样子才可以,否则你要再仔细核对修改的步骤。
    如果确认无误还是这样子,那么看看apache的错误日志有没有提供有用的信息
      

  11.   

    问题解决了,是扩展目录ext的目录没有指定正确,感谢楼上所有的朋友,谢谢你们了