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

yipeiwu_com5年前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语句的实现代码

你总不可能对每一个这样的特殊字符都人工进行转义,何况你通常处理的都是表单自动提交的内容。 所以,应该使用mysql_real_escape_string函数: mysql_real_es...

PHP数据库操作之基于Mysqli的数据库操作类库

此类库简单、易用,便于你自己修改和对功能的改善,能解决大部分 PHP 项目中执行的 SQL 操作。 初步工作 首先,请大家下载这个类库 M.class.php 再下载一个 My...

php pdo连接数据库操作示例

本文实例讲述了php pdo连接数据库操作。分享给大家供大家参考,具体如下:pdo连接数据库的有点是能实现不同数据库之间的转换,而且有事务功能的回滚,更有pdo::prepare();pd...

php 无法载入mysql扩展

今天弄了一天,总算把win2003下的问题给解决了, LoadModule php5_module E:\server\php528\php5apache2_2.dll 可能有些朋友也知...

php+mysql实现无限级分类 | 树型显示分类关系

    无限级分类,主要是通过储存上级分类的id以及分类路径来实现。由于数据的结构简单,所以要将分类的关系由树状显示,我只能想到用递归的方式给于实现。  无限级...