Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php文件下载而不是打开_Php_Apache_Iis_Windows 7_Installation - Fatal编程技术网

php文件下载而不是打开

php文件下载而不是打开,php,apache,iis,windows-7,installation,Php,Apache,Iis,Windows 7,Installation,我有一台Windows7笔记本电脑。我下载了PHP5.2.8。我下载了Apache2.2 我运行了MSI for PHP安装,我知道这是不推荐的,但我尝试了多次正常的路径,但都没有成功 我让apache运行,它显示“运行所有apache服务”。安装时,我将其设置为“localhost” 我选中了控制面板中的CGI复选框 我在C:\inetpub\wwwroot中放置了一个简单的文件test.php。。。但当双击文件时,它会尝试下载文件,而不是将其作为网页打开 我已经在谷歌上搜索了几个小时,找不到

我有一台Windows7笔记本电脑。我下载了PHP5.2.8。我下载了Apache2.2

我运行了MSI for PHP安装,我知道这是不推荐的,但我尝试了多次正常的路径,但都没有成功

我让apache运行,它显示“运行所有apache服务”。安装时,我将其设置为“localhost”

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

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

我已经在谷歌上搜索了几个小时,找不到合适的补丁。我已经清除了我的缓存,但仍然没有运气

我还将apache设置为在端口8080上侦听,以确保之前没有其他人使用端口80

有什么想法吗

谢谢


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


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

最可能的原因:

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

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

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

•经过身份验证的用户没有使用此DLL的权限

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

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

然而当我浏览到那个控制器时,我确实看到了那个dll文件!!啊


想法?

双击?就像在explorer中一样?如果是这样,这将无法打开页面。您需要浏览到该页面。如果您在apache的目录列表中,则无需双击

至于设置,如果您是新手,最好使用iis、EasyHP、xampp或其他变体

  • EasyHP:
  • Xampp:

如果您在C:\inetpub\wwwroot中放置一个名为test.php的文件,那么您可以打开浏览器尝试执行该文件

php5apache2.dll文件需要放在apache的模块目录中,并且需要添加适当的apache配置行,如以下行:

LoadModule php5_模块“c:/path/to/php5apache2.dll”

AddHandler应用程序/x-httpd-php.php

SetHandler应用程序/x-httpd-php


做出这些更改后,您需要重新启动apache。

假设您在apache中正确安装了PHP,如其他答案中所述,.PHP页面可能没有发送正确的标题。我有一个.php文件,它发出一个内容类型为text/json的头文件,这通常用于为Ajax客户机提供服务。php页面应该发送上下文类型:text/html


要确定这是否确实是问题所在,可以使用wget和-S选项,或者在浏览器中使用开发人员工具。看看这个答案:

您能确认apache的配置文件具有使用php模块处理.php文件的指令吗?尝试按照指示将php作为apache处理程序运行。您还可以说,当双击文件时,它会要求下载。你必须通过浏览器访问文件,让php执行它。你必须导航到页面,比如,而不是双击。当我打开IE并输入路径C:/inetpub…等等…myFile.php时,它也会做同样的事情,只是尝试下载文件。但是我可能已经发现了这个问题,php5apache2.dll被提到了一点,但是我的php文件夹目录中没有这个。所以我正在浏览互联网,试图找到一个地方来获取这个文件。好的,我下载了这个文件并将它放在我的php文件夹中,但是当我使用IE并导航到php文件目录时,同样的事情=\在手动安装apache2和php5之后,我遇到了同样的问题。经过长时间的调整,我意识到问题在于文件/目录路径的大小写敏感度。显然,windows上的apache非常重视大小写敏感度。希望它能帮助别人!我尝试了这个,但由于某些原因我无法启动apache,我更新了我的帖子,请参阅。:)谢谢。目录是C:/PHP还是C:/PHP,我想这个案例在windows上很重要。同样从错误消息判断,php安装程序可能尝试将php配置为cgi。我忽略的最大一点是,您的服务器是以IIS而不是Apache运行的。关闭IIS服务并尝试运行apache.good catch,排序:)目录是大写的,因此我将其设置为小写,并验证httpd.conf是否也使用小写。我还转到IIS管理器并关闭了服务器。但是,当我尝试启动apache服务器时,仍然会收到相同的消息。。。刚刚重启了我的笔记本电脑,但还是一样=\
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