2007年6月27日星期三

XP 下安装Apache2.2.4+PHP5.2.4+Mysql5


首先准备好软件:(截至今天,全都是最新的稳定版本)
PHP 5.2.3 http://www.php.net
Apahce 2.2.4 http://httpd.apache.org
Mysql 5.1.19 http://dev.mysql.com/downloads/mysql/5.1.html


安装php5
直接解压压缩包到c:\php
更改环境变量:我的电脑属性》高级》环境变量》双击"Path",追加c:\php;c:\php\ext


安装Apache
双击msi安装包,domain和server可以用自己本地的ip或者localhost


配置Apache
用记事本打开%apache-root%/conf/httpd.conf,找到:
# LoadModule foo_module modules/mod_foo.so
追加:
LoadFile "c:/php/php5ts.dll"
LoadFile "c:/php/libmysql.dll"
PHPIniDir "c:/php"
LoadModule php5_module "c:/php/php5apache2_2.dll"


找到:
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
追加:
AddType application/x-httpd-php .php
这样就可以支持php5和mysql


接下来更改网站目录:
DocumentRoot "c:/wwwroot"
还有这个别忘记,不然会出现403禁止访问的错误:
<Directory "c:/wwwroot">


更改默认页面:
DirectoryIndex index.html index.php


好了其他没什么可以更改的。


php的配置


把php.ini-dist复制一份,改名为 php.ini然后修改:


在Data Handling下找到post_max_size = 8M
这是PHP将接受的POST数据最大大小,可更改为20M。


在Paths and Directories下找到extension_dir=
这里设置的是PHP搜索扩展库的位置,将其路径设为extensions文件夹的位置,即改成:
extension_dir="c:\php\ext"


在File Uploads下找到upload_max_filesize = 2M,允许上传的的最大文件大小
可更改为20M。


Dynamic Extensions这里是PHP扩展设置部分,列出了PHP所有的可支持扩展,前面都加了分号注释,表示目前PHP配置不支持扩展,我们可以将分号去掉让PHP支持该扩展下面列出的是几个常用且较实用的PHP扩展把下面几句前面的分号去掉
;extension=php_mbstring.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_filepro.dll
;extension=php_gd2.dll
;extension=php_imap.dll
;extension=php_mysql.dll


好了一切准备就绪!


重起APACHE,在主目录下新建一个记事本文件test在里面输入
<?php
phpinfo();
?>
保存后修改后缀名为PHP。在浏览器输入http://127.0.0.1/test.php是不是看到PHP版本信息,没错,这样PHP的配置就完成了。接下来安装MYSQL。


第一步:双击.exe文件出现的第一个需要选择的对话框是Setup Type 也就是
安装种类,这里我们可以选择Custom,根据自己的需要来安装组件和配置安装路径


点击Next,右键点击对话框出现几个硬盘形状的图标,根据自己的需要选择安装组件,


点击窗口右下的Change按钮更改安装路径的,设置好后,点击Next开始安装安装到最
后会有如下一个对话框在这里的三个选项分别是:


1:如果你没有MYSQL.com帐户,选第一个,创造一个新的免费的MYSQL.com帐户


2:如果你有MYSQL.com帐户,选第二个,填入已经注册好的邮箱名和密码


3:跳过此步骤


我们选第一个


接下来会一次出现三个对话框,在三个对话框中有* 号的部分是必须要填的,
按顺序分别是邮箱名,密码,确认密码;first name ,last name;邮政编码,
国家,省名。国家名选china,省名选other or N/A即可4.1.x和4.0.x系列版
本很大一个区别就是在安装完毕后不是运行 mysql文件夹下面的winmysqladmin.exe来
启动服务器后设置选项,而是有一个设置的过程。


第二步:设置MYSQL


首先你会看到这样的一个窗口,这里有两个选项,分别是详细配置和标准配置,
小型应用选第二项就可以了点击Next后出现下面的对话框,这里是重要的,一定
要在下拉菜单里选择MySQL41,否则不能正常启动,下面的选项是是否应用命令行,
最好选上点击Next后设置数据库密码的对话框,中间偏右和下面的选项分别是是否
允许远程控制和是否允许匿名帐号登入,为了安全,不要选择好了,点击Next后出
现最后的对话框,点击Execute按钮数据库服务器便启动了,依次出现四个对号后
点击Finish结束安装


装上PHPMYADMIN后测试连接,若出现
#1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client
在开始菜单找到刚刚安装的MYSQL命令行工具,输入root的密码后键入如下的字样:
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('刚才设置的ROOT密码')
-> WHERE Host = 'localhost' AND User = 'root';

mysql> FLUSH PRIVILEGES;(注意FLUSH后有空格)
然后浏览"http://localhost/phpmyadmin",OH YEAH! 测试成功!


在谈一下关于MYSQL 4.1以后由于采用UTF8导致的乱码问题解决办法。首先注意一点,在新建数据库的时候字符集一定要选择UTF8,在PHPMYADMIN中新建数据库下,创建按钮的左边,有个下拉列表,默认是"整理",选择UTF8。你会发现表里数据不在是问号了。
但是网页的输出还是问号,不要急接着在PHP语句中要有所改动:
在mysql_connect(…连接参数);后加上mysql_query("SET NAMES 'GBK'");
但是如果网页很多,这样不是很麻烦,所以我在编写PHP时将所有数据库的操作写成一个类如:
class db{
….包含一些数据库调用方法….
//创建数据库连接并选择相应数据库
function createcon(){
mysql_connect(…);mysql_query("SET NAMES 'GBK'");
}
}
完毕!


Your sincere,



------------



Henry Zhu



2007-06-28