windows下apache+mysql+php+phpmyadmin的配置方法
有一个地方需要注意:php教程是以模块的形式加载到apache这个容器里面的,就是你在配置apache加载php模块的时候,注意那个路径的问题。具体配置语句
loadmodule php5_module d:/php/php5apache2.dll 是指以module方式加载php
phpinidir "d:/php" 是指明php的配置文件php.ini的位置
这个路径中尽量不要出现空格,比如我的路径是 loadmodule php5_module d:/peogram files/php/php5apache2.dll这个就会导致错误,你需要换成相对路径,比如"../php/php5apache2.dll",但是相对路径一定要正确,这要看你怎么安装各个模块的,建议安装在统一目录下,方便管理。
php就得注意一下,这个问题很让人纠结。下面是php的下载
php 5.3 (5.3.5) window平台包下载
vc9 x86 non thread safe (2011-jan-05 21:37:35)
-
zip [14.96mb]
sha1: 2fdd7b2b17d359725d9f297b6a59f17b71a913a6 -
installer [26.9mb]
sha1: d7cfd584231e68dc9e87cdff45a6d11fa3b03689 -
debug pack [7.94mb]
sha1: 414c30a12a402d3af30b46de4b2e0ca391872982
vc9 x86 thread safe (2011-jan-05 21:31:04)
-
zip [15.1mb]
sha1: 7593b0ebba4b43418fd2f3c18eac83d698da46d6 -
installer [27.02mb]
sha1: db510126e3f9b580c38fb6dd8895e5a67403a223 -
debug pack [8.29mb]
sha1: 339f6092e4c4fee9c5a6a0f6d0f8359fbfbda60b
vc6 x86 non thread safe (2011-jan-06 19:06:20)
-
zip [13.13mb]
sha1: b11a6a1597219d7ce10bc315cde411f37346383e -
installer [23.84mb]
sha1: 4249683e8b88ceed32bf12c0b883a51bb10e43d9 -
debug pack [4.86mb]
sha1: 9fb328a8c798bfe797e1a7f683571dc3812f3aa8
vc6 x86 thread safe (2011-jan-06 18:56:08)
-
zip [13.26mb]
sha1: 8658b5c58a9893d46290beb70aa2335226e2c523 -
installer [23.95mb]
sha1: 05fe4fb8f03a2f9fa71d47aad60e8c9becd6bb7d -
debug pack [5.03mb]
sha1: 9d96d42b14f516ee5935404161836ec28b572bbf - 一共四种供你选择。但是一定要选对。
-
vc6是什么?
vc6就是legacy visual studio 6 compiler,就是使用这个编译器编译的。
vc9是什么?
vc9就是the visual studio 2008 compiler,就是用微软的vs编辑器编译的。那我们如何选择下载哪个版本的php呢?
如果你是在windows下使用apache+php的,请选择vc6版本;
如果你是在windows下使用iis+php的,请选择vc9版本;那non thread safe是什么?
non thread safe就是非线程安全;
thread safe 是什么?
non thread safe 是线程安全;
官方并不建议你将non thread safe 应用于生产环境,所以我们选择thread safe 版本的php来使用我选择的是vc6 x86 thread safe (2011-jan-06 18:56:08),因为我是在windows下搭建的apache服务器。
php直接解压就算是安装。按教程一步一步的走就可以。
经常出现的问题是:
unable to load dynamic library 'd:/server/php/ext/php_exif.dll'
unable to load dynamic library 'd:/server/php/ext/php_fdf.dll'
unable to load dynamic library 'd:/server/php/ext/php_ifx.dll'……
类似的错误,解决办法是
1.修改php.ini文件的extension_dir配置到你正确的php/ext/,因为这个文件夹里面是你所有的扩张模块,包括mysql教程之类的。
2.把你的php安装目录下的dll文件,php/ext文件下的dll文件统统复制到widows/0system32下面去,或者你修改系统环境变量path,加上;d:/www/php;d:/www/php/ext;这是我的安装目录。这个实现的效果跟复制到system32下面是一样的,具体原因我也不知道为啥,我只知道程序运行的时候首先去system32下面找相应的库文件进行加载,如果找到就停止,如果找不到就去path下面去寻找,如果再找不到,就去配置文件extesion_dir下面去找,再找不到就报错,所以如果你电脑上以前安装过php4的话,请先把system32下面相应的dll文件删除掉。
3.这些加载的模块,是加载还是删除是在php.ini里面配置的
类似于extension=php_bz2.dll
extension=php_curl.dll
extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_gettext.dll
;extension=php_gmp.dll
extension=php_intl.dll
一定要注意请不要把所有的模块都启动,虽然系统资源浪费也多不了哪去,但是默认的php5安装包下并不一定存在这个模块的相应dll,所以你应该按照系统错误提示把相应的模块给停用了,停用方法,跟你是怎么开启模块是相反的。
4.还有就是模块之间会有依赖性,比如我想要开启extension=php_exif.dll这个模块,那么就必须先开启extension=php_mbstring.dll模块,这也可能是你加模块不成功的原因。
安装mysql很简单,直接按提示安装就行,不需要与服务器各个模块之间进行配置
由于目前phpmyadmin的最新版本已经更新到了2.11.5.1,网上流传的很多配置方法都是以前老版本的,已经不太适应新版本的配置要求;于是flymorn顺便也把phpmyadmin2.11.5.1的配置步骤也列在下面;为了切换及调试php方便,我采用的是windows系统,本地调试。
1、先下载phpmyadmin安装包:
到国外官方网站http://www.phpmyadmin.net上,点击导航栏上的“downloads”链接进入下载页面,选择“all-languages.zip”版本下载到本地,解压;把解压缩文件放到系统指定的虚拟根目录下的phpmyadmin文件夹里(可自定义文件夹名),如flymorn的本地存放位置是d:wwwphpmyadmin里。2、找到phpmyadmin文件夹里的/libraries/config.default.php文件(旧版本是根目录下的config.inc.php文件),用支持utf-8编码的写字板打开进行编辑。
3、查找 $cfg['pmaabsoluteuri']
修改为你将上传到空间的phpmyadmin的网址
如:$cfg['pmaabsoluteuri'] = 'http://www.piaoyi.org/phpmyadmin/';
这里因为我是本地调试,我改为$cfg['pmaabsoluteuri'] = 'http://localhost/phpmyadmin/';
注意:不要漏掉最后的反斜杠/和开头的http。4、查找 $cfg['servers'][$i]['host'] = 'localhost';(通常用默认,也有例外,可以不用修改)
5、查找 $cfg['servers'][$i]['auth_type'] = 'config';
在自己的机子里调试用config;如果在网络上的空间用cookie,这里我们既然在前面已经添加了网址,就修改成cookie。
我个人建议:无论是本地还是网络上,都建议设置成cookie,安全第一。
同时,当auth_type这个值设置为cookie后,还有一个地方需要作出相应的修改:
$cfg['blowfish_secret'] = '';
改成:$cfg['blowfish_secret'] = 'www.piaoyi.org';
这里的www.piaoyi.org自己随便定义,不超过46个字符。如果这个地方留空,将会出现上文提到的第2个错误:“配置文件现在需要绝密的短语密码(blowfish_secret)”。6、查找 $cfg['servers'][$i]['user'] = 'root'; // mysql user(用户名,自己机里用root;在网上一般为你的ftp用户名,虚拟主机提供商会告诉你的;一般不要修改)
7、查找 $cfg['servers'][$i]['password'] = '123456'; // mysql password (123456修改成连接你的mysql数据库教程的用户密码)
8、查找 $cfg['defaultlang'] = 'zh'; (这里是选择语言,zh代表简体中文的意思) 还有 $cfg['defaultcharset'] = 'gb2312';(修改默认编码为国标)
到这里,phpmyadmin就已经配置完成ok;你可以打开http://localhost/phpmyadmin/访问方便快捷的图形化管理软件phpmyadmin了。关于本文没有提到的配置文件里的其他选项,大家可以不用关心了也不必修改。关于具体如何操作phpmyadmin不在本文讨论的范围内,不过图形化界面,是通俗易懂,稍微看看就会用了(参考)。
下面谈谈,flymorn在安装配置phpmyadmin的过程中所遇到的几个问题。
第一个问题:“无法载入mcrypt扩展,请检查php配置”。
1、没有正确安装mysql数据库,在系统服务中mysql相关的服务没有启动。
2、在系统的 system32(c:windowssystem32) 目录下缺少 libmcrypt.dll文件,解决方法是找到php目录下的libmcrypt.dll,并将libmcrypt.dll复制到c:windowssystem32目录中,然后重新启动web服务。
3、在php目录下的php.ini文件中,没有将“;extension=php_mcrypt.dll”中的前面一个“;”去掉,所以不能使用相应功能,解决方法是打开php.ini文件,找到;extension=php_mcrypt.dll改成extension=php_mcrypt.dll //去掉前面的;使之生效
4、mysql目录没有读取权限,正确的目录权限如下:
administrator 完全控制
system 完全控制
user 读取加运行
其他的用户权限全部删除(也可保留,但安全性不高,建议删除),然后重启mysql服务和web服务(建议修改此项后重启一下服务器)。
5、以上方法都不行的话,再用这个方法:桌面>我的电脑>右键属性>高级>环境变量>系统变量>新建
名:phpdir
值:c:php(你的php在什么目录就是什么)
(参考来源:地址)第二个问题:“无法载入 mysql 扩展,请检查 php 配置”
把 php 目录下的 libmysql.dll 复制到:c:windowssystem32 下,然后重启apache。
第三个问题:“配置文件现在需要绝密的短语密码(blowfish_secret)”
确保在config.default.php文件里面进行了正确的设置 :
$cfg['servers'][$i]['auth_type']= 'cookie';
同时
$cfg['blowfish_secret'] = 'www.piaoyi.org'; //(这个值随便写,就是不能留空)其实这个问题,我碰到了确实很郁闷,如果按照我在上面提到的配置方法做了,应该不会提示这个错误。经过我2个多小时不停的修改config.default.php配置文件,始终提示这个错误,几乎达到了崩溃的边缘了。
然后就是灵光一现,突然发现:我把auth_type认证方式改为http,改为config时,打开页面始终出现这个错误,也就是说改变了认证模式,并没有对phpmyadmin起作用,难道是其他的配置文件在影响决定着phpmyadmin?
立马来到phpmyadmin根目录,赫然发现根目录下有一个config.sample.inc.php文件存在的同时,还有一个文件config.inc.php也存在!!而这个是以前老版本的配置文件,原来是这个文件捣的鬼。马上删除config.inc.php,再进入调试页面,错误消失了!问题解决。
看来phpmyadmin根目录下的config.inc.php配置文件的优先级比/libraries/config.default.php的配置文件高,系统是先调用根目录里的配置文件,然后才是libraries文件夹里的配置文件,艾,这个问题,折腾了这么久,呜呼哀哉。总归解决了,舒一口气啊。
第四个问题:“#2003-服务器没有响应”。
遇到这个问题多半是mysql数据库没有启动,建议直接在在:控制面板-管理工具-服务里面把mysql启动。关于是否启动,你可以在任务管理器里查看是否有“mysqld-nt.exe”这样的进程,如有有,则说明mysql已经启动。
第五个问题:“没有发现php的扩展设置mbstring”。修改 c:windows 下的 php.ini 文件,找到 ;extension=php_mbstring.dll 把;去掉,保存 php.ini,重新启动apache即可。
上一篇: mysql FULLTEXT全文搜索详解
下一篇: 三维数组 ,下 标重新排序,该怎么解决