当前位置:web 服务器 > Apache >>

windows下apache+mysql+php+phpmyadmin的配置方法

apache服务器没什么可说的地方,尽量去官网下载个最新的。

有一个地方需要注意: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即可。

补充:Php教程,Php安装 
Apache
IIS
Nginx
Tomcat
如果你遇到web 服务器难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,