Apache, PHP在Windows 9x/NT下的安装与配置 (一)


Posted in PHP onOctober 09, 2006

在PHP邮件列表中问得最多的问题可能就是:“如何在我的Windows机器上安装PHP?”,那么也许我可以帮助回答这个问题。当你正确安装完成后,你会发现在Windows下开发PHP程序还是不错的。

本教程的目的是向你展示如何用“Apache和Windows”的组合来开发PHP程序。

教程中如未指明具体版本,则PHP为PHP3或PHP4 Beta 2或3,Apache为 1.3.x。

一、安装Apache

首先,你须要一个WEB服务器,我推荐Apache。先到htp://www.apache.org/dist看看。在这页上有世界范围的Apache镜像站点列表,找到离你最近的那个。Apache软件一般叫作apache_1_3_x.win32.exe。把它当到你机器里,运行它。它会问你将Apache安装到什么地方,你可以设为c:\Apache,因为马上你就要修改它的配置文件。如果安装没出什么错的话,Apache就可以用了。有很多readme文件可供参考,但仅有一个文件是讲Win32平台的,包括Window 9x和Windows NT。

二、安装PHP

这个问题在PHP邮件列表中出现的次数太多了。你需要安装最新的Windows版的PHP。你也许会想到你自己去编译PHP3,但我认为对于一般的开发目的,这不需要。PHP也有遍布全世界的镜像站点(中国似乎没有)。选择一个镜像,找到下载区域,选择“Source code and Windows distribution”,下载“Windows Binary”。你只须要将当下来的文件Unzip(WinZip就挺好的)到你喜欢的目录中,如C:\PHP4B3.我推荐用版本号作为目录名,这样将来你试用更新版本时,无须删掉老的版本。

在Windows 95/97下安装PHP4 Beta,需要有DCOM的支持。如果你的机器上未装, 到这里去下载一份。

三、配置PHP

与PHP一起分发的文件包里有一个Readme文件,里面讲述了如何配置。有一个文件名为PHP.INI-dist,它是PHP的主要配置文件。将它拷贝到你的Windows系统目录(Windows 9x的\Windows或Windows NT的\WinNT目录),并且改名为PHP.INI。需要对此文件作适当的修改,最主要的事情是加入一些可能要用到的模块,象MySQL等。在PHP.INI文件中找到象下面的这一节内容:

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;

; if you wish to have an extension loaded automaticly, use the
; following syntax: extension=modulename.extension
; for example, on windows,
; extension=msql.dll ; or under UNIX,
; extension=msql.so
; Note that it should be the name of the module only,
; no directory information needs to go here.
; Specify the location of the extension with the
; extension_dir directive above.

接下来几行被注释的,如

;Windows Extensions
;extension=php_mysql.dll
;extension=php_nsmail.dll
;extension=php_calendar.dll
;extension=php_dbase.dll
;extension=php_filepro.dll
...

你要做的就是将文件的一些行的注释去掉,即删除打头的分号。我自己需要MySQL的支持,就从"extension=php3_mysql.dll"一行中去掉了分号“;”,在特定情况下,你要用的DLL文件不在这个列表中,只需要简单地加上一行,如: “extension=mydll.dll”。这样,PHP就配置好了。

四、让Apache与PHP一起工作

找到第一节里你安装Apache的目录,用你喜欢的文件编辑器(最好是支持Win32长文件名格式的,如Edit, Ultraedit等)打开.\conf\httpd.conf文件,在本例中是c:\Apache\conf\httpd.conf(这个是APACHE的最主要的配置文件,不要轻易修改,除非有特定把握)。如看不懂里面的内容,可去参加一下Apache文档。 要让Apache与PHP一起工作,你只要加入几行即可,如下:

ScriptAlias /php4b3/ "C:/PHP4B3/"
AddType application/x-httpd-php3 .php3
AddType application/x-httpd-php3 .php
AddType application/x-httpd-php3 .phtml
Action application/x-httpd-php3 "/php4b3/php.exe"

需要注意的是上面的这三行不能写错。其中第一行的最后一部分是你安装的PHP的目录;后面的两行,你可以直接从这里拷贝并粘帖。这行配置命令都区分大小写。  

