php 无法加载mysql的module的时候的配置的解决方案引发的思考

yipeiwu_com7年前Mysql基础
之后看phpinfo() 里 确实也没找到mysql 模块, 之后所谓的解决方案如“将php.ini” 放入C:\Windows 环境变量等不靠谱说法。。。。。

甚至拷贝ext的文件夹的dll 到System32 中等

统统不靠谱 直到看到这篇帖子,我才发现问题

http://www.haosblog.com/index.php?mod=article_read&id=322

“mysql无法找到的原因是mysql的运行库无法找到,打开mysql的安装文件夹,在bin文件夹中找到libmySQL.dll,将它复制到system32文件夹中,让mysql的运行库能在系统中注册,然后重启Apache”

我是在\MySQL\MySQL Server 5.5\lib目录里找到的

实际上在自己配置的时候应该发现不是环境变量或者是没有加载到php.ini 或者没加载到extension的

为什么这么说呢

首先,在Apache 的配置中 已经添加了php的配置路径

image

同时phpinfo()也显示的加载到了,有兴趣的同学可以试试php.ini  存在和不存在的时候的区别

 

image

 

其次,自己在php.ini里确实配置了extension_dir 的,如果这个东西没意义,那何必在配置文件里有这个选项?之后这里注意一下,他的分隔符和apache 刚好相反   是“\”

image 

之后php 也顺利加载了 

 

image

所以,其实完全可以避免自己跟着瞎折腾的,结果大意了。

PHP配置成功后phpinfo中找不到mysql

不少新人使用Apache+PHP+MySql配置好PHP环境都会遇到一个问题:mysql无法使用,使用phpinfo()函数获取的信息中也找不到mysql。
网上不少资料都说要把php.ini转移到windows或者system32文件夹中,这是胡扯!如果你把php和php/ext的目录添加到了环境变量中是不需要这么设置的。这么做的原因是Apache会到默认路径中查找配置文件,而没有设置环境变量的话Apache就找不到php.ini了。你可以看看phpinfo()页面中搜索php.ini,php.ini的路径是windows那么就把PHP的路径写入环境变量中,环境变量的设置可上网查找一下,尽量不要将php.ini放入系统文件夹中,对系统盘的操作要越少越好。
mysql无法找到的原因是mysql的运行库无法找到,打开mysql的安装文件夹,在bin文件夹中找到libmySQL.dll,将它复制到system32文件夹中,让mysql的运行库能在系统中注册,然后重启Apache,打开phpinfo()页面,搜索mysql,结果如下图

    那么恭喜你,mysql已经能够正常在你的PHP中运行了。
    不少新人都会被这个问题困扰,当初我也被它困扰了很久,网上的资料都是说把php.ini复制到系统盘,可是依然无用。这里严重BS一下那些没有实际行动只会复制别人文章的人,不少错误的信息就是被他们扩散,误导了不少新人,严重鄙视!

相关文章

php+mysql实现简单的增删改查功能

列表代码 <?php $con = mysql_connect("localhost:3306","root",""); if (!$con) { d...

Mysql数据库操作类( 1127版,提供源码下载 )

Mysql.class.php 下载 复制代码 代码如下: <?php class Mysql { private $db_host; //主机地址 private $db_use...

php 攻击方法之谈php+mysql注射语句构造

一.前言:   版本信息:Okphp BBS v1.3 开源版   由于PHP和MYSQL本身得原因,PHP+MYSQL的注射要比asp困难,尤其是注射时语句的构造方面更是个难点,本文主...

PHP实现清除MySQL死连接的方法

本文实例讲述了PHP实现清除MySQL死连接的方法。分享给大家供大家参考,具体如下: 连接的情况,主要表现为有过多的Sleep连接,并且Time时间很长,占满了所有的可用连接数,以至于其...

php实现mysql备份恢复分卷处理的方法

本文实例讲述了php实现mysql备份恢复分卷处理的方法。分享给大家供大家参考。具体分析如下: 分卷处理就是把握们要处理的数据分成一个个小文件进行处理了,这里我来给大家介绍一个php m...