首先,对于那种集成软件,也就是说安装了一个软件,apache+php+mysql一套安装就都自动完成的软件,我不推荐使用。因为我们的目的是学习,而并不是简化操作。好,下面进入正题。
==========================================================
需要的软件(附官方下载地址):
Apache 2.0.59
[file]http://dl-sh-ocn-1.pchome.net/00/su/apache_2059-win32-x86-no_ssl.zip[/file]
PHP 4.4.7 Win32
[file]http://cn2.php.net/get/php-4.4.7-Win32.zip/from/this/mirror[/file]
MySQL 4.1.22
[file]http://yztele1.skycn.com/down/mysql-4.1.22-win32.zip[/file]
PhpMyAdmin 2.10.3
[file]http://nchc.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-2.10.3-all-languages-utf-8-only.zip[/file]
========================================================== 首先解决大家的几个疑问
问题1:为什么要用Apache而不是IIS?
回答1:由于我们是为了运行PHP而不是ASP,所以Apache是当之不愧的首选。再者,Win32环境配置Apache方法跟Linux下类似,学习了这个,以后只要会Linux基本操作,自然就会了Linux的Apache配置。
其次,对于经常重新安装系统的人,每次重新配置IIS非常麻烦,还有一点就是IIS开机就启动,不适合开发人员。而Apache则将所有的设置保存在一个配置文件中,不会涉及到注册表,所以重装系统之后不用任何设置就可以使用。堪称绿色。
问题2:为什么要用Apache 2.0.59,而不是最新版本2.2.4?
回答2:因为我们用的是PHP 4系列,所以只能用Apache 2.0.x,而不能用2.2.x。这也就是很多初学者总是配置失败的原因。(我也被这个问题缠绕了n久,最终在一个国外的论坛得以解决)这就引出了下一个问题。
问题3:为什么要用PHP 4.4.7,而不是最新版本5.2?
回答3:因为我们架设好了PHP服务器,必然会用到一些PHP论坛等程序。以后难免会租用虚拟主机从而发布自己的PHP程序。可是目前国内包括国外的PHP虚拟主机还是以PHP 4.x居多,而PHP本身向下兼容性不强,我曾经就是用PHP 5.x做的网站程序,到了客户(乐凯胶片集团)那里是PHP 4.x,几乎完全无法运行。后来我从网上查资料,原来PHP 5.x有很多系统函数和PHP4.x不同。所以为了方便起见,我们用PHP 4.x的最新版本,也就是PHP 4.4.7。
问题4:为什么要用MySQL 4.1.22,而不是最新版本5.x?
回答4:首先说为什么不用5.x。因为我已开始也用5.x,发现他的改变太大了。很难让当前的程序(例如Discuz!)兼容。例如,在MySQL 5.x中,一个表的索引ID为自动编号,那么我们在这个表插入数据的时候必须insert into Table1 (ID,Name) values (NULL, 'name1');。也就是说必须显式的给自动编号字段赋NULL值,否则SQL语句出错。而MySQL 4.x以及更早期的版本不用,直接insert into Table (Name) values ('name1');就可以了。这就是为什么MySQL 5.x不兼容很多程序的原因。
问题5:为什么要用MySQL 4.1.22,而不是4.0.x?
回答5:原因很简单,MySQL 4.1.22是MySQL 4.x的最新版本。而MySQL 4.0.x竟然连复合式SQL语句都不支持。例如select (select aid from Table1) from Table 2;这让我们的开发很不便。至于文字编码问题,下文中将看到。
问题6:如果不用PHP 5.x和MySQL 5.x,那么他们有什么用?
回答6:太有用了。PHP 5.x对面向对象编程(OOP)提供了很好的支持,而PHP 4.x竟然没有析构函数,而且在类的继承重载上存在一定的Bug,最重要的是,PHP 4.x无法定义私有变量,也就无法实现封装。所以说PHP 4.x不是面向对象编程。而MySQL 5.x增加的功能就更多了,我对这个了解很少,我知道的就是支持了存储过程和触发器。要知道在做大规模项目的时候这两个机制是非常有用的。综上所述,PHP 5.x和MySQL 5.x不适合我们初学,适合那些开发新的、庞大的、不涉及到向下兼容的项目 下面正式开始教程(如果还有疑问请提出,我会逐一解答)
==========================================================
>1、安装之前的准备
为了以后重装系统之后不用重新设置,我们不把这些软件装在C盘,而是装在非系统盘。例如D:Inetpub,所以我们要建立如下目录:
D:InetpubPHP4 [用来安装PHP4]
D:InetpubApache2 [用来安装Apache]
D:InetpubMySQL [用来安装MySQL]
D:InetpubphpMyAdmin [用来释放phpMyAdmin]
D:Inetpubwwwroot [我们做的网站保存在这里]
1,运行我们下载的mysql-essential-4.1.22-win32.msi
2,欢迎来到MySQL Server 4.1安装向导
3,选择安装模式,我们选择[Custom]也就是自定义安装
4,需要安装的功能默认,路经选择刚才建立的D:InetpubMySQL,(我是F,呵呵,无所谓)
5,最后确认一下,开始安装
6,安装过程
7,注册到MySQL.com,这里我们就不注册了,选择Skip Sign-up
8,现在就配置MySQL
9,欢迎来到MySQL Server 实例配置向导 1.0.8
10,选择[Detailed Configration],就是详细配置
11,选择[Developer Machine],也就是开发模式,这个模式占用内存少。而如果你真正要做服务器,需要选择[Server Machine]。
12,选择[Multifunctional Databases],具体原因还请高手指教。我认为这项是为了查询进行优化,而下面的选项是为了存储进行优化。
13,选择数据库存储路径,默认即可
14,设置最大连接数,由于我们是本机测试,选择第一项(20用户)即可。如果是服务器,选择第二项(高于500)
15,默认设置,不要修改。否则其他程序(Apache)将无法连接数据库。
16,重要设置:设置默认字符集,一定要选择第三项,然后再下拉菜单中选择gbk,切记!!!
17,选择[Install As Windows Service]安装成Windows服务,这样方便我们启动。不选[Launch the MySQL Server automatically]也就是说不让他自动启动。最下面那个选项无所谓,推荐选上,这样就可以在任意位置输入mysql进入控制台。
18,重要设置:这里有一个分支,如果你是初次安装,请看本步。如果你是重新安装系统之后的快速恢复,请看19第步。这里是输入两遍root用户的密码,下面的两个选项为了安全,不要选择。再次提醒,如果你的电脑已经安装了MySQL,也就是说你是刚刚重装了系统,快速恢复MySQL,一定不要选择这项,请看第19步。切记!!!
19,重要设置:这一步是为了充装系统后的快速恢复,如果你是全新安装MySQL,即你的电脑中重来没有安装MySQL,请不要按照本步操作,请看第18步。切记!!!因为你是快速恢复,所以这里什么都不选,否则会导致配置失败
20,准备执行,全新安装的话,最后一项是亮起的,由于我是快速恢复,最后一项是灰的。
21,执行成功。初次安装4个对钩,快速恢复3个对钩。如果有一个叉子,请你仔细看18,19步。这个是问题最多的地方。如果还没办法解决,请跟我联系。
22,[开始]-[程序]-[MySQL]-[MySQL Server 4.1]-[MySQL Command Line Client],打开MySQL控制台。
23,输入刚才(18步)设置好的密码,回车。
24,登录成功。
25,输入 show databases; (不要漏掉空格和分号)看一下我们现有的数据库。正常应该有两个,mysql和test。
至此,MySQL 4.1.22安装成功。下面我做一下总结。
总的来说,MySQL安装很简单。其中只有两个注意事项,一个是字符集选择,也就是第16部。很多乱码问题就是这里设置错误造成的。另外一个是全新安装与快速恢复。快速恢复的时候不能重新修改密码。为什么呢?我想有必要说一下原理。因为MySQL里面修改root用户密码必须要知道原始密码才可以修改。如果你是快速恢复,那么电脑中已经安装了MySQL,那么肯定以前你也设置过密码。但是安装程序不知道,认为是空。这是你输入了新的密码,安装程序会认为你要将空密码修改为你输入的密码。可是数据库中现在的root密码不是空,这就造成了修改失败。可是MySQL服务管理储存了你的新密码,可是用这个密码无法启动MySQL,这也就造成了MySQL无法启动,安装失败。
另外需要注意的一点就是Vista RC1以前的测试版本无法成功安装。因为服务注册机制不同。以上安装方法适用于:Windows XP, Windows 2003, Windows 2000, Vista RC1, RC2, RTM
MySQL安装好了,下一步我们安装Apache 2.0.59。请看下一步。
附:
1、如何快速启动和停止MySQL?
[开始]-[运行]-输入[net start mysql]可以启动,输入[net stop mysql]可以停止。
安装注意:
Apache 2.0.59(以下简称Apache)必须在Windows XP或者2003下安装。Vista下无法成功安装。
若要在Vista下使用Apache,请现在XP或2003下安装好,然后再Vista下直接运行即可。具体方法我将详细说明。
总结:
这一部分是整个教程中的重点。没什么好说的,主要就在细心。
下面请看phpMyAdmin的配置。
5、配置phpMyAdmin,从中学习如何设置Apache的虚拟目录
1,打开我们下载的phpMyAdmin。
2,解压缩到D:InetpubphpMyAdmin,如图
3,复制D:InetpubphpMyAdminlibrariesconfig.default.php到D:InetpubphpMyAdmin下,重名名为config.inc.php
4,用记事本打开config.inc.php,
修改:$cfg['Servers'][$i]['auth_type'] = 'config';
修改为$cfg['Servers'][$i]['auth_type'] = 'http';
保存退出
5,用记事本打开D:InetpubApache2confhttpd.conf。
找到Alias /icons/
在下面添加一行
Alias /phpMyAdmin "D:/Inetpub/phpMyAdmin/"
保存退出,重新启动Apache和MySQL(方法见上一部分)。
6,打开浏览器[url]http://localhost/phpMyAdmin">http://localhost/phpMyAdmin</a>,用户名root,密码输入MySQL安装的时候设置的密码。
7,出现下图界面,安装成功。
总结:
这里说一下第5步的设置注意事项。
该步骤中,我们添加了Alias /phpMyAdmin "D:/Inetpub/phpMyAdmin/"
目的是添加一个虚拟目录phpMyAdmin指向D:InetpubphpMyAdmin,访问的时候就是http://localhost/phpMyAdmin
我们可以修改为Alias /phpMyAdmin/ "D:/Inetpub/phpMyAdmin/"
这样就只能通过http://localhost/phpMyAdmin/访问了。提高了安全性。 ==至此,全部安装过程结束。==
>6、重新安装系统后如何快速恢复
假设我们现在重新安装了操作系统,XP/2003/Vista都一样。我们如何快速恢复到配置好的状态呢?
1,安装MySQL,参见前面教程,注意其中的快速恢复注意事项
2,复制D:InetpubPHP4下的php4ts.dll,php.exe,php.ini三个文件到C:Windows下(Win2000是C:Winnt)
3,[开始]-[运行]-[net start mysql]
4,执行D:InetpubApache2inapache.exe
好了,快速恢复完成。数据库、虚拟目录等等完全不用重新设置。比IIS方便吧?
>7、F.A.Q
问:为什么路径中的要用/代替?我测试了一下也可以啊?
答:因为在Windows下配置/没有区别,但是Linux下必须是/,所以我们培养好的习惯,用/。
问:路径区分大小写吗?
答:Apache+php+MySQL+phpMyAdmin完全严格区分大小写。
如果大家有其他疑问,请提出。我会一一解答。
转载自Timmy's Blog
有话要说