php文件下载而不是打开

问题描述:

我有一个Windows 7笔记本电脑。我下载了PHP 5.2.8。我下载了Apache 2.2。php文件下载而不是打开

我跑了MSI的PHP安装,我知道不建议,但我尝试了多次正常路线没有成功。

我有Apache运行,它显示“运行所有的Apache服务”。当我进行安装时,我将其设置为“本地主机”。

我检查了我的控制面板中的CGI复选框。

我在C:\ inetpub \ wwwroot下放了一个简单的文件test.php,但是当文件被双击时,它会尝试下载文件而不是将其作为网页打开。

我一直在谷歌搜索了几个小时,找不到合适的修复程序。我清除了缓存,但仍然没有运气。

我还设置了apache来监听端口8080,只是为了确保没有其他人在使用端口80之前。

任何想法?

谢谢!


更新 - 我错过了php5apache2.dll ...我把它放在PHP目录中,但仍然是相同的结果。我也尝试浏览到通过IE浏览器的文件位置,但不幸的是没有改变任何东西。


再次更新 - - DOH! - - 没有意识到它是localhost/test.php或下面的答案。当我这样做,我得到了一个服务器错误页面..这比以前我猜:)

Server Error in Application "DEFAULT WEB SITE" 

HTTP Error 500.0 - Internal Server Error 

An unknown FastCGI error occured 

Module FastCgiModule 

Notification ExecuteRequestHandler 

Handler PHP 

Error Code 0x8007010b 

Requested URL http://localhost:80/test.php 

Physical Path C:\inetpub\wwwroot\test.php 

Logon Method Anonymous 

Logon User Anonymous 

最可能的原因更好:

•IIS收到了请求;但是,在处理请求期间发生内部错误。此错误的根本原因取决于哪个模块处理请求以及发生此错误时工作进程中发生了什么。

•IIS无法访问网站或应用程序的web.config文件。如果NTFS权限设置不正确,可能会发生这种情况。

•IIS无法处理网站或应用程序的配置。

•经过身份验证的用户无权使用此DLL。

•请求被映射到托管处理程序,但未安装.NET可扩展性功能。

当我尝试启动/运行apache时,它出错。所以当我运行apache测试配置时,我收到以下消息: httpd.exe:C:/Apache/conf/httpd.conf第1行的语法错误:无法将C:/php/php5apache2_2.dll加载到服务器:模块找不到。

但是,当我浏览到该导演,我确实看到那个dll文件!呃...

想法?

+0

你能确认apache的配置文件有指令处理PHP模块的.php文件吗?尝试按照[这里](http://www.php.net/manual/en/install.windows.apache2.php)的说明运行php作为apache处理程序。你也会说当文件被双击时它会要求下载。你将不得不通过浏览器访问该文件,让PHP执行它。 – drew010

+0

您必须导航到该页面,如http:// localhost /,而不是双击。 – Mob

+0

当我打开IE并输入路径C:/ inetpub ... etc .... myFile.php,它做同样的事情,只是试图下载文件。但我可能已经发现了这个问题,php5apache2.dll被提及了一下,但我没有在我的php文件夹目录中。所以我正在浏览互联网试图找到某个地方得到这个文件。 – Adam

双击?就像在资源管理器里如果是这样,这将不会打开该页面。您需要浏览到该页面。如果你在apache的目录列表中,则不需要双击。

至于设置,如果你是新的最好的办法是使用IIS,的EasyPHP,XAMPP,或其他一些变化

他们会让你毫无麻烦地运行

如果你在C:\ inetpub \ wwwroot中放置了一个名为test.php的文件,那么你将打开你的浏览器到012尝试执行该文件的。

的php5apache2.dll文件需要在你的Apache模块目录去,你将需要添加相应的Apache配置线路如下面:

的LoadModule php5_module“C:/路径/到/ php5apache2 .DLL”

AddHandler的应用程序/ X的httpd - PHP .PHP

SetHandler应用程序/ X的httpd - PHP

进行这些更改后,您需要重新启动Apache。

+0

我试过这个,但由于某种原因我无法启动apache,我更新了我的帖子,请参阅。 :) 谢谢。 – Adam

+0

是目录C:/ PHP或C:/ php,我认为案件在Windows上很重要。从错误信息来看,它看起来像PHP安装程序可能已尝试将PHP配置为cgi。我忽略的最大的事情是你的服务器运行的是IIS,而不是Apache。关闭IIS服务并尝试运行apache。 – drew010

+0

好抓,有点:)目录是caps'd,所以我把它设置为小写,验证httpd.conf有它的小写。我也去了IIS管理器并关闭服务器。然而,当我尝试启动apache服务器时,我仍然得到相同的消息...刚刚重新启动我的笔记本电脑,仍然是同样的事情= \ – Adam

假设您正确地在Apache中安装了PHP,如其他答案中所述,可能.php页面没有发送正确的标头。我有一个.php文件,它发出一个包含Content-Type:text/json的头文件,这通常用于为Ajax客户端提供服务。 .php页面应该发送Context-Type:text/html。

要确定这是否确实是问题,您可以使用wget与-S选项,或在浏览器中使用开发人员工具。看看这个答案:Tool to view response headers