path设置不当导致PHP无法连接数据库

系统运行得好好的,不过看不惯McAfee运行几天之后会劫持相当大内存,删之。

重启后发现drupal offsite了,提示说数据库连接问题,请检查settings.php云云。

莫名其妙,之前还运行良好,突然连接不上,应该是外部原因,不过保险起见,检查settings.php,无异样。

头大,尝试用mysql命令连接数据库,居然报告

'mysql' is not recognized as an internal or external command,
operable program or batch file.

再尝试Start菜单里面的MySQL Command Line Client,可用。

难道系统环境变量出问题,一看path,发现一堆疑似迅雷看看造成的重复路径,删之,mysql的bin路径不翼而飞,插之。

重启apache服务器,drupal 依然 off。查看apache access log,最后的启动日志里面有好几行类似于

PHP Warning: PHP Startup: Unable to load dynamic library 'D:\\Program Files\\PHP\\ext\\php_mysqli.dll' - The specified module could not be found.\r\n in Unknown on line 0

报告一堆module无法载入的警告,这些和数据库连接大有关联,大致问题确定,只是不清楚如何解决。

直觉说修改了系统环境变量,应该重启机器,光重启apache可能不够,于是重启。

重启后,发觉问题居然解决了。

原理不确定,大概是由于path设置不当,既造成mysql之类的命令找不到,又导致apache载入module失败。