我有一台Windows 7笔记本电脑。我下载了PHP 5.2.8。我下载了Apache 2.2。
我为PHP安装运行了MSI,我知道这不推荐,但我尝试了多次正常路由而没有成功。
我运行apache并显示“正在运行所有apache服务”。当我进行安装时,我将其设置为“localhost”。
我检查了控制面板中的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 :(得分:2)
如果您在C:\ inetpub \ wwwroot中放置了一个名为test.php的文件,那么您将打开浏览器http://localhost/test.php以尝试执行该文件。
php5apache2.dll文件需要进入apache的模块目录,你需要添加相应的apache配置行,如下所示:
LoadModule php5_module“c:/path/to/php5apache2.dll”
AddHandler application / x-httpd-php .php
SetHandler应用程序/ x-httpd-php
进行这些更改后,您需要重新启动apache。
答案 1 :(得分:1)
假设您已在Apache中正确安装了PHP,如其他答案中所述,.php页面可能没有发送正确的标头。我有一个.php文件,它使用Content-Type:text / json发出标头,这通常用于为Ajax客户端提供服务。 .php页面应该发送Context-Type:text / html。
要确定这确实是问题,您可以将wget与-S选项一起使用,或者在浏览器中使用开发人员工具。看一下这个答案:Tool to view response headers
答案 2 :(得分:0)
双击?在探险家里面?如果是这样,这将无法打开页面。您需要浏览页面。如果您在apache的目录列表中,则无需双击。
至于设置,如果你是新手,你最好的选择是使用iis,easyphp,xampp或其他一些变体
他们会让你在没有麻烦的情况下跑步