问题29 如何解决使用MySQL函数导致Apache(IIS)崩溃的问题?
问题阐述
本问题中所说的崩溃是在Windows下配置PHP环境时发生的。具体的表现是php运行正常,但是只要一调用MySQL的相关函数,Apache就会崩溃。
环境配置方式:
php以模块的方式运行在Apache下。运行phpinfo()函数,显示mysql库加载成功,但调用MySQL函数时则Apache崩溃,在Windows的错误日志中记录以下内容:
错误应用程序httpd.exe,版本2.2.11.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的函数无法运行。
解决方案:
将MySQL的bin目录从系统环境变量Path中移出,或者将libmysql.dll从MySQL的bin目录中移出,并且重新启动系统。
【责任编辑:云霞 TEL:(010)68476606】
点赞 0