环境:XP SP3+PHP5.2+mysql5.0+apache2.2+phpmyadmin3.2问题:phpinfo()显现结果中,MySQL支持正常,准确显示了版本号,但是,打开http://localhost/phpmyadmin时,提示:MySQL 返回:无法连接:无效的设置。无法加载 mysql 扩展,请检查您的 PHP 配置。配置情况:
1.PHP:INI文件已经复制到windows目录下;
       PHP文件夹下所有驱动已经全部复制到system32目录下;
       extension_dir修改为./php/ext/
       INI文件中所有扩展模块全部打开支持(分号全部去掉了)
       PHP目录下INI文件与windows下的一样
       系统环境变量中添加了.php和.php/ext2.apache:LoadModule php5_module "e:/php/php5apache2_2.dll"
          LoadModule php5_module "e:/php/php5apache2.dll"
          LoadFile "e:/php/libmysql.dll"
          DocumentRoot 也已修改为设定目录
          PHPIniDir "C:/windows"
          ScriptAlias /php/ "e:/php/"
          AddType application/x-httpd-php .php
          Action application/x-httpd-php "e:/php/php.exe"
总之,该改的全改了,运行也正常,打开测试页面,无问题。3.phpmyadmin:
            $cfg['Servers'][$i]['host'] = 'localhost';
            $cfg['Servers'][$i]['connect_type'] = 'tcp';
            $cfg['Servers'][$i]['extension'] = 'mysql';
            $cfg['Servers'][$i]['auth_type'] = 'config';
            $cfg['Servers'][$i]['user'] = 'root';
            $cfg['Servers'][$i]['password'] = '';
            $cfg['DefaultLang'] = 'gb2312';4.MySQL:Navicat8.0测试正常使用
各位大侠,小弟已经把脑袋都想破了,实在找不出毛病了,这是第二次重装了,就是死活不能用数据库,其它都没毛病,恳请高人们不吝赐教,小弟感激涕零,必有重谢!

解决方案 »

  1.   

    php.ini中
    ;extension=php_mysql.dll前面的分号去掉了吗?
      

  2.   

    首先要确保你的mysql服务运行正常,其次,查看一下phpMyAdmin 的 config 文件 的 mysql 登录用户名和密码是否正确。
      

  3.   

    在系统环境变量Path添加PHP的路径,应该是libmysql.dll没有找到的原因。
      

  4.   

    然后看防火墙设置,再有是phpMyAdmin的版本问题。更换个版本试试。
      

  5.   

    估计是php.ini里php_mysql.dll扩展没去掉分号,未启用mysql扩展!
      

  6.   

    大家帮我分析的原因我都看过了,就是因为那些问题我都注意了,才实在想不出毛病出在哪里了,用IIS也出现这个问题,是不是版本的问题呢?
    PHP中的所有模块全部开启,分号全部去掉了。
    MySQL运行正常
    用phpinfo()的测试结果显示已经连接到了MySQL,下面是test出来的结果,大家看看
    MysqlISupport               enabled 
    Client API library version  5.0.37  
    Client API header version   5.0.36  
    MYSQLI_SOCKET               /tmp/mysql.sock  Directive                     Local Value         Master Value 
    mysqli.default_host           localhost           localhost 
    mysqli.default_port           3306                3306 
    mysqli.default_pw             no value            no value 
    mysqli.default_socket         no value            no value 
    mysqli.default_user           root                root 
    mysqli.max_links              Unlimited           Unlimited 
    mysqli.reconnect              Off                 Off 期待大家继续关注,感激不尽呀
      

  7.   

    ext下的libmysql.dll扔到apache/bin下或者system32下了?
      

  8.   

    你还是没支持mysql扩展,你的信息全是mysqli的,如果支持mysql应该有单独的mysql块信息,比如我的。mysql
    MySQL Support enabled
    Active Persistent Links  0
    Active Links  0
    Client API version  5.0.20Directive 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
      

  9.   

    看看phpinfo()下面有没有这个关于mysql的截图,再顺便问一下,你的phpmyadmin目录放在哪里的,我以前也遇到这样的情况,要放在php网站目录下面!
      

  10.   


    这个我没见过,可是我分明已经把extension=php_mysql.dll前的冒号已经取消了啊,不但这个冒号,我所有冒号都取消了,还是不行,这是为什么呢?
      

  11.   

    这个你确认了吗?记得重启apache
      

  12.   

    我不装phpmyadmin了,反正PHP可以找到MySQL,气死我了!