这个问题是在Windows下配置PHP环境时发生的。
具体的表现是php运行正常,但是只要一调用MySql的相关函数,Apache就会崩溃掉。
环境配置方式:
php以模块的方式运行在Apache下。自定义php.ini路径
phpinfo()显示mysql库加载成功
崩溃后在Windows的错误日志中会留下以下内容:
错误应用程序 httpd.exe,版本 2.2.14.0,错误模块 php5ts.dll,版本 5.2.10.10,错误地址 0x0000ac6a。
原因如下:
在安装MySql的时候在配置设定时把MySql的Bin目录放到了系统环境变量Path中。而Bin目录中正好有一个libmysql.dll的库。
而php在加载mysql库的时候会搜索系统环境变量Path每一个目录寻找libmysql.dll,由于mysql的bin目录也在其中,那么php就先把mysql的libmysql.dll加载了。所以就会由于库的兼容问题导致mysql的函数无法运行。
解决方案:
1.将mysql的bin目录从系统环境变量Path中移出或将libmysql.dll从MySql的bin目录中移出。
2.重起系统