PHP文件由浏览器下载,而不是由本地开发服务器(MAMP)处理

一切都很好,直到我AddHandler application/x-httpd-php5s .php到本地服务器的文档根目录(我经常根据我正在使用的站点更改)的.htaccess文件。 由于我这样做,当我访问http:// localhost:8888我的浏览器只是下载index.php,它根本没有处理,只是原始代码。 现在我从.htaccess文件中删除了这行,但是我仍然遇到这个问题

我发现,如果我为127.0.0.1添加一个替代条目到我的主机文件,那么新条目的行为就像'localhost'一样。 但是,如果我将上面的行添加到我的.htaccess中,那么也会删除新的主机。 我已经尝试重新安装MAMP并清除caching以及所有可以find的临时文件。 我浏览Apache的httpd.conf文件都没有用。

所以,要清楚: http:// localhost:8888正在经历上述问题。 如果我添加一个新的条目到我的主机文件127.0.0.1,说'goomba',上面的行不在根.htaccess(并从来没有为该主机/别名/无论)然后我可以访问http:/ / goomba:8888就好。 但是,如果我将该行添加到.htaccess中,那么即使从.htaccess文件中删除该行,我也必须在主机文件中添加另一个条目以解决该问题。

我很好,使用不同的127.0.0.1别名(主机?那是什么?),但它是我的,这仍然是破碎的。

只是要清楚,我在Mac OS Leopard(但我没有使用内置的Apache设置,但MAMP)。

你正在应用一个处理程序应该是一个mimetype(请参阅处理程序的文档 )

试试这个:

 AddType application/x-httpd-php5 .php 

编辑:正如你所指出的缓存模块加载,你可以读取缓存和htcacheclean (清除磁盘缓存)。 您也可以暂时使用CacheDisable指令。 另一个你也可以尝试的方法是重命名你所请求的文件(例如index.php – > index.bak),在浏览器中重新请求这个文件(现在应该是404),然后恢复并重试。

我有一个类似的问题几次,重命名文件没有为我工作。 使用OS X Lion,我发现正确的配置是这样的:

 <Ifmodulee php5_module> AddType application/x-httpd-php .php <FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch> AddType application/x-httpd-php-source .phps <Ifmodulee dir_module> DirectoryIndex index.php index.html </Ifmodulee> </Ifmodulee> 

使它适合我的魔法是SetHandler application/x-httpd-php部分。

当然编辑<Ifmodulee php5_module>到你的php版本。

也许你想要application/x-httpd-php5而不是application/x-httpd-php5s ? (注意最后没有s

对于同样的问题,我删除了'5'AddType应用程序/ x-httpd-php .php .htm .html

它的工作正常! 尝试

首先检查你的Apache服务器是否正在运行。 开始 – >运行 – >命令,然后执行命令:

netstat -abn

查找这样的行结果:

TCP 0.0.0.0:8888 0.0.0.0:0 LISTENING 600 [apache.exe]

如果你找不到端口8888(没有0.0.0.0:8888线)上听到任何东西,那么你的Apache无法启动。 要找出为什么它不能启动你应该找到apache日志目录,并检查error.log(可能是你更新你的PHP兴奋吗?)。 如果您发现0.0.0.0:80的监听线,但其他软件正在监听(您是否有IIS运行?),那么您应该删除/重新配置该软件以释放80端口。如果您有端口80上的apache监听,但仍然无法打开你的网站,你不能通过检查Apache日志文件找出是什么原因导致问题,那么它是我的数据库问题。 检查你的mysql是否正在运行,并使用相同的命令,但你应该寻找

TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING [mysqld-nt.exe]

如果你不能找到这样的线,那么你的MySQL服务器没有运行 – 检查MySQL日志文件的错误。 如果两台服务器都在运行,并且无法在浏览器中获得任何输出,请检查防火墙和防病毒软件 – 它们可能会阻止您的请求。 希望这可以帮助 ;)

其实我有一个非常类似的问题。 当我试图测试如果PHP和Apache一起工作,所有我的PHP文件正在下载。 事实证明,他们没有在一起工作。

我不得不卸载PHP,我会推荐相同的行动,然后重新安装php,只需使用php.net上的zip文件下载,而不是使用MAMP进行安装。 我认为我的问题是我使用了PHP安装程序。 我不推荐使用它。

这个网站帮了我很多,我有一个问题与Apache不启动,虽然这不是你的问题,这个网站解决了Apache不启动和PHP文件下载问题,即使你在Mac上可能会帮助你也是http://forums.phpfreaks.com/topic/185771-problem-starting-apache-2214-after-installing-php-5212

希望一切正常! 祝你好运!

在我的情况下删除或注释“AddHandler php56-cgi .php”在我的根涉及的htacces文件解决了它

最好