帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > PHP编程
PHP4.23在WindowsXP下的IIS和Apache2两种服务器上的安装实例
作者:avenger 发布时间:2005-03-11 来源:超越PHP

点击查看原图
 

        点击"配置"按钮,你会看到又跳出一个选项卡,上面是已经定义的文档类型。点击"添加"按钮,在出来的对话框的可执行文件文本框中敲入你的php.exe所在的绝对路径加上"%s %s",在这里是"c:phpphp.exe %s %s",扩展名文本框中写上你要求php程序处理的后缀名,在这里我们写入".php",下面的选项按默认设置即可。如下图:

点击查看原图

       4.好了。现在试着把下面的几段代码保存成后缀为php文件,然后放到你的一个虚拟目录中去访问,看一下是否能出现正常的结果。
        <?php
        phpinfo();
        ?>
也许你会碰到下面的输出结果:

Security Alert! The PHP CGI cannot be accessed directly.
This PHP CGI binary was compiled with force-cgi-redirect enabled. This means that a page will only be served up if the REDIRECT_STATUS CGI variable is set, e.g. via an Apache Action directive.

For more information as to why this behaviour exists, see the manual page for CGI security.

For more information about changing this behaviour or re-enabling this webserver, consult the installation file that came with this distribution, or visit the manual page.

不用怕,这是因为现在PHP在IIS中是以Cgi方式运行的,而你的php配置文件中这一项又没有打开。如果你看到上面的一段警告,你需要打开你的php.ini文件,然后查找"cgi.force_redirect = 1"这样一句,把这一句前面的分号去掉,然后把1改成0就OK了,现在再来刷新一下你刚才的页面,如果没有什么意外的话,你的屏幕上的结果应该和我下面的截屏差不多。到此,PHP在IIS上的安装过程已经完成了。注意我在图中用红线标明的一句说明PHP是运行在CGI模式下。(点击可放大)

点击查看原图

 

