Windows2000系统下Apache2和PHP4安装终级宝典
Apache、PHP、mysql的组合,众所周知是创建交互式网站成本很低的流行解决方案。在Windows中安装Apache 2是一件轻而易举的事情,但要想使PHP 4与Apache 2协调运行,还需要一定的技巧。为
了让大家不再走弯路、犯错误,特为大家准备了本宝典,祝你马到成功。
首先要说一说兼容性:Apache 2不能在Windows 95上运行;在Windows 98上勉强能够运行,但不能作为服务使用。从4.3版本开始,PHP也不再支持Windows 95。所以,你的Windows操作系统必须是
Windows NT、2000或者XP。
Apache 2:源码还是二进制?
如果你有Visual C++ 5.0或更高的版本,或者安装了Microsoft Visual Studio,那么虽然可以根据源码来生成Apache,但请绝对不要这样做。在Visual Studio IDE中,Windows下的生成过程非常
复杂。即使从命令行编译,也绝对不是一件易事。所以,除非你喜欢创建makefile,否则最好获得一份Windows Installer二进制发行包,也就是一个.msi文件。等你对Apache有了足够多的认识,
知道自己要进行哪些定制操作时,才可考虑亲手生成(编译)Apache。
如果已经安装好并正在运行老版本的Apache,首先要停止它,卸载它,然后才能开始安装新服务器。多个版本的Apache 2不能共存。
双击Apache 2 .msi文件。同意许可协议后,正确地设置Network Domain和Server Name(如果不打算将Apache安装到远程计算机,那么设置localhost就可以了),在Administrator’s Email
Address区域输入你的电子邮件地址,保持端口80/服务选项单选钮的选中状态。在下一个对话框中如果选择Typical安装,可以快速地获得一个能实际工作的服务器环境。
--------------------------------------------------------------------------------
安装提示
建议将默认安装目录从C:\Program Files\Apache Group变成C:\Apache或者符合8.3文件名格式的其他名称。这样一来,以后每次输入Apache安装路径时,都不必为其添加引号。
--------------------------------------------------------------------------------
稍候片刻,安装向导会告诉你Apache 2安装成功。接下来惟一要做的事情就是进行测试,请打开浏览器并访问localhost,这样应该看到默认的Apache 2主页。
然后可以删除主Web服务器目录中的所有示例文件,它们默认位于C:\InstallDirectory\Apache\Apache2\htdocs中。如果有一个现成的主页Index.html,请把它拷贝到这里;另外,也可以马上创建
一个空白主页。对于未初始化的HTML,以下代码就可以了:
color=#0066ff><html>
<head>title=default server page</head>
<body>Default server page</body>
</html>
让Apache 2为PHP做好准备
从现在开始,你需要较多地以人工方式进行安装,不能简单地点击和选择几个选项了事。尽快习惯它吧,这才是Apache的方式。你需要编辑文件来设置不同的配置选项;如果操作不当,你所做的修
改就会妨碍Apache的正确加载。如果设置引发错误,那么错误可能被记录到Apache 2错误日志中(默认为C:\InstallDir\Apache2\Logs\Error.log)。但能够像这样进行记录的毕竟是少数,大多数
错误只会记录到Windows事件日志中(开始| 设置| 控制面板| 管理工具| 事件查看器)。
令人遗憾的是,在你对安装设置进行调试时,Windows事件日志并不是一个方便的工具。更好的做法是在命令行窗口中测试Apache服务器的加载,这样能立即看到错误报告。所以,在完成了我即将
讨论的配置修改后,请打开一个命令行窗口,切换到Apache的binary目录(C:\InstallDir\Apache2\bin),在那里启动Apache。
Apache配置文件是C:\Apache\Apache2\Conf\Httpd.conf,可用任何文本编辑器来编辑。查找DirectoryIndex,定位到下面这一行:
DirectoryIndex index.html index.html.var # index.php
为了允许Apache处理PHP页,要删除注释字符(#),变成:
DirectoryIndex index.html index.html.var index.php
还要允许在任何目录中使用.htaccess文件,所以请在配置文件中查找AllowOverride,把这个设置从None改成All。保存了所做的改动后,可继续在文本编辑器中打开该文件,因为等会儿安装PHP时
,要再次编辑这个文件。
安装PHP
虽然可以下载PHP的源码,但和Apache 2一样,最好直接使用二进制发行包。Apache 2可采取2种方式来运行PHP程序:通过一个CGI接口来运行(外部调用Php.exe),或者使用PHP的DLL文件在
Apache的内部运行。后一种方式的速度较快。所以,针对每个版本的PHP,都会提供2个Windows二进制发行包。较小的是.msi包,它会安装CGI可执行程序Php.exe,但其中拿掉了通过Apache DLL来
运行PHP脚本所需的模块。较大的.zip包则包含了所有这些东西,你可以从snaps.php.net网站的Win32区域下载它们。文件下载完毕后,把它解压到C:\Php(保留文件夹名称)。除非你有绝对的把
握,请同时下载PHP手册,它有多种语言的版本可供选择。
配置Apache 2来运行PHP4
现在来到了最有趣的部分:将Apache和PHP完美地配合起来。首先,请将C:\Php\Dlls目录中的所有DLL文件拷贝到Windows的System目录(%windir%\System)。接着,在Apache的配置文件
(Httpd.conf)中查找包含了大量AddType命令那个小节,自己添加下面这一行:
AddType application/x-httpd-php .php
将C:\Php\Php.ini-recommended拷贝到Windows目录(%windir%),把它重命名为Php.ini,并用文本编辑器打开它。编辑其中对doc_root、extension_dir和session.save_path进行设置的3行,使
其和下面展示的一致,注意要把InstallDir替换成你的Apache 2的安装目录的名称。
doc_root = c:\apache\apache2\htdocs
extension_dir = c:\php\extensions
session.save_path = c:/temp
在session.save_path中使用正斜杠和反斜杠都是允许的。PHP手册声称这些路径参数需要在最后添加一个反斜杠,但这个说法是不正确的。在PHP 4.3中不需要这样做。另外,如果C:\Temp不存在,
请自己创建它。
下一步是允许Apache将PHP程序作为模块来运行,这要求你采取2个步骤。首先,将C:\Php\Php4ts.dll拷贝到Windows的系统文件夹(%windir%\System)。在Httpd.conf中找到LoadModule小节,自
己添加下面这一行:
LoadModule php4_module “c:/php/php4apache2.dll”
如果你出于某种原因而需要在CGI模式中运行PHP程序(使用Php.exe),请将上面这一行变成注释,并在Httpd.conf中添加下面这些行:
ScriptAlias /php/ "c:/php/"
Action application/x-httpd-php "/php/php.exe"
一切都搞定了吗?
保存所做的更改后,你需要亲自去证明两点,才能确保Apache 2/PHP 4成为一对完美的搭档:Apache能正常加载吗,它能正确处理PHP页吗?
要知道Apache是否能够正常加载,在你已经打开的命令行窗口中输入以下命令:
apache –k start
另外,如果Apache正在运行,可用以下命令重新启动它:
apache –k restart
从命令行启动Apache的好处在于,如果出现一个错误,Apache会立即报告它。你可能遇到的最常见的问题在于,Apache可能由于某种原因而无法加载Php4apache2.dll。如果Apache报告了这个错误
,请按前面所述的步骤重新操作一遍,确保一切都没有错误。
要知道Apache是否能正确地处理PHP页,请用你的文本编辑器创建一个简单的PHP页,命名为Phptest.php,其中只包含下面这一行:
<? phpinfo(); ?>
将文件保存到主Web服务器目录(C:\InstallDirectory\Apache\Apache2\Htdocs),用浏览器访问http://localhost/phptest.php。如果一切正常,应该看到一个含有PHP徽标的网页,其中包含大
量设置和其他信息。要知道PHP当前是通过CGI来运行,还是在Apache内部运行,可以检查一下环境变量orig_script_name。如果PHP通过CGI来运行,这个变量的值就是/Php/Php.exe。如果Apache将
PHP脚本作为模块来运行,该变量的值应该是/Phptest.php。
虽然在Windows上安装Apache 2和PHP并不是一件容易的事情,但也完全没必要采取摸着石头过河的做法。通过本文的说明,你应该可以快速搭建起这个史上最好的、成本最低的Web开发环境。
转载于:https://www.cnblogs.com/kylskjb/archive/2008/08/16/1269189.html
Windows2000系统下Apache2和PHP4安装终级宝典相关推荐
- 在linux操作系统中启动oracle数据库程序,Linux系统下Oracle数据库的安装和启动关闭操作教程...
这篇文章主要介绍了Linux系统下Oracle数据库的安装和启动关闭操作教程,并针对在sqlplus下所需执行的命令进行讲解,需要的朋友可以参考下 1.准备: df -H 查看空间剩余 一般准备最 ...
- mysql安装教程8.0.21安装,Windows系统下MySQL8.0.21安装教程(图文详解)
安装建议:尽量不要用.exe进行安装,用压缩包安装,对日后的卸载/版本升级更为方便 下载地址:https://dev.mysql.com/downloads/mysql/ 1.点击上面的下载地址得到z ...
- linux软件安装非系统盘,linux操作系统可不可以像安装windows软件一样在windows系统下的硬盘上安装...
linux操作系统可不可以像安装windows软件一样在windows系统下的硬盘上安装 答案:2 信息版本:手机版 解决时间 2020-07-24 14:13 已解决 2020-07-23 16: ...
- Windows系统下的python程序安装
Windows系统下的python程序安装 1.搜索www.python.org,进入Python官网: 2.在官网首页导航栏,点击Downloads: 3.跳转页面后会有醒目提示>Downlo ...
- 【Ubuntu系列】Ubuntu20.04系统下3060显卡驱动安装记录
[Ubuntu系列]Ubuntu20.04系统下3060显卡驱动安装记录 设备及相关信息简介 具体安装步骤 step1 获取显卡硬件信息 step2 在Ubuntu系统中卸载显卡驱动 step3 安装 ...
- Linux 系统下各种包的安装方法
一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root用户: 3.cd soft.version.rpm所在 ...
- Win7系统下利用U盘安装Ubuntu14.04麒麟版
转自http://www.360doc.cn/article/14743053_335473181.html 重要提示:在采用u盘安装ubuntu分区时,所有磁盘一定要全部设置成逻辑分区,包括根目录/ ...
- Win7系统下利用U盘安装Ubuntu_12.04实现双系统教程
原文地址: http://blog.csdn.net/dreamthen/article/details/8765472 目前网上流传的关于Linux 系统的安装教程可是说是五彩缤纷,之前想采用硬盘安 ...
- IBM T61 系列笔记本,WinXP 系统下驱动程序的简化安装
IBM T61 系列笔记本,WinXP 系统下驱动程序的简化安装 IBM T61 系列笔记本,WinXP 系统下驱动程序的简化安装; 1.按附录"逐步安装T61驱动"的步骤,手动安 ...
- Mac系统下vue脚手架的安装与使用
Mac系统下vue脚手架的安装与使用 1.安装 安装vue前,首先安装node,在官网下载安装包,然后直接安装即可,地址链接: nodejs官网 打开终端,输入命令:sudo npm install ...
最新文章
- thread_t 数组 linux,首页 C#如何打印pthread_t
- 【小米笔试题】朋友圈问题-并查集解法
- git常用命令及配置
- 树的存储结构以及实现代码
- c语言 单词变复数_【热点】浅谈 :怎样学好C语言?
- 如何制作一个塔防游戏 Cocos2d x 2 0 4
- 【Qt教程】3.4 - Qt5 QPainter绘图事件、绘图功能
- miui11是android几,miui11是安卓几
- button执行onclick函数_JavaScript 函数定义与调用
- linux安装matlab(亲测有用)
- 项目中的门禁管理者贾维斯———关于 Shiro 框架的 基本使用和基础配置,以及工作流程的生动解释
- 怎么下载小程序图片 ?
- TensorRT - 扩展TensorRT C++API的模型输入维度,增加Dims5,Dims6,Dims7,Dims8
- 记账APP:小哈记账3——登录页面的制作
- 华为服务器批量BMC修改密码,华为服务器批量修改bmc地址
- adobe illustrator如何裁剪图像
- 【KALI使用】14 被动信息收集——RECON-NG(待完善
- C++ 复杂的数组声明: int (*Parray)[10] = arr,int (arrRef)[10] = arr,int *(arry)[10] = ptrs;
- 如何设计一个简单的KV数据库
- Go实现自动回复的Tg bot机器人
热门文章
- vue 中使用echart5.2发生TypeError: Cannot read properties of undefined (reading ‘init‘)
- VS2015 fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include “stdafx.h”
- jdbc中excute,excuteUpdate,excuteQuery函数解释
- struts2之数据处理的三种方式
- java 传递intent_intent传递参数
- -bash: cd: /.ssh: 没有那个文件或目录
- linux apache php.ini,Linux Apache的.htaccess控制php.ini 与MIME类型
- python创建图形界面_Python入门四:创建第一个图形界面-Go语言中文社区
- 机器人学中的状态估计 中文版_机器人学——学习笔记18(Minpulator Traj Planning Example)...
- python连续小波变换_连续小波变换CWT(2)