使用Apache Web Server在Windows 7上配置PHP


1

我已经在我的本地计算机上启动并运行了Apache服务器(2.2.22),并且一直使用它来回送静态内容。我现在正在尝试安装PHP(5.2+),以便我可以让Apache服务回动态内容,并且遇到了麻烦。

我直接去了PHP的网站,并尝试下载5.4.0的Windows二进制文件。安装说明令人困惑,并希望我出于某种原因获取WIX工具,以便我可以模拟MSI安装程序(至少那是我收集的内容)。所以经过大约一个小时的挫折之后,我放弃了这种方法,而是去了SourceForge,在那里我找到了这个漂亮的MSI,我知道这不是PHP的人员出于安全/性能原因推荐/认可的做法,但我没有运行这里排名前100位的电子商务网站......我只是想在我的本地计算机上运行PHP并进行开发。

当我运行该MSI时,第一个窗口之一询问我要为哪个服务器安装PHP。它列出了以下选项:

  • IIS / FastCGI的
  • 其他CGI
  • 不要安装Web服务器

我选择“其他CGI”,前提是它是WAMP堆栈设置的正确选择(这是我的目标)。之后,我只选择了所有默认值/推荐设置并完成了安装。我现在看到PHP“安装”了C:\Program Files\PHP\

我预计 - 在选择“其他CGI”之后 - 它会让我用我的Apache实例配置PHP安装(安装在其下C:\Program Files\Apache Software Foundation\Apache2.2\)。但事实并非如此,所以我的第一个问题是:

  • 选择“其他CGI”我是错的,如果是这样,我该如何纠正这个错误?

假设我这样做是正确的,那么我可以得出的唯一结论是我现在必须手动进入PHP并配置/指向它与我的Apache服务器很好地协作。所以我的第二个问题是:

  • 如果我确实需要手动配置PHP,那么我的下一步是什么(有人能指出我正确的文档等)吗?而且,如果不需要手动配置,那么我如何让Apache服务回PHP页面?!?

为了测试Apache / PHP,我做了以下htdocs/test.php文件:

<? phpinfo(); ?>

当我去localhost/test.php它时,只给我相同的文本行(上图),而不是显示正常/正确的PHP Info页面,这显然表明PHP还没有使用Apache。提前感谢任何正确方向的推动或有用的指示!

Answers:


1

我总是发现自己下载和安装每件东西,可能会有点痛苦。我已经切换到使用xampp它为我提供了拥有WAMP服务器(windows,apache,mysql和php)所需的一切。XAMPP还为您提供了filezilla和邮件服务器(虽然我无法让邮件服务器为我自己工作)。它们不仅支持使用安装程序的Windows,还支持Linux和Mac。


这是一个优秀的,优秀的建议@bretterer,我将绝对调查它。我也很高兴看到我不是唯一一个在运行WAMP时遇到问题的开发人员。快速提问:我当前的Apache配置必须不惜一切代价保持“原样” - 我可以使用XAMPP来安装第二个不会干扰第一个Apache实例吗?
pnongrata

我问,因为当前的Apache服务器实际上正在其他项目中使用,我不想在XAMPP安装期间通过覆盖任何内容来破坏它们。
pnongrata

@AdamTannon我必须完全诚实地对待这个。切换到使用XAMPP时,我没有必要保持配置。我不确定您是否可以安装第二个apache实例,但是我认为只要您为实例使用不同的端口以及文档根目录和安装的不同位置,我认为您可以。
bretterer

@AdamTannon你运气好吗?
bretterer

2

这已经过时了,但我想我会回答这个问题。

第一个问题:在这种情况下,“其他CGI”是正确的选择,

第二个问题:将以下内容放入您的/Apache2.2/config/httpd.config文件中

 LoadModule php5_module "c:/program files/php/php5apache2.dll"
 AddHandler application/x-httpd-php .php
 PHPIniDir "c:/program files/php"

另外,请在这里查看有关设置的精彩教程(虽然有点过时)

编辑:只是一个FYI,确保你的路径是正确的,例如c:/ program files / php /被隔离到上面的情况。此外,请注意您正在使用的Apache版本,因为在上面的情况下,php5apache2.dll很可能是php5apache2_2.dll。文件名取决于您的安装版本。

资源


1
欢迎来到SuperUser!很好的答案,我们总是很乐意接受材料,无论问题被问到多长时间。这里不需要担心线程坏死等问题。
大卫

@David,感谢您的热烈欢迎。我只是觉得有必要回答,因为所选择的答案实际上并不是问题的解决方案,而是更多的解决方案。我稍微更新了答案,以便对那些可能需要它的人进行更多澄清。
darcher
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.