四、Apache下的安装:

  我们这次采用的是Apache的一个全新版本Apache2,以前在Apache下安装PHP记得还比较麻烦,现在在Apache2平台下,我们可以方便的以模块化的方式安装PHP,前提是PHP版本必须是4.0以上的。当然,现在还在用PHP3的已经很少了。所以这次我们只介绍如何以模块化的方式在Apache下安装PHP,如果你想了解在Apache下如何以Cgi的方式加载php,可以参考本站的另一篇文章"PHP+Apache在Win9x下的安装和配置"(点击查看原图点击查看原图,则说明你的Apache没有安装成功,你需要进一步去找一下失败的根源。一般最常见的错误就是端口有冲突,Apache默认的端口是80,如果你的80端口被另一个程序(如IIS)占用了的话,就会出现无法启动的情况。出现这种情况,你可以按照下面的方法来修改:点击"开始->程序->Apache HTTP Server 2.0.40->Configure Apache Server->Edit the Apache httpd.conf Configuration File"会打开一个Apache的配置文件,你可以用文本编辑器来打开它。然后在这个文件的第120行左右,你会发现类似于"Listen 80"的字样。现在只要把这个80改成你想要的端口即可,当然在你用浏览器浏览的时候也不要忘了加上端口哦。
 到了这里,你的Apache应该已经亮起绿灯了吧,下面我们来测试一下它是否在工作。打开你的浏览器,在地址栏上输入"http://localhost/"(如果你的端口不是80,需要在后面加上":端口号"),不知道你是否看到了Apache的欢迎页,笔者在这一步并没有看到,不知道什么缘故,Apache2版本好像没有默认的引导页面。如果你也没有看到,可以试着在后面加上一个文件名"index.html.en",如果能出现下面类似的页面,则说明Apache已经工作正常了。

点击查看原图

 

 2.好了,Apache已经安装OK了,接下来就是看如何跟PHP结合起来了。
 最开始的两步和上边介绍的IIS步骤是相同的,也是解压后复制到C盘根目录,然后改名,再把PHP.ini复制到系统文件夹,如果有必要的话,修改一下"extension_dir"和"doc_root"这两项的值。上边已经说得很清楚,不再多说。
 接着便是最重要的一步了,也是模块化安装的核心步骤了,可要看仔细了。
 打开Apache2的配置文件(http.conf),可以通过点击"开始->程序->Apache HTTP Server 2.0.40->Configure Apache Server->Edit the Apache httpd.conf Configuration File"打开.

点击查看原图

或者打开你的Apache安装目录下的Conf目录,你会发现一个名为http.conf的文件,就是它了,你可以用任一个文本编辑器来打开它。在这个文件的第121行左右,你应该能找到"LoadModule"字样,然后后面是一串路径,这就是Apache默认要加载的模块了,同样,咱们也可以在其后加上一句,让他来加载PHP模块。
 其实,就是这么简单,你只要加上这么一句"LoadModule php4_module C:/php/sapi/php4apache2.dll",这里要解释一下"php4_module"是模块的名称,后面跟的路径则随你的PHP安装目录而变,这三个字串之间是用空格符分隔的。

点击查看原图

 接下来,还有一步工作,也是很多安装失败的朋友所忽略的,刚开始笔者也是无论如何加入上边的那一句后Apache就启动不起来了。后来经过几次试验,才发现,你的PHP安装目录下的"php4ts.dll"必须要复制到windows系统的system32目录下,否则,就不可能启动起来。
 现在再试一下,是不是一切都正常了。好了,再来回顾一下我们在Apache下安装的过程。

 (1)添加"AddType application/x-httpd-php .php".
(2)添加"LoadModule php4_module C:/php/sapi/php4apache2.dll".
 (3)复制"php4ts.dll"到system32目录.

 是的,就是这么简单,PHP已经运行在你的机器上了。你可以通过双击任务栏的Apache服务器图标来看到这一点。下图是加载PHP模块和未加载PHP模块的对比:

点击查看原图

 3.再来测试一下吧。
 把下面的代码保存成info.php文件放在你的Apache安装目录下的htdocs目录下。
 <?php
 phpinfo();
 ?>
 然后在浏览器中敲入点击查看原图

      以上在Apache部分所讲述的东西对不太熟悉Apache配置的朋友可能有一点不太明白,不过只要你按我上面所说的一步步的来,应该都不会出现什么大的毛病。如果万一不知道自己改的哪一个部分使Apache启动不起来了,你可以切换到Apache安装目录下的Conf文件夹,将http.conf文件删除掉,再将Apache的默认配置文件httpd.default.conf改名成http.conf即可。如果你想进一步的了解Apache的配置,可以参考一下本站的另一篇文章"Apache服务器配置全攻略"(http://www.phpe.net/?n=ReadArticle&a=94)。

四、后记
 PHP的安装本来就是一件很简单的事情,特别是后来所讲的以模块化安装PHP的过程。大家有时间都不妨自己试一下,这样你才能体验到成功的喜悦。
 最后祝大家都能顺利的安装PHP。:P

补记:很多朋友看了这篇文章后都说不能按上面的方法正确安装PHP,这种原因归根到底是由于PHP的版本的原因,请到本站下载栏目下载经测试可以以模块化安装的PHP安装包。如有问题,请到在线论坛提出。

注:本文章为原创文章,版权归文章作者与超越PHP网站所有,未经本站同意,禁止任何商业转载。非盈利网站及个人网站转载请注明出处,谢谢合作!

  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
无相关信息

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·Windows下集成安装Apache,PHP,MYSQ
·Mysql注入:SQL Injection with MyS
·PHP 的来龙去脉
·PHP 的功能概述
·PHP与其它CGI的比较
·PHP 的编译配置详细选项
·php.ini 配置详细选项
·如何写作PHP程序
·Hello,World
·嵌入方法
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统