欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

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

程序员文章站 2022-06-15 21:26:03
...
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即可。