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

yipeiwu_com6年前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+mysql开发的最简单在线题库(在线做题系统)完整案例

本文实例讲述了php+mysql开发的最简单在线题库。分享给大家供大家参考,具体如下: 题库,对于教育机构,学校,在线教育,是很有必要的,网上也有不少的第三方在线题库系统,但是本次案例,...

PHP源码之 ext/mysql扩展部分

我写过一个外部模块扩展,现在开始看PHP源码中的mysql扩展,它是可以被集成到PHP内部的,所以应该算是内置的扩展了。 该扩展需要用到mysql数据库提供的一些接口,所以需要安装了my...

How do I change MySQL timezone?

However, there are ways for you to get results t...

使用PHP连接多种数据库的实现代码(mysql,access,sqlserver,Oracle)

1、PHP连接MYSQL数据库的代码 <?php $mysql_server_name='localhost'; //改成自己的mysql数据库服务器 $mys...

Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法

03年的时候就看过一本php的书,那时还是php3,回首四年php的在web开的的前景真还是一片光明啊!三年不见的php在去看已到了php5了,现在算起我真正从写第一个php的WEB开始...