PHP 相关文章推荐
使用Xdebug调试和优化PHP程序之[1]
Apr 17 PHP
php实现jQuery扩展函数
Oct 30 PHP
php 操作excel文件的方法小结
Dec 31 PHP
php 数组的合并、拆分、区别取值函数集
Feb 15 PHP
PHP 编写大型网站问题集
May 07 PHP
php后台如何避免用户直接进入方法实例
Oct 15 PHP
ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
Oct 29 PHP
php常用图片处理类
Mar 16 PHP
thinkPHP订单数字提醒功能的实现方法
Dec 01 PHP
php 访问oracle 存储过程实例详解
Jan 08 PHP
PHP实现字符串大小写转函数的功能实例
Feb 06 PHP
用PHP做了一个领取优惠券活动的示例代码
Jul 05 PHP
简单的页面缓冲技术
Oct 09 #PHP
php 之 没有mysql支持时的替代方案
Oct 09 #PHP
在PWS上安装PHP4.0正式版
Oct 09 #PHP
在IIS上安装PHP4.0正式版
Oct 09 #PHP
html中select语句读取mysql表中内容
Oct 09 #PHP
用PHP实现ODBC数据分页显示一例
Oct 09 #PHP
使用 php4 加速 web 传输
Oct 09 #PHP
You might like
Windows下利用Gvim写PHP产生中文乱码问题解决方法
2011/04/20 PHP
php使用smtp发送支持附件的邮件示例
2014/04/13 PHP
php中in_array函数用法分析
2014/11/15 PHP
Laravel日志用法详解
2016/10/09 PHP
PHP+iframe模拟Ajax上传文件功能示例
2019/07/02 PHP
JavaScript中使用正则匹配多条,且获取每条中的分组数据
2010/11/30 Javascript
ASP.NET jQuery 实例12 通过使用jQuery validation插件简单实现用户注册页面验证功能
2012/02/03 Javascript
jQuery使用andSelf()来包含之前的选择集
2014/05/19 Javascript
实现隔行换色效果的两种方式【实用】
2016/11/27 Javascript
详解Vue中一种简易路由传参办法
2017/09/15 Javascript
jQuery选择器之属性过滤选择器详解
2017/09/28 jQuery
JavaScript实用代码小技巧
2018/08/23 Javascript
vue-cli中vue本地实现跨域调试接口
2019/01/16 Javascript
nuxt中使用路由守卫的方法步骤
2019/01/27 Javascript
JS实现网页端猜数字小游戏
2020/03/06 Javascript
js中switch语句的学习笔记
2020/03/25 Javascript
Vue管理系统前端之组件拆分封装详解
2020/08/23 Javascript
Python异常对代码运行性能的影响实例解析
2018/02/08 Python
Python numpy实现二维数组和一维数组拼接的方法
2018/06/05 Python
Python嵌套列表转一维的方法(压平嵌套列表)
2018/07/03 Python
python中ASCII码字符与int之间的转换方法
2018/07/09 Python
Python调用adb命令实现对多台设备同时进行reboot的方法
2018/10/15 Python
使用PM2+nginx部署python项目的方法示例
2018/11/07 Python
配置 Pycharm 默认 Test runner 的图文教程
2018/11/30 Python
纯css3制作的火影忍者写轮眼开眼至轮回眼及进化过程实例
2014/11/11 HTML / CSS
Sunglasses Shop丹麦:欧洲第一的太阳镜在线销售网站
2017/10/22 全球购物
Belvilla法国:休闲度假房屋出租
2020/10/03 全球购物
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
2014/07/27 面试题
《小小竹排画中游》教学反思
2014/02/26 职场文书
员工薪酬激励方案
2014/06/13 职场文书
毕业设计致谢语
2015/05/14 职场文书
民间借贷纠纷案件代理词
2015/05/26 职场文书
幽默导游词开场白
2015/05/29 职场文书
机械原理课程设计心得体会
2016/01/15 职场文书
WebRTC记录音视频流(web技术分享)
2022/02/24 Javascript
Java9新特性之Module模块化编程示例演绎
2022/03/16 Java/Android