求救:在win2000中如何配置php和apache,IIS

strawren 2002-07-24 10:54:22
各位大侠:本人前不久在win2000family server中配置了php和apache。
在apache 的config文件中修改一些参数:添加了loadmodule等。
而且apache能正常运行,但在浏览器中打开php文件时,弹出“
php.exe 应用文件出错--- "0x10030523"指令引用的“0x00080bdc”
内存。该内存不能为“read”。。。。
我用换用IIS做服务器,结果也一样。
而且asp的文件在IIS 中都无法浏览,只能浏览一些图片和文本/
请教各位大侠:如何解决这个问题。不胜感激。
...全文
30 点赞 收藏 13
写回复
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
strawren 2002-07-25
不会吧。有那么惨。那不完了!
为什么重装就会解决问题?
肯定存在什么问题。
回复
chinaworker 2002-07-25
很遗憾的告诉你!~~~~~~~~~~

你唯一的办法重装系统~~~~~~~~~~

一个多月以前我也出现这样的问题~

但是我的apache还可以正常使用,也就是说使用iis就出现跟你同样的问题
(配置是绝对没有错,一访问php就出现不能read~~~,同时perl也受到一点影响)

问过很过网管,很多朋友,有的说不知道1

有的说也遇过,没有办法重装,说是系统问题,

偶搞了两个星期都没有搞定!重装iis还是不行!

