【已解决】运行wp-admin/install.php去安装wordpress,出错:您的 PHP 似乎没有安装运行 WordPress 所必需的 MySQL 扩展。
【背景】
win7,64位下,安装好了httpd-2.2.19-win64,php-5.3.6-Win32-VC9-x64,MySQL Server 5.5,
可以正常运行localhost和phpinfo,可以显示php信息了。
想要去安装介绍,运行:
http://localhost/wp-admin/install.php
去安装wordpress,结果出错:
您的 PHP 似乎没有安装运行 WordPress 所必需的 MySQL 扩展。
【解决过程】
1.参考这里:http://zhidao.baidu.com/question/159724446.html,去确认了,我已经开启了mysql和mysqli:
extension=php_mysql.dll
extension=php_mysqli.dll
2.根据这里:百度快照,却把PHP的安装路径:
D:tmpWordPressDevRootphp-5.3.6-Win32-VC9-x64
和其下的ext路径:
D:tmpWordPressDevRootphp-5.3.6-Win32-VC9-x64ext
都添加到Path环境变量中去了。
结果问题依旧。
3.添加了环境变量后,重启了apache,也还是没用。
4.网上此人:
http://hi.baidu.com/zsjmyy002/blog/item/7bd7caff82e81ec2f3d38524.html
是通过安装php5-mysql来解决此问题的。
看起来,像是对应着windows此处中php安装目录下ext下的php_mysql.dll或php_mysqli.dll,上面也已经说了,都已经开启了。所以应该可以正常运行才对。
5.参考这里:http://zhidao.baidu.com/question/180575133.html,去把php_mysql.dll拷贝到system32下面,也没解决。
倒是看到1楼回复,
今天在机器上搭建apache+php+mysql测试环境后安装wordpress出现“您的 PHP 似乎没有安装运行 WordPress 必须的 MySQL 拓展。”的提示。但明明extension=php_mysql.dll已经开启,环境变量也全部设置好了,怎么会出现这个问题呢。百思不得其解,搜索也找不到答案。后来来无疑中发现在PHP配置文件php.ini中的extension_dir参数,其说明为”; Directory in which the loadable extensions (modules) reside.”,大意就是模块的位置,默认是extension_dir=”./”改为extension_dir=”ext/”后wordpress正常安装. |
去把php.ini中的扩展所在文件夹:
; On windows: ; extension_dir = “ext” |
打开了,改为:
; On windows: extension_dir = “ext” |
即告诉PHP其扩展dll所在位置,然后就解决问题了。
运行:
http://localhost/wp-admin/install.php
就出现安装界面了。
终于大功告成了。
【总结】
如果运行wp-admin/install.php去安装wordpress,出现错误“您的 PHP 似乎没有安装运行 WordPress 所必需的 MySQL 扩展。”的话,那么说明是mysql没有找到,所以解决问题时候,也是从mysql相关方面去入手。自己检查以下几个方面:
1..确保php.ini(大概960行)中打开了dll扩展:
extension=php_mysql.dll
extension=php_mysqli.dll
2.确保php.ini(大概808行)中设置了扩展dll的所在位置:
extension_dir = “ext”
[3.] 关于把php安装路径和安装路径下的ext路径都加到Path环境变量中,我测试了一下,实际是不需要的。
【后记 2011-12-08】
再次运行:
结果又出现上述提示,而且还是之前那种乱码形式的:

1. 尝试的去添加了对应的php的路径和php其下ext的路径到path环境变量中,也还是不行。
2.把httpd.conf中的原先的
/httpd-2.2-x64/
改为当前的值:
D:/tmp/WordPress/DevRoot/httpd-2.2.19-win64/httpd-2.2-x64/
同时,又把之前改的
Allow from all
改回原来的
Deny from all
因为其很明显,是默认的设置,然后其后有专门针对htdocs和cgy-bin去设置为
Allow from all
然后重启apache,还是无效。
3.后来发现,apache Monitor的restart,好像有时候不能立刻生效,还是先去stop,然后再start,上述配置,才能生效。
此处就是,对于apache服务,先stop再start,上述配置就生效了,就可以访问网站了。
【总结】
1.出现上述问题“您的 PHP 似乎没有安装运行 WordPress 所必需的 MySQL 扩展。”
的原因,此处的确是由于缺少了环境变量而找不到php的mysql扩展(php_mysql.dll和php_mysqli.dll),所以:
实际上是需要添加php和php的ext到path环境变量中的
此处即对应把:
D:tmpWordPressDevRootphp-5.3.6-Win32-VC9-x64;D:tmpWordPressDevRootphp-5.3.6-Win32-VC9-x64ext;
添加到系统的Path环境变量中。
2.另外,关于没有forbidden,没有权限访问的错误:
是需要保证在apache的httpd.conf中设置正确,保证有对应的权限才可以的,主要是关于htdocs和cgi-bin的权限。
具体是如下配置:
(1)保持默认的关于权限的配置:
# # Each directory to which Apache has access can be configured with respect # to which services and features are allowed and/or disabled in that # directory (and its subdirectories). # # First, we configure the “default” to be a very restrictive set of # features. # <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory> |
(2)然后对于之前默认的路径
/httpd-2.2-x64
改为自己的路径,比如我此处的
D:/tmp/WordPress/DevRoot/httpd-2.2.19-win64/httpd-2.2-x64
这样,改好后相关内容为:
(2.1)ServerRoot “D:/tmp/WordPress/DevRoot/httpd-2.2.19-win64/httpd-2.2-x64”
(2.2)DocumentRoot “D:/tmp/WordPress/DevRoot/httpd-2.2.19-win64/httpd-2.2-x64/htdocs”
(2.3)#<Directory “/httpd-2.2-x64/htdocs”>
<Directory “D:/tmp/WordPress/DevRoot/httpd-2.2.19-win64/httpd-2.2-x64/htdocs“>
(2.4) #ScriptAlias /cgi-bin/ “/httpd-2.2-x64/cgi-bin/”
ScriptAlias /cgi-bin/ “D:/tmp/WordPress/DevRoot/httpd-2.2.19-win64/httpd-2.2-x64/cgi-bin/”
(2.5)#<Directory “/httpd-2.2-x64/cgi-bin”>
<Directory “D:/tmp/WordPress/DevRoot/httpd-2.2.19-win64/httpd-2.2-x64/cgi-bin“>
3.对于想要重启apache使得配置生效时候的注意事项:
在访问http://localhost/的时候,出现前述一些问题后,然后去改了对应的配置,然后再去restart了apache的服务,然后在IE中,点击刷新,或者直接在地址栏中重新Enter输入http://localhost/,结果对应的配置都还是无法生效。
此问题,估计是IE缓存的问题。
此时,需要在apache的monitor中先去stop,等个几秒待Monitor显示红色,再start的方式去重启apache,此时Monitor显示为绿色了,表示服务已经正常启动了,这样,再次访问http://localhost/,对应的配置才能生效的,才能解决之前的问题。
转载请注明:在路上 » 【已解决】运行wp-admin/install.php去安装wordpress,出错:您的PHP 似乎没有安装运行 WordPress 所必需的 MySQL 扩展。