在 WIN 平台上让你的 Apache 2.0.45 支持 PHP

apache

前言
如果你对使用 Apache 缺乏信心。或者你已经在使用 apache 2 但是不能让他和 PHP 一起工作(apache不能解析你的.php脚本)。不要怕,读完本文后,所有的问题都会迎韧而解的。

我将如何使 Apache 和 PHP 共同合作的方法步骤归纳总结了一下。其实,这么比其他人所说的简单得多。我很惊讶为什么在这之前没有人写一个针对这个问题的操作指南,好让每个人都能够更好地理解和使用 Apache 2.0 。凭着个人的兴趣,我分析了 Apache 2.0,特别地,为了获得最新的 Apache服务器,本文所用的,是2.0.45版。

现在,对任何对升级有顾虑的人来说,把服务器升级到 Apache 2.0,比升级微软的IIS要安全得多,并且,还有一大堆有用的工具。在本文章中,我将向大家演示如何配置你的 httpd.conf 文件来使你的服务器能够处理 .php 和.phps 脚本。 接下来我们要一起来配置apache 2,当我们请求 .php 页面时才不会显示源代码或提示下载而不显示我们想看到的页面。

我们要做的工作包括:

下载和安装apache 2.0.45
配置httpd.conf文件
使apache2运行.php和.phps文件
这篇文章是针对Windows 2000/Me/XP用户的。WIN95/98 和 NT4.0 用户如果没有 msi installer 可能需要先从微软下载并安装它。之所以我要强调 Msi 安装程序,是因为本文是针对初次安装 Apache 2 的人的。如果你已经在此之前安装了 Apache,那么你可以直接开始安装了。但也要需要注意本文的一些步骤,特别是当你打算安装PHP 4.3.1的时候。好了,让我们开始吧。

下载apache2

如果你已经安装了apache 1.3,请先别卸载它,先把它停了。在安装了apache2并且PHP脚本工作后,你就可以安全的卸载 apache1.3 了,卸载请一定注意备份好你的 httpd.conf 文件,这样,你就只需改动很少的地方,就可以把它用到新的服务器上了。

