skyilyskyily.blog.chinaunix.net
skyily
全部博文(144)
2010年(16)
2009年(128)
Zane_Yu
tasteswe
zwrvvv
xiao888l
zimuqing
leilelei
Phyllis6
jonathan
denghai1
wbdwbd04
itTangze
lifj1234
18141908
AAABug
分类: WINDOWS
2010-07-27 18:20:58
Apache+PHP+MySQL在Windows下的安装和配置
环境:本文中用的都是当前最新的环境apache 2.2.8+php 5.2.5+mysql 5.0.18关于Apache+PHP+MySQL的安装和配置已经有大量的文章介绍过了,但是我按照PHP的官方文档和很多网上的文章都尝试过结果都没能成功,最后发现,第一,有的文章介绍的是老版本,配置方法已经不适用于我用的最新版本。第二,很多地方配置方法有很多种,有时候不知道要用哪一种,而如果前后的配置方法不一致的话就会造成问题。我尝试了很多办法费了好大劲才把它们配置好,本文将针对前面介绍的环境给出一种切实可行的配置方法。一、安装apache我是在apache的官方网站上下载的apache_2.2.8-win32-x86-no_ssl.msi,按照安装向导安装应该不会有什么问题,我是安装成了Windows的服务,端口设在8080。不过我的运气真的很差,在安装的时候确实碰到了问题,Windows服务没有装上去!在Monitor Apache Server里面没有看到任何服务,也就是说Service Status里面是空的。(一般来说是不会有这个问题的,我也不知道为什么会出现那样的问题)最后找到的解决办法是在命令行下运行httpd.exe -k install -n apache,这个命令可以手工地把apache加到Service里面去,httpd.exe在apache的安装目录的bin目录下。apache安装完后暂时先不需要对conf\httpd.conf文件做任何修改,等会儿配置PHP的时候是需要更改httpd.conf文件的,但现在先让我们保持所有的默认设置。此时站点根目录在apache安装目录下的htdocs下。二、安装MySQL我是在MySQL的官方网站上下载的mysql-5.0.18-win32.zip。同样按照安装向导安装应该不会有什么问题。但我的运气真的是很差很差,好像是因为我的机器以前安装并卸载过mysql的原因,在安装完后的配置向导中出现ERROR 1045 (28000): Access denied for user 'root'@'localhost'的错误。最后我是这样解决的,先取消,然后重新运行配置向导(从开始菜单的mysql程序组中),这次它让我修改root的登录密码,我在老密码中让它为空(这应该是我上次安装时root的密码,然后填入新的密码,这样就配置成功了。如果你是第一次安装mysql,应该不会有这种问题的。同样,我的mysql也是在服务中运行的。安装和配置完成后,你可以用下面的办法测试一下是否你的mysql可用:切换到mysql的安装目录的bin目录下,在命令行中输入mysql -u root -p回车,它提示你输入root的密码,输入你安装时设置的密码,如果没有就直接回车,如果出现mysql>的提示符就表示登录成功了。三、安装和配置PHP这是最容易出问题的一个环节,请仔细看好了。我从PHP官方网站上下载了php-5.2.5-Win32.zip。这是一个可直接解压的非安装包文件。将它解压到c:\php文件夹。1、让apache支持php编辑apache的httpd.conf文件,加入下面几行:(最好是加在LoadModule块的下面,便于查找)LoadModule php5_module D:/php5.2.5/php5apache2_2.dllPHPIniDir "D:\php5.2.5" (php.ini目录,这样指定可以不用将他放到windows目录下或者省略配置环境变量.)AddType application/x-httpd-php .php这样就可以了,不需要做其他任何事,你的apache就已经可以支持php了!这时候不要去碰什么"php.ini",把什么什么dll拷到system32目录等等。一步一步来,搞多了反而把你搞糊涂。这里唯一要注意的是php5apache2_2.dll。老的php版本都是用的php5apache2.dll,如果你参考以前版本的文档,肯定会弄错,后果就是apache启动失败。不知道是不是我没看仔细,反正我在php官方的documentation上看到的都用的是错的(写的是php5apache2.dll)。后来是在那个文档的下面的“User Contributed Notes”上看到有人提出来的这个错误的。修改完后要重新启动apache。你可以写个最简单的php文件试试:在htdocs下建一个test.php,<HTML><HEAD><TITLE>PHP Testing</TITLE></HEAD><BODY><?php phpinfo(); ?></BODY></HTML>然后访问http://localhost:8080/test.php2、php连接mysql数据库1)将c:\php\libmysql.dll拷到windows的system32目录。2)将c:\php\ext\php_mysql.dll拷到c:\php\下。3)重命名c:\php\php.ini-recommended为php.ini。4)编辑c:\php\php.ini486行:extension_dir = "c:/php"625行:去掉前面的分号(;)5)编辑apache的httpd.conf文件,加入一行:PHPIniDir "C:/php"这是为了告诉apache php.ini文件的位置,如果不加这行也可以,但是要把你的php.ini文件拷到windows目录,我不喜欢那样做。通过上面的设置,php就可以连接mysql数据库了。用下面的testmysql.php来测试:<?php$db_host='localhost';$db_database='test';$db_username='root';$db_password='mypass';$connection = mysql_connect($db_host, $db_username, $db_password);if (!$connection){die ("Could not connect to the database: ". mysql_error());}else{echo "connected successfully!";}?>转载:http://caboliu.blog.163.com/blog/static/50666323201032010103551/?fromdm&fromSearch&isFromSearchEngine=yes
上一篇:why?
下一篇:htpasswd--创建和更新用户认证文件
登录 注册