首页 文章

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

提问于
浏览
12

一切都很顺利,直到我将 AddHandler application/x-httpd-php5s .php 添加到我的本地服务器's document root (which I change frequently depending on the site I' m中的.htaccess文件中 . 因为我在访问http://localhost:8888时就这样做了,我的浏览器只下载了index.php而它根本没有处理,只是原始代码 . 现在 I removed that line from the .htaccess file but I'm still having this problem .

我've found that if I add an alternative entry to my hosts file for 127.0.0.1 the new entry behaves like ' localhost ' used to. But if I add the line above to my .htaccess it knocks out that new host as well. I'已尝试重新安装MAMP并清除其缓存和我能找到的所有临时文件 . 我浏览Apache的httpd.conf文件都无济于事 .

所以,要明确:http://localhost:8888正在遇到上述问题 . 如果我在127.0.0.1的主机文件中添加一个新条目,比如'goomba',上面的行不在根.htaccess中(并且从来没有用于那个主机/别名/等等),那么我可以访问http://goomba:8888就好了 . 但是,如果我确实将该行添加到.htaccess中,那么即使从.htaccess文件中删除该行,我也必须在我的hosts文件中添加另一个条目来绕过它 .

我可以使用不同的127.0.0.1别名(主机?那叫什么?),但是这仍然让我感到不安 .

为了清楚起见,我使用的是Mac OS Leopard(但我没有使用内置的Apache设置,而是使用MAMP) .

8 回答

  • 12

    您正在应用处理程序所在的mimetype(请参阅documentation on handlers

    试试这个:

    AddType application/x-httpd-php5 .php
    

    编辑:正如您所说,加载了缓存模块,您可以读取cachinghtcacheclean(清除磁盘缓存) . 您也可以暂时使用CacheDisable指令 . 您还可以尝试的另一件事是重命名您请求的文件(例如index.php - > index.bak),在浏览器中再次请求文件(现在应该是404),然后还原并重试 .

  • 0

    我有几次类似的问题,重命名该文件对我不起作用 . 使用OS X Lion,我发现正确的配置是这样的:

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

    使它适用于我的魔力是 SetHandler application/x-httpd-php 部分 .

    当然编辑 <IfModule php5_module> 到您的PHP版本 .

  • 2

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

  • 2

    请注意,请确保您没有意外下载其他文件的实时环境中的htaccess文件 . 此外,在编辑htaccess时,请确保您匹配PHP版本 . 错误的版本导致相同的问题 - 错误的设置 .

    以下是运行PHP7的示例:

    application / x-httpd-ea-php71 .php .php7 .phtml

    我希望这些信息可以提供帮助 - 它发生在我创建门票8年后:)

  • 0

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

    它的工作正常!尝试

  • 4

    首先检查您的Apache服务器是否正在运行 . 单击开始 - >运行 - > cmd,然后执行命令:

    netstat -abn

    查找这样的行的结果:

    TCP 0.0.0.0:8888 0.0.0.0:0聆听600 [apache.exe]

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

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

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

  • 0

    我实际上有一个非常相似的问题 . 当我试图测试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

    希望一切正常!祝好运!

  • 1

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

    最好

相关问题