最后重装了系统问题解决了~~~~~~~`
回复
strawren 2002-07-25
楼上兄弟:我已经检查了,应该没错误的。
而且我关闭apache服务器,用IIS服务器给出是一样的错误,
连asp的文件都不能浏览了,我不知道错在哪里?
盼告!若合理,必加分。
谢了!
回复
_Shakespeare 2002-07-25
哦404错误
可能是你的路径有错你在仔细的检查一下
回复
strawren 2002-07-25
我按要求设置了,可找不到文件,浏览器给出提示如下:

您要查看的页已删除,或已改名,或暂时不可用。

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

请尝试以下操作:

如果您已经在地址栏中输入该网页的地址,请确认其拼写正确。

打开 192.168.0.6 主页,然后查找指向您感兴趣信息的链接。
单击后退按钮,尝试其他链接。
单击搜索,寻找 Internet 上的信息。



HTTP 404 - 未找到文件
Internet Explorer
回复
_Shakespeare 2002-07-25
by not returning a complete set of HTTP headers
有没有想过是浏览器的问题?
回复
strawren 2002-07-25
楼上的兄弟,我试了,比如在浏览器中打开一个php文件。
浏览器显示如下:
CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:



我想你能不能再详细分析一下原因。
谢了,必加分!
回复
LeeMaRS 2002-07-25
我不怎么清楚,但这种情况的确少见。
IIS我是不抱什么希望的,在我的XP上90%的时间是不能工作的,早被我踢出硬盘了。
回复
LeeMaRS 2002-07-24
检查php4ts.dll是否对应版本,把php目录下的php4ts.dll复制到system32目录下.如果原来有,则覆盖.
回复
LeeMaRS 2002-07-24
在Windows98/2K下安装全最新版Apache + PHP4 + MYSQL + phpMyadmin的方法 Version 3.0

作者:Lee

首先通报一下以上软件现在最新的版本号:
Apache 2.0.39 下载地址:http://www.onlinedown.net/apache.htm
PHP 4.2.2 下载地址:http://www.onlinedown.net/php3.htm
MYSQL 3.23.51a 下载地址:http://www.onlinedown.net/mysql.htm
phpMyadmin 2.3.0 rc3 下载地址:http://sourceforge.net/projects/phpmyadmin/

*************
*一.基本安装*
*************
还用说吗?大家已经人手一份程序,把他们全装上就行了~!呵呵~~建议把他们都装在一个目录下,方便使用嘛。
注意:如果有最新版的程序,建议安装最新版的,这样子很有可能解决以前出现的问题!切记!:)

这里假设Windows98/2K装在目录windir下。其它程序建议安装如下:
x:\SERVER
|
|-PROGRAM
|
|-PHP PHP程序目录
|
|-MYSQL MYSQL程序目录
|
|-MYADMIN phpMyadmin程序目录
|
|-APACHE 服务器程序目录

*********
*二.设置*
*********
关键就是这里了!大家一步一步慢慢来~!

*****
*(1)*将PHP目录下的PHP4TS.DLL复制到windir\system(Win2K是system32),还有将PHP.INI-DIST复制到windir,改名为PHP.INI
*****

有一些无关紧要的设置,按自己的需要改吧~:
upload_max_filesize = 2097152; 上载文件的最大字节
include_path = \path1;\path2;\path3…… 在使用include函数时,只有指定目录下的文件才可以被包含

******************************************************************************************
关于Session : 有些人说PHP在运行Session的会显示错误,这个问题多半是因为没有为Session建立一个叫
tmp的目录。方法:在x:\下面建立一个tmp的目录。
******************************************************************************************

*****
*(2)*修改Apache的配置文件
*****

在安装的时候,Apache会提示你输入服务器名等,其实都不重要的。因为这些可以后来再改的,哈哈。

最重要的,是修改CONF目录下的HTTPD.CONF文件:
Servername xxxxxx 改为 Servername localhost

******************************************************************************************
注意:
(1)有人反映,如上设置后,别人的机器无法访问到自己的服务器,访问时会转向localhost。
这个是Apache的问题,有如下规律:

如果访问的URL是 http://你的IP/目录
Apache收到请求后 会把URL解析到你所设的ServerName 也就是localhost
那客户方就会访问失败了。

要改成 http://你的IP/目录/
才能正常访问.

另外.这个问题在直接访问文件的时候不存在.

(2)在DocumentRoot的下面不远,会有这样几行:
#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "x:/server/program/Apache/htdocs">

下面有一行:
Options FollowSymLinks MultiViews Indexes

请把Indexes删除,改成
Options FollowSymLinks MultiViews

这样,htdocs就不会被列出目录列表,要不是太没有安全感啦!大家一定要改!!

附:如果再不行,再改成
Options FollowSymLinks MultiViews -Indexes
这种方法是别人说的,我没试过,因为我用上面的方法就能行了。
******************************************************************************************

让Apache支持PHP其实也是很容易的呀,加上下面这么几句,就可以了!
ScriptAlias /php4/ "x:/SERVER/PROGRAM/PHP/"
AddType application/x-httpd-php4 .php
AddType application/x-httpd-php4 .php3
AddType application/x-httpd-php4 .php4
AddType application/x-httpd-php-source .phps
Action application/x-httpd-php4 "/php4/php.exe"

这是以CGI方式运行PHP程序!
运行Apache后,显示
Apache/2.0.39 (Win32) running...

如果想要以模块方式运行,请按这样子:
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php-source .phps
LoadModule php4_module "x:/server/program/php/sapi/php4apache.dll"

运行Apache后,显示
Apache/2.0.39 (Win32) PHP/4.2.2 running...

强烈推荐使用模块方式!!!

******************************************************************************************
最新版本的Apache 2.0.39若想使用模块方式安装,必须搭配PHP 4.2.2!
这一句:
LoadModule php4_module "x:/server/program/php/sapi/php4apache.dll"
只要换成
LoadModule php4_module "x:/server/program/php/sapi/php4apache2.dll"
就可以了!
******************************************************************************************

Apache的默认启动文档为index.html、index.html还有DirectoryIndex,我们改成这样,支持更多的文档:
DirectoryIndex index.htm
DirectoryIndex index.html
DirectoryIndex index.php
DirectoryIndex index.php3
DirectoryIndex index.php4

好,已经完成了……一半(*#$*^&(#*&%#*&@……)!不过还是先写用phpinfo()写一个测试文件看看吧!:)

******************************************************************************************
最新的PHP默认register_globals = Off,如果你的程序没做过修改的话,请记得设register_globals = On

Win2K的Apache是以服务方式运行,方法是在控制台中运行Apache -i安装服务,运行Apache -u卸载服务。
2.0.xx版的是运行Apache -k install安装服务,运行Apache -k uninstall卸载服务。
******************************************************************************************

*****
*(3)*设置MYSQL
*****

在目录下有一个文件MY-EXAMPLE.CNF拷贝到C:\下面,改名为MY.CNF
可以加入用户名,密码,登陆主机,数据库和端口等信息!

到BIN目录下,运行MYSQLD-MAX(感觉这个是最好的)!正常情况下DOS窗口一闪而过, 然后按Ctrl+Alt+Del看看有没有,有就是行啦~:)

******************************************************************************************
Win2K的MYSQL也是以服务方式运行,方法是在控制台中运行mysqld-max-nt --install安装服务,运行
mysqld-max-nt --remove卸载服务。然后要在winmysqladmin中设置my.ini文件,这是Win2K与Win98差别
最大的地方!!切记!!
******************************************************************************************


*****
*(4)*设置phpMyadmin
*****

最新版的phpMyadmin比以前的几版又强大了很多!推荐大家使用!

首选修改:
$cfgPmaAbsoluteUri = '';
改成你的phpmyadmin所在的目录
$cfgPmaAbsoluteUri = 'http://localhost/myadmin/';

需要修改一下目录下的config.inc.php文件,把174行的:
$cfgDefaultLang = 'en';
改为
$cfgDefaultLang = 'zh';

这样就成中文版的了!虽然意思有点别扭……呵呵~!

还有这里:
$cfgServers[$i]['host'] = 'localhost'; // MySQL hostname
$cfgServers[$i]['port'] = ''; // MySQL port - leave blank for default port
$cfgServers[$i]['socket'] = ''; // Path to the socket - leave blank for default socket
$cfgServers[$i]['connect_type'] = 'tcp'; // How to connect to MySQL server ('tcp' or 'socket')
$cfgServers[$i]['controluser'] = ''; // MySQL control user settings
// (this user must have read-only
$cfgServers[$i]['controlpass'] = ''; // access to the "mysql/user"
// and "mysql/db" tables)
$cfgServers[$i]['auth_type'] = 'config'; // Authentication method (config, http or cookie based)?
$cfgServers[$i]['user'] = 'root'; // MySQL user
$cfgServers[$i]['password'] = ''; // MySQL password (only needed
// with 'config' auth_type)
$cfgServers[$i]['only_db'] = ''; // If set to a db-name, only
// this db is displayed
// at left frame
// It may also be an array
// of db-names
$cfgServers[$i]['verbose'] = ''; // Verbose name for this host - leave blank to show the hostname
$cfgServers[$i]['bookmarkdb'] = ''; // Bookmark db - leave blank for no bookmark support
$cfgServers[$i]['bookmarktable'] = ''; // Bookmark table - leave blank for no bookmark support
$cfgServers[$i]['relation'] = ''; // table to describe the relation between links (see doc)
// - leave blank for no relation-links support

一般按默认就可以了!

有一个比较关键的是$cfgServers[$i]['auth_type'] = 'config';有些人说phpMyadmin没有用户登录管理,要自己做一个。
其实不必的,这个选项就是
回复
strawren 2002-07-24
楼上的兄弟:我照你们方法试了,可不行呀/
SOS!
能再详细点吗?
谢了!
回复
可乐加水 2002-07-24
LoadModule php4_module d:/php4/sapi/php4apache.dll
AddModule mod_php4.c
你的LoadModule 是类似这样的吗?如果不是的话,可能就是模块的问题了
回复
可乐加水 2002-07-24
LoadModule php4_module d:/php4/sapi/php4apache.dll
AddModule mod_php4.c
你的LoadModule 是类似这样的吗?如果不是的话,可能就是模块的问题了
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告