//作者:cube316
//E-mail:cube316@etang.com
//创建时间:2003/02/19
//修改时间:2004/03/25
//讨论地址:http://cube316.hb169.com/diary/comment.php?id=2
//由于错误再所难免,我会随时修正。欢迎到上述地址一起讨论。
//转载请保留以上信息,谢谢。
点此下载此教程最新版本
前言
一直在网上逛,对PHP也有了所谓的了解。感慨于菜鸟入门时的艰辛(想偶当初光自己安装就花了2个星期),特写下此教程一篇,不敢托大,若能有所帮助则甚感欣慰。不当、不详及不解之处万望指正!
补充:为了日后更新方便,此次安装方式和原来的常规方式略有不同,不必进行移动DLL文件等操作,请特别注意。
几句废话:关于PHP的介绍自不必多叙,相信各位已从各方面或多或少得知。网上也有很多的安装教程,但不是太旧不能顺应发展变化,就是错误连连,让新手无所适从。有朋友认为PHP的重点在编程上,服务器的配置可免则免,于是使用类似phptriad之类的合成软件或者JAVA做的安装程序等。 这固然节省了一部分时间,但是错过了入门的必要步骤,我认为对您今后的学习还是不利的。如果有时间和毅力,不妨往下继续看。何况今天的这种安装方式,在您重装系统后亦可在2分钟内重新完成PHP的安装配置。
准备工作
安装平台
Win2003 Enterprise Server + IE 6.0.3790.0
注:除win9x外,高版本windows下此配置方法应该均无问题(但没有时间一个个测试,有问题可以联系我)。
使用软件及版本
PHP4.3.4
Apache2.0.48
MYSQL4.0.17
Phpmyadmin2.5.6
ZendOptimizer2.1.0b
注:以上软件均为Windows下的最新稳定版本。当您看到这篇教程时,也许各软件版本早已更新,请自行调整测试。
正式开始
推荐更改以下所有软件的默认安装路径,不要放在系统盘,理由在后面。此处我将安装主目录设在 G:/phpinstall/ ,本文下面的路径也请改为相应路径。
安装MYSQL数据库
这个比较简单。将下载好的ZIP文件解压缩,直接点一下里头的setup.exe,一路NEXT即可(本人安装路径:G:/phpinstall/mysql)。
然后请打开“我的电脑”,运行一下“C:/mysql/bin/winmysqladmin.exe”,初次运行可能会遇见如下界面,这个是让你填写MYSQL默认的用户名和密码,请按要求填写(以后还可以修改)。接下来点击“OK”之后可能会发现它不见了,别急,看看你的任务栏右下角,在这里呢!那个可爱的红绿灯,看见了没有?如果显示是绿灯,恭喜你,MYSQL服务已经启动。如果是黄灯,请稍候一下。如果是红灯,也请别急,右击那个图标,然后点“WINNT==>Start the Server Standalone”,如果那个选项呈现灰色,请点“Start the Service”。其目的是重新启动MYSQL服务。
许多教程里谈到用运行命令(cmd)来启动,放着这么好的工具不用,其实何必呢?
继续,右击,我们点“Show me”,然后出现了它的运行界面。点倒数第2个"Databases",查看默认数据库是否已经存在(test及mysql),否则请仔细查看前面的过程,必要时重新安装。
而左边第2项“Start Check”可以在您重新启动系统(比较直接和偷懒的方法)或者重新启动MYSQL服务(参见上述红灯情况部分)后用来判断是否正常。一般来说如下提示说明是正确的(均为OK)。否则也请自行重新启动系统或服务。
如果还不放心,试试这样:运行“G:/phpinstall/mysql/bin/mysql.exe -u root -p”,正常的话应该出现一个类似DOS的窗口(如果出现让您输入密码的窗口,直接回车即可,因为mysql初始安装root密码默认为空;如果是覆盖安装MYSQL的话请输入原来的那个root密码)。然后输入“show databases;”(别忘了分号),接下来如果出现两个数据库名称(mysql和test),那现在已经可以很肯定的说,您的MYSQL已经完全配置好了 :) 看看效果
安装Apache服务器
其实安装的过程很简单,也是类似的一路“NEXT”就行了,这里就说明两点:
①中间会出现一个界面,别怕,按如下窗口的提示写即可,何况我们以后还可以修改这些信息。
②如果您要更改默认安装路径,注意Apache2.x会自动在路径后面再加上一个"Apache2"文件夹。例如我把它安装在“G:/phpinstall/Apache2/”下,中间更改路径时只需要填写或选择"G:/phpinstall/"即可,如图。
安装完了,你会发现右下角多了这么一个图标,双击,发现这个界面.这是Apache2新增的一个非常实用的工具,在这里可以方便的控制Apache服务的开启、关闭、重启等操作,留给大家自行研究吧。
现在请打开IE浏览器,在地址栏中敲入“http://127.0.0.1”,出现以下界面者,说明Apache的默认安装是成功的。
PHP的安装
将下载得到的PHP-4.3.4-win32.zip解压缩到“G:/phpinstall/php”,请确保下面没有类似“php-4.3.4-win32”这样的子文件夹,即压缩包内所有的文件已经直接放到了PHP的安装文件夹(“G:/phpinstall/php”)下。
说到这里,不得不提一下PHP的两种安装方式。一种是CGI的安装方式,另一种是模块(modules)安装方式,一般推荐后面一种,因为其扩充性比较好。下面就按照这种思路安装。
请将“G:/phpinstall/php/php4ts.dll”移入“G:/phpinstall/php/sapi”。最后将“G:/phpinstall/php/php.ini-dist”改名为“php.ini”后移到 Apache2 的安装目录“G:/phpinstall/Apache2”下(注意:移到系统目录例如 C:/WINNT亦可,但这样重装系统后你又得重新配置PHP,这种移到Apache2目录的方法可以省去该麻烦)。
最后,在 G:/phpinstall/php 下新建两个子目录“session”和“includes”(理由?呵呵,别急,下面会说明)
好了,PHP的安装就这么简单,是不是有点不可思议?
Apache及PHP的配置(重点)
配置PHP的一些属性
打开“G:/phpinstall/Apache2/php.ini”,搜索“doc_root”,“=”后面默认应该为空,你可以将它改为自己的WWW网页的默认位置,例如本人的机器上就是改为“doc_root = f:/www”(请使用斜杠"/"而非反斜杠"/")。
继续搜索“extension_dir”,会得到“extension_dir = ./”一行,将它改为“extension_dir = G:/phpinstall/php/extensions”。然后搜索“;extension=”,会得到一大传类似的连续行。这些是PHP的扩展模块,可以根据需要使用,对需要加入的模块只需要去掉前面的分号即可。例如,“extension=php_gd.dll”、“extension=php_imap.dll”、“extension=php_zip.dll”等。
搜索一下“session.save_path”,找到“session.save_path = /tmp”一行,将后面的地址改为你自己机器上已经存在的目录(这就是刚才建子目录的用处,你不会想每次装了PHP后都重新建一次吧?),这里使用“G:/phpinstall/php/session”目录,然后将这一行改为“session.save_path = G:/phpinstall/php/session”(Again,还是斜杠)。这个问题在很多教程中都没有提到,而且一般SESSION在身份验证、购物车等时候才需要,所以初学者容易忽视。
好了,保存一下,PHP的配置暂告一段落。
配置Web服务器Apache
依次展开“开始菜单==>程序==>Apache HTTP Server 2.0.48==>Configure Apache Server==>Edit the Apache httpd.conf Configuration File”,打开Apache的配置文件“httpd.conf”。
搜索“#Listen”,找到“#Listen 12.34.56.78:80”一行,如果想让Apache2只监听某一该IP段,这里就需要去掉注释,改成你需要的IP地址。例如,你只需要本机调试,不想让外部访问,那就改成 “Listen 127.0.0.1:80”,这样一来,只能从你本机访问(地址栏输入 127.0.0.1 或者 localhost)才能看到Apache2的页面。或者当你网卡绑定了两个以上的IPe而只想用其中某一个时也可以考虑用这个方法。一般而言不必对此做太多修改。
接下来搜索“#LoadModule”,又找到一大串连续的行。这些是Apache2为了解释特定的语言而引入的模块。请在后面加入新的一行:“LoadModule php4_module G:/phpinstall/php/sapi/php4apache2.dll”以使Apache2加入对PHP的支持。
然后在这一行的后面再加上(其实加在哪里都一样,这样只是为了便于以后纠错):
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .phtml
AddType application/x-httpd-php-source .phps
上述几行的用处是添加Apache支持和解释的PHP后缀名。您一定可以想到,如果加入“AddType application/x-httpd-php .html”一行,那么直接把PHP文件存为html格式也不要紧,你的Apache还是会自己解释的。
(如果使用的是Apache1.x版本,还需做以下操作:搜索“AddModule”,还是找到一大串的连续行。在最后一行的下面加上“AddModule mod_php4.c”一行。本文使用的是2.x系列,所以毋需此步骤。)
最后需要更改的是默认WWW文件夹。搜索“DocumentRoot”,找到类似“DocumentRoot "G:/phpinstall/Apache2/htdocs" ”一行(随Apache2安装路径而改变)。将它改为“DocumentRoot "f:/www" ”(记得上面PHP的配置吗?对,同一个地方)。然后千万不能忘了一点,就是还要改一处地方,就是在你刚找到“DocumentRoot”下面不远的地方(或者直接搜索“# This should be changed to whatever you set DocumentRoot to”就可以发现它的所在),将“<Directory "G:/phpinstall/Apache2/htdocs">”一行改为“<Directory "f:/www">”。
如果需要增加虚拟目录,请添加类似“ Alias /manual "G:/phpinstall/Apache2/htdocs/manual/" ”的行。其中“Alians”后面的那个斜杠后面对应的是虚拟目录名,后面的是它的物理路径。上面的地址就可以通过“http://127.0.0.1/manual”来访问。
更改环境变量
由于PHP在windows下运行时需要一些额外的DLL,所以需要用到“G:/phpinstall/php/dlls”下的那些文件。常规方法是将这些文件放到“C:/WINDOWS/system32”下,但这样一来每次重新装都要如此,所以我使用环境变量来避免此问题。桌面右击“我的电脑”==>“属性”==>“高级”==>“环境变量”==>“系统变量”==>找到“Path”一行,双击,在后面添加上述目录,注意记得在原先的环境变量后面加上分号以区分(即需要输入“;G:/phpinstall/php/dlls”)
好了,三大难点基本上搞定。为了能让您有所参照,特地将自己的配置文件放了上来,以供参考。点此下载
程序调试阶段
这里要提醒一点,对Apache或PHP的设置做了更改后,需要重启Apache以使其生效(以后类似,请自行注意)。具体如下:
开始菜单=>程序=>Apache HTTP Server 2.0.48=>Control Apache Server=>Restart=> OK
如果在这中间出现什么问题的话,请根据提示来检查。现在,我们来测试一下自己的安装成果。
在“F:/www”新建一个文本文件,输入以下内容:
<?php
phpinfo();
?>
然后将它更名为“phpinfo.php”,保存。打开IE浏览器,运行“http://127.0.0.1/phpinfo.php”,如果出现类似这样的网页内容,恭喜,PHP已经基本上安装好了。
接下来要测试的是与MYSQL数据库的连接。
把下载得到的“phpMyAdmin-2.5.4-php.zip”解压缩到“F:/www/phpmyadmin/”下,然后编辑config.inc.php文件,搜索“$cfg['PmaAbsoluteUri']”一行,后面对应的是phpmyadmin的虚拟路径,这里我们把它改为“$cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin/';”。
继续往下,搜索“$cfg['Servers'][$i]['auth_type']”这一行,这个是phpmyadmin的身份验证配置方式。这里我们选择“$cfg['Servers'][$i]['auth_type'] = 'config';”,下面两行就是mysql的用户名和密码。默认的用户名是“root”,密码为空,别怕,我们呆会儿可以利用phpmyadmin修改它。
还是搜索,搜“$cfg['DefaultLang'] =”一行后面是它默认的语言,这里我们将它改为“$cfg['DefaultLang'] = 'zh';”,顺便把下面10行左右的默认字符集“$cfg['DefaultCharset'] =”改为“$cfg['DefaultCharset'] = 'gb2312';”。
在浏览器中输入“http://127.0.0.1/phpmyadmin”,如果出现的界面如下,说明mysql已经连接成功了。phpmyadmin的其他功能就靠自己去摸索和实践了。
添加Zend引擎
这个是所有安装中最简单的一步了。直接点下载得到的那个“ZendOptimizer-2.1.0b-Windows-i386.exe”。因为我们的php.ini文件不在默认位置,中间需要指明它的位置(G:/phpinstall/Apache2)。它会自动备份原来的php.ini文件为php.ini.optimizer-bak,安装后需要重新启动系统才能生效。重启后请再次运行“http://127.0.0.1/phpinfo.php”,看是否在其中出现如图的画面(往下拉,在中间部位),没有的话,可要好好查查了。相信这个难不倒你,我就不多罗嗦了。成功后Apache就可以顺利解释有些用Zend加过密的PHP文件了。
重要说明
此次安装与以往不同之处就在于php.ini的放置位置及dll文件的处理,因此,当您需要更新PHP版本时:请将新版本的PHP安装文件放到以前的目录并覆盖旧文件(参考上述 PHP的安装 部分,需要移动一个文件),而php.ini也需要重新编辑设定并移入Apache2安装目录(原来的php.ini文件设定可以参考,但不能继续使用,否则可能会导致未知问题) ;或者重新安装了系统后:只要原来安装目录(G:/phpinstall)下的文件没有改变,则只需覆盖安装MYSQL、Apache(过程参考上述步骤,安装路径要选择原来的),原来的配置和数据均不会被替换。然后重新设定一下PHP中DLL的环境变量即告成功!这也就是为何不要安装在系统盘的原因所在。
FAQ
Q1:出现图中这个错误是什么意思?
A1:意思很明显了,没有任何安装的Apache2服务。要么您的系统是win9x,要么就是前面Apache2的安装过程出了一点小小的问题,请重新安装试试。
Q1:我提交表单的时候不会自动生成变量?
A1:PHP4从4.2.0版本起,全局变量自动关闭。对于表单提交过来的变量,需要用特定的函数接受,具体如:
$a=$_GET['var'];
$b=$_POST['var'];
如果需要自动生成变量,可以打开php.ini,找到 register_globals = Off 一行,改成 register_globals = On ,然后重启Apache就可以了,但是从安全角度考虑,不推荐。
一些编后感想
其实PHP的安装也不是很难,关键是要有耐心。而php.ini和httpd.conf这两个关键的配置文件我也没有全部谈到。有些地方还是需要自己去慢慢揣测和琢磨了。中间安装过程也可能和我说的不完全一致,就要自己细心钻研。怎么说呢,时间的付出和获得的回报应该是成正比例的。相信各位也应该会明白这个道理。
事隔一年,更新此文,竟产生些许感触。
好了,开始您的PHP编程之旅吧,祝您好运!
又及:在别人进入PHP世界初期需要帮忙的时候,请不吝伸出你的双手帮助他们,谢谢。