急!高分请教!!!在winxp下配置apache2.0.43+php4.2.3出了点问题!

在winxp下配置apache2.0.43+php4.2.3
在httpd里已经加入了这句

LoadModule php4_module "D:/SERVER/PHP/sapi/php4apache2.dll"

当运行apache -k install 装载里出错,提示为:
apache:module "c:\php4build\snap\sapi\apache2filter\sapi_apache2.c"is not compatible with this version of Apache ...
可我的apache是2.0的
如果装载的php4apache.dll
它则说 httpd 里syntax error
cannot load D:/server/php/sqpi/php4apache.dll:The specified module could not be found.

请问是怎么回事呢?请高手指教!!!!!
(另:我的apache装在D:\SERVER\Apache Group\Apache2\
php装在D:\SERVER\PHP
按instal.txt里写的已经把
AddModule mod_php4.c
AddType application/x-httpd-php .php
加入到了httpd里了.)
---------------------------------------------------------------

用CGI方式吧跑PHP吧;
apache2.0.43和php4.2.3以模块方式跑不兼容;

:)

---------------------------------------------------------------

我有一个问题 Apache 2.0.43 安装程序自动在 2K/XP 系统上面安装服务
为什么你要手动安装服务呢?

还有 PHP / install.txt 文件中讲的安装方法是针对 Apache 1.3.x 版本
的,你在 Apache 2 上面也全套照搬怎么可能不出问题呢!

讲你的问题

首先, 在 Apache2 上面,根本不需要 AddModule 来激活 PHP DSO 模块
只要 LoadModule 在Apache2启动的时候载入模块就可以了
加了 AddModule 肯定会错。
在Apache1.3.x 上面也要注意 AddModule mod_php4.c 一定要出现在
LoadModule 命令之后,要不索性不要这个命令,我就没有加。

还有 Apache 和 PHP 之间好像没有出现过不兼容的情况。我之前见过一次
不过我已经忘了具体的版本号。
我在自己的机器上面同时安装了两套环境:
Apache 1.3.27 + PHP 4.3.0 PRE 2

Apache 2.0.43 + PHP 4.2.4 DEV
均没有出现所谓的不兼容情况

你下载的Apache 真的是 2.0.43 版本吗?
是在 http://www.apache.org 下载的吗?
你的 PHP 版本呢? 如果版本正确那就绝对没有问题

Tips: PHP 不同版本之间的文件最好不要通用,即使偶尔可以用。

给你的安装建议:
重新下载软件包:
Apache: http://nagoya.apache.org/dist/httpd/binaries/win32/

下载 .msi 结尾的版本,
apache_1.3.27-win32-x86-src.msi (包含源代码)
apache_1.3.27-win32-x86-no_src.msi (无源代码,推荐)
apache_2.0.43-win32-x86-no_ssl.msi

.exe 结尾的版本内置了 windows installer ,不要下载这个版本,毕竟大了 3 M
(如果你是宽带,那就随便你了!)

----

PHP: http://www.php.net
http://snaps.php.net (换服务器中,可能要 down 很多天哦!)
snaps 站点放的都是 derick 这些人每天编译的 development 版本, 你可以拿来测试
用,不过就不要拿去架站了 :)

先弄干净你的系统,卸载掉以前安装的 Apache 和 PHP ,记得一定要删除干净
特别是 system32 / system 这些目录, 然后就是 php4ts.dll 这个文件一定全部干掉.

然后安装 Apache 2 , 安装程序将自动安装服务,并尝试启动 Apache 2,不出意外一般都会成功

(注意关闭掉你系统上面的其他 Web 服务器,如果你打算开始学习 Apache 就暂时忘掉 IIS, PWS 什么的~~)

强烈建议测试一个普通的 html 页面,没问题后,作一些简单的设置

比如: Servername, DirectoryIndex, Listen 等命令的配置,这里不罗嗦了~

安装 PHP 是重头戏, 嘿嘿~~

这里讲的是一种有些新潮的安装方法了,也就是不往 system32 系统目录copy文件

确认你的Apache2安装目录,如: C:\Apache2

将PHP解压缩到C:\php4

将php4ts.dll, php4ts.lib 两个文件copy到Apache.exe文件所在的目录 :) <= 注意这里
一定是 Apache.exe 的目录,也就是 C:\Apache2\bin
(注意举一反三,如果是Apache1.3.x呢? 应该是 C:\Apache, 因为 Apache.exe 不在bin目录,而在根目录)

修改 Apache 2 配置文件 Apache2/conf/httpd.conf :

加入:
LoadModule php4_module C:/php4/sapi/php4apache2.dll ( 这里面是 php4apache2.dll )
AddModule application/x-httpd-php .php

OK, 再次重新启动 Apache2, HOHO!!

php.ini 放在什么地方呢? 可以丢到 c:\winnt 目录下面去, 也可以放到 Apache 的安装目录,注意喽,这次是
安装目录啦,不再是 Apache.exe 所在的目录.

这样就可以在自己系统上安装安装两套开发环境,如果是传统的安装方法,把 php4ts.dll 放到system32目录下面的
话,就不行了
---------------------------------------------------------------

我装的时候也遇到这个问题,后来是:

1、换成cgi方式,ok!

2、到http://snaps.php.net/下载了最新的php,看phpinfo()出来的结果好象是4.3.0(没注意看,因为我主要是装起来测试同事的程序,平时自己不太用php),然后
LoadModule php4_module ../php/sapi/php4apache2.dll
AddType application/x-httpd-php .php .php3 .php4 .phtml
就ok了。(php的那几个lib和dll文件是放到winnt/system32下面,php.ini我放到了winnt下面)

---------------------------------------------------------------

php4.3.0 pre2 中的install.txt文件
---------------------------------------------------------------

到http://snaps.php.net/下载php4.2.4 dev版,即可;

:)
---------------------------------------------------------------

将你的php4ts.dll文件拷到WINNT/SYSTEM32目录下

Published At
Categories with Web编程
Tagged with
comments powered by Disqus