网上查了很多资料都没用,经过各种测试,还是用一个看似很弱智的方法解决了问题。
问题描述:
初始PHP和Apache都安装在D:/Program Files/目录下
在httpd.conf中加入如下配置,用于加载PHP模块:
LoadModule php5_module "D:/PHP/php5apache2_2.dll"
PHPIniDir "D:/PHP/" #该语句始终无法执行,添加后Apache无法启动,错误日志也看不出问题。
不添加该配置语句会导致Apache无法读取php.ini文件,也就没法加载php访问mysql的dll文件,使php程序无法访问mysql数据库。
问题解决:
尝试了很多方法,最后更改了PHP安装路径解决了问题,把PHP安装在Apache根目录下,终于成功读取了php.ini文件,并加载了Mysql动态链接库。
LoadModule php5_module "D:/Program Files/Apache Software Foundation/Apache2.2/PHP/php5apache2_2.dll"
PHPIniDir "D:/Program Files/Apache Software Foundation/Apache2.2/PHP/"
分析:
该问题可能和Windows Server的文件权限设置有关,看来有空得研究一下Window Server下Apache读取文件权限的问题。
之前用IIS + PHP + MySQL没啥问题,PHP装在哪都行,看来还是LAMP比较保险,Windows下还是IIS得了。