今天启动php环境时,发现mysql模块功能不能使用,网站返回500错误。查看了下apache下错误日志。发现下面一段错误信息:
PHP Warning: PHP Startup: Unable to load dynamic library 'D:/wwwserver/php/ext//php_mysql.dll' - /xd5/xd2/xb2/xbb/xb5/xbd/xd6/xb8/xb6/xa8/xb5/xc4/xc4/xa3/xbf/xe9/xa1/xa3/r/n in Unknown on line 0
这说明php没有成功加载php_mysql.dll这个文件
首先要确保php配置文件php.ini中extension_dir值填写正确,最好使用绝对地址。
如
extension_dir = "D:/wwwserver/php/ext"
如果其他dll加载成功,而php_mysql.dll、php_mysqli.dll加载未成功。
则按下面两种方法解决:
(1)、将php目录下libmysql.dll复制到apache目录下bin子目录中
(2)、apache配置文件httpd.conf 加上下面一段话
LoadFile "D:/wwwserver/php/libmysql.dll"
ps:上面代码LoadFile "D:/wwwserver/php/libmysql.dll" 其中"D:/wwwserver/php/"为php的目录
ps:重启过后还是不行,可能就是版本的问题了,如apache下不要使用vc9版本php。新手就建议下个一键安装包
附另一解决办法
apache下
比如我的apache装在D盘,目录是D:/severs/apache
PHP的目录是D:/servers/php5
这样,把D:/servers/php5/libmysql.dll拷贝到D:/servers/apache/bin这个目录下面
重启apache,问题迎刃而解!~~
iis下:
将php目录下的libmysql.dll复制到c:/windows/system32/目录里面,然后重启iis即可。如果提示正在使用,可以先停止iis(iisreset /stop)即可
当然提示其它dll文件也是一样的解决方法,一般情况下是先检查php目录权限,一般everyone读取,浏览 运行即可。