对机器上没有安装过apache或安装了其他服务器的人,请先去apache.org下载apache2.0.45(http://nagoya.apache.org/mirror/httpd/binaries/win32/)。确信你下载的.msi文件是5.3M大小。运行下载的.msi文件安装apache。你的服务器就会自动启动。如果你有防火墙,请确保防火墙允许对 Apache 的访问。

你应该注意apache服务监视器(一个绿灯,在任务栏里面),标志着apache在工作。要确保它在工作,只要把鼠标箭头移动到监视器上,它将会告诉你它在工作。你的任务栏应该和下图差不多:

有人也许想知道为什么会显示 “running 1 out of 2 apache services”,那是因为你可能有不止一个版本的apache在工作。大多数人不会这么干,但我的机器上的确有两个 apache 服务器。我的 1.3.27 停止运行了,而 apache 2 则正在运行中。下图是我的机器的情况:

注意,在apache1.3.27 的监视器上有个红灯,而在apache2的上面有个绿灯。第一次安装 apache 的人只能看见一个,因为你只装了一个。

好了。Apache服务器已经基本安装完毕了。现在让我们去下载PHP的源代码,因为我们想让 PHP 和 APACHE 合作,去php.net下载最新版的PHP(目前为PHP 4.3.2 http://www.php.net/downloads.php)。如果你已经安装了PHP,检查sapi文件下是否有php4apache2.dll文件,如果有,你可以跳过下面的步骤。

我们需要下载 php-4.3.2-Win32.zip 和 php-4.3.1-installer.exe 两个文件,许多人要问为什么都要下载。
这样做是让你偷懒,这样就可以不需要建立文件夹,不需要把文件夹名字从 php-4.3.1-Win32 改为PHP。我们先使用installer.exe来安装,它将为你建立PHP文件夹,你可以节省更多的时间。运行installer.exe,根据你的喜好安装PHP,完成后,解压zip文件,然后找到压缩包中的 sapi 文件夹。把该文件夹复制你刚才安装好的PHP目录。(例如:C:PHP)然后我们便可以删除php-4.3.2-win32文件夹,因为现在已经不再需要它了(有点卸磨杀驴的感觉,haha)。把 PHP文件夹中的php4ts.dll复制到你的系统目录:在XP下是WINDOWSSystem32,在2K下是WINNTsystem32。下面我们开始修改conf文件。

让 Apache 解析 php 页面

用你喜欢的文本编辑器打开httpd.conf文件,让我们加几行进去,这样我们Apache 就可以解析 .php 和.phps文件了。我们需要注意conf文件的两个部分,第一部分是 Dynamic Shared Object (DSO) Support list,第二部分是 cgi-bin directory

首先让我们找到如下所示的 DSO 列表.

# Dynamic Shared Object (DSO) Support
#
# to be able to use the functionality of a module which was built as a DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Statically compiled modules (those listed by `httpd -l') do not need
# to be loaded here.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
这还有许多,一直找到最后一行:

#LoadModule ssl_module modules/mod_ssl.so
上面一行是该列表的最后一行,按回车产生一个空的行,在这个空行内加入下面这行:

LoadModule php4_module c:/php/sapi/php4apache2.dll
在关闭conf文件之前,我们需要再加入两行。找到CGI-BIN目录,为了节省时间,可以这样找:按CTRL+F,(译者注:如果你是在记事本而不是写字板里编辑这个文本,那么,应该用快捷键F3)查找 <Directory "C:/Apache2/cgi-bin"> ,在第二个</Directory>后面两次回车,以便加入下面两行:

AddType application/x-httpd-php .php .phtml .php3 .php4
AddType application/x-httpd-php-source .phps
添加好后,保存你的conf文件,并重新启动你的apache服务器。高级用户现在就可以测试你们激动人心的PHP脚本了。一旦成功运行,那么,你的工作就结束了。对于初次安装的用户,你需要把PHP文件保存在你的默认的路径里:c:Program FilesApache GroupApache2htdocs。创建一个新的文本文档,将下列代码添加进去,保存为 date.php。

<?php
$today = getdate();
$month = $today[month];
$mday = $today[mday];
$year = $today[year];
echo "$month $mday, $year";
?>
现在来测试上述代码(试试在浏览器的地址栏里输入:localhost/date.php,然后敲回车),应该显示当前的月、日期、年。如果输出正确,就表明PHP已经在你的服务器上开始工作了。为了满足那些想要看源代码的人的愿望,你就再创建一个文本文档,将下列代码添加进去吧:

<?php
$browser = getenv("HTTP_USER_AGENT");
?>
<P>You are using the <?php echo($browser);?> web browser.</P>
<?php $title = "Browser Details"; ?>
<title><?php echo $title; ?></title>
把它保存为 browser.phps,并另存为 browser.php 。在测试了这两个例子后,你会发现结果是不同的。browser.php将显示你的浏览器版本,如:
You are using the Mozilla/4.0 (compatible; MSIE 6.0; Windows 98) web browser.
而 browser.phps 则显示了你的源代码。

总结

现在,Apache 2.0.45 应该可以处理你的 .php 和 .phps 网页了。希望一切都在顺利运行。现在,你拥有了一个全新的服务器了。:P

时间: 2024-08-30 06:52:37

在 WIN 平台上让你的 Apache 2.0.45 支持 PHP的相关文章

在WIN平台上让你的 Apache 2.0.45 支持 PHP

apache 前言如果你对使用 Apache 缺乏信心.或者你已经在使用 apache 2 但是不能让他和 PHP 一起工作(apache不能解析你的.php脚本).不要怕,读完本文后,所有的问题都会迎韧而解的. 我将如何使 Apache 和 PHP 共同合作的方法步骤归纳总结了一下.其实,这么比其他人所说的简单得多.我很惊讶为什么在这之前没有人写一个针对这个问题的操作指南,好让每个人都能够更好地理解和使用 Apache 2.0 .凭着个人的兴趣,我分析了 Apache 2.0,特别地,为了获得

一个可以让.net程序在非WIN平台上运行的软件Mono_实用技巧

唉,最近只知道埋头写程序,消息实在是不灵通啊,今天偶然发一个开源项目,Mono,一个旨在让.net程序在linux,unix,mac os,solaris等平台的软件,爽啊,期待.... What is Mono?Mono provides the necessary software to develop and run .NET client and server applications on Linux, Solaris, Mac OS X, Windows, and Unix. Spo

配置Apache 1.3或者Apache 2.0服务器的5个技巧

本文提出了配置Apache 1.3或者Apache 2.0服务器的5个技巧.我们将阐述以下的配置方案:调整Apache的accept()串行化.Apache 2.0线程.采用mod_ssl的SSL会话缓存.优化keep-alive超时值以及检查服务器负载以平衡服务器可处理的请求量等. AcceptMutex Apache 1.3.21和Apache 2.0中引入了AcceptMutex 指示符,该指示符给调节服务器的性能带来了一个难得的机会.该指示符配置Apache的accept()处理方式.在

【Win 10应用开发】如何知道UAP在哪个平台上运行

原文:[Win 10应用开发]如何知道UAP在哪个平台上运行 面向22世纪的现代化应用程序可以同时在多种设备上运行,于是有朋友会有一个疑问:有时候,我们还真的需要判断一下,UAP应用程序在哪个平台上运行.尽管大多情况下我们不必要这样做,但某些特殊情况还得考虑.比如一串数据列表,我希望如果在桌面上运行时就以横向列表展现:但要是运行在手机上就以纵向列表展现. 也就是说,其实我们只需分析两种情况即可: 一.桌面.(台式机.笔记本.平板.游戏机.发广告专用机.导航器--) 二.移动环境.其实就是手机.

在J2ME平台上构建你的邮件程序

程序 在J2ME平台上构建你的邮件程序Jacky Pan Table of Contents1. 教程的介绍和程序的安装 2. 程序的结构 3. 界面的设计 4. 账户的管理 5. MIDlet和Servlet的网络连接 6. Servlet和JavaMail 7. 简单的XML 8. 小结 1.教程的介绍和程序的安装 本教程讲述了如何在J2ME平台上编写一个简单的邮件应用程序,包括界面的设计,邮件的发送/接受,邮件账户的创建/修改/删除,后台Servlet的编写. 为了运行本教程所带的演示程序

在Rational Application Developer平台上基于JAX-WS开发Web services

引言 Web Services 是一种面向服务的技术,通过标准的 Web 协议提供服务,目的是保证不同平台 的应用服务可以互操作.依据 web services 规范实施的应用之间,无论它们所使用的语言. 平台或内部协 议是什么,都可以相互交换数据,这就是 web services 的好处.本文选择 IBM WebSphere Application Server 作为 web services 的运行环境,并选择 IBM Rational Application Developer(以下简称

大数据分析平台解析:什么是Apache Spark?

Apache Spark是一款快速.灵活且对开发者友好的工具,也是大型SQL.批处理.流处理和机器学习的领先平台. 2009年,Apache Spark从美国U.C. Berkeley的 AMPLab为起步,现在已经成为世界上主要的大数据分布式处理框架之一.Spark可以以各种方式进行部署,为Java.Scala.Python和R编程语言提供本地绑定,并支持SQL.流数据.机器学习和图形处理.已经被银行.电信公司.游戏公司.政府以及苹果.Facebook.IBM和微软等领域的企业和科技巨头所使用

【沉淀】阿里高级专家应答:各种数据在一个统一计算平台上的融合,才能产生更大的价值

"这个没啥好讲的,找XX和XX技术Leader吧?" "为什么挑中我?" "时间点再考虑下吧,要不要等--" -- 当发出云栖专家风采展示邀请时,应答没有直接答应.进一步沟通,你会发现推脱的背后,却是一位实实在在技术大牛的低调和谦逊. 应答认为,分布式系统架构设计为了满足20%高级用户的需求,有可能要提供80%的接口(原因见完整对话) 应答是阿里巴巴技术平台事业部架构与专家咨询的高级专家.架构与专家咨询究竟是什么样的一个岗位?应答做了剖析:本质上

使用RMAN实现异机备份恢复(WIN平台)

--=================================-- 使用RMAN实现异机备份恢复(WIN平台)--=================================     在有些情况下,如数据库服务器处于磁盘空间的压力或成本控制需要将数据文件备份到异机,使用RMAN可以完成该工作.基于Windows平台所需完成的配置相对简单,仅仅是添加账户与使用新增的帐户来启动数据库服务以及设置共享路径.    下面给出具体描述.    一.配置数据库服务器与备份目的主机    1.