在 Windows XP 上安装 PHP/Apache

在 Windows XP 上安装 PHP/Apache

我正在尝试在我的 Windows XP Pro 机器上安装带有 PHP 的 Apache 网络服务器,但是没有成功。

我正在尝试模拟生产服务器,所以我宁愿不使用最新版本。生产环境使用 5.3.6;我在 Windows 机器上使用的是 5.3.5。*对于 Apache,生产环境使用 2.0.63;我尝试了 2.0.64 和 2.2.22(我认为匹配语言版本比匹配 Web 服务器版本更重要),但基本上都失败了。**

我一直遵循指示在本页面,当需要将此代码添加到 httpd.conf 文件时,它们始终会失败:


LoadModule php5_module "c:/php/php5apache2_2.dll"
AddModule application/x-httpd-php .php
PHPIniDir "C:/php"

目录路径正确,并且c:/php/php5apache2_2.dll是真实文件。当我尝试重新启动/启动 Apache 服务器时,我收到“请求的操作失败!”弹出消息。该logs/error.log文件没有帮助;没有写入任何内容。(对于此失败,我的意思是。该文件存在并且不为空。)

当我注释掉这三行时,网络服务器启动了,所以我很确定问题就出在那里。

我相当确信 PHP 安装顺利;当我php -v从命令行运行时,我得到了我预期的输出。

我非常欢迎并非常感谢任何有关我所做错的事情的建议。

'* 为什么,因为下载页面指示如果我在 Apache 下运行,我需要 VC6(而不是 VC9),并且档案页面5.3.6 没有 VC6;5.3.5 是我能得到的最接近的版本。

** -- 升级到 2.2.22 是我来这里之前解决这个问题的最新尝试,所以这就是我目前正在做的事情。我很乐意回到 2.0.64 以更好地复制生产环境,但就像我说的,我认为语言版本比 Web 服务器更重要。

答案1

Apache 启动失败(尤其是在初始配置时)通常是由于未按 DLL 加载顺序找到模块所致。(假设配置文件已正确编写。)

您的第一个问题是您试图将 Apache 2.2 处理程序加载到 Apache 2.0 中,但 2.2.22 应该已经加载了。 :-P

系统事件日志说了什么?如果我没记错的话,当 Apache 无法启动时,有用的信息就会记录在那里。

您可以在不启用 PHP 的情况下启动 Apache 吗?

命令提示符的输出是什么httpd -t?您需要进入Apache\bin文件夹才能执行该操作。

您尝试用来运行 Apache 的帐户是否对您的 PHP 文件夹具有读取权限?它是否对您的日志文件夹具有写入权限?

您是否尝试加载任何 PHP 扩展?如果是,您的extension_dir设置是否正确php.ini

php -i命令行可以工作吗?输出是什么php --ini?它是否找到了正确的 ini 文件?

您没有获取nts(非线程安全) 版本的 PHP,是吗?要将 PHP 作为 Apache 模块加载,您需要线程安全版本。

最后,出于开发目的,可能值得考虑将 PHP 作为 CGI 而不是服务器模块运行。这样可以更轻松地切换 PHP 版本以测试升级运行时的效果。

-=-=-

我可以访问的一台运行 Apache 2.2 和 PHP 5.2 的服务器使用以下指令:

LoadModule php5_module "C:/php/php5apache2_2.dll"
AddType application/x-httpd-php .php
PHPIniDir "C:/php"

答案2

虽然花了一点钱(125 美元),但我从中获益良多WampDeveloper 专业版。对于像我这样不太熟悉 WAMP 管理员的人来说,它极大地简化了使一切协同工作的过程,这样我就可以专注于在服务器软件堆栈之上安装的 Web 应用程序。

但是您也说过您需要使用某些软件的特定早期版本 - 不确定该产品是否允许您这样做。

相关内容