【问题标题】:xampp virtual host downloading php files in browser (Mac)xampp虚拟主机在浏览器中下载php文件(Mac)
【发布时间】:2013-05-01 04:18:53
【问题描述】:

我在我的 Mac 上安装了 xampp。我已经在 httpd-vhosts.conf 中设置了虚拟主机

    <VirtualHost *:80>
        DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs"
        ServerName localhost
    </VirtualHost>

    <VirtualHost *:80>
        DocumentRoot "/Users/username/Dropbox/folder/cms backup/test"
        ServerName cms.local
        ServerAlias cms.local
        <Directory "/Users/username/Dropbox/folder/cms backup/test">
           Options Indexes FollowSymLinks Includes ExecCGI
           AddType application/x-httpd-php .php3 .php 
           AddOutputFilter INCLUDES .php
           AllowOverride All
           Order allow,deny
           Allow from all
        </Directory>
     </VirtualHost>

我没有注释

    # Virtual hosts
    Include /Applications/XAMPP/etc/extra/httpd-vhosts.conf

更改用户和组

    User "my username"
    #Group nogroup
    Group admin

并添加到主机

    127.0.0.1 cms.local

但是当我转到 cms.local/php_file.php 时出现服务器 500 错误,并且 php 文件被浏览器下载而不是显示。当我尝试在 localhost/php_file.php 中查看同一页面时,一切正常

谁能给出下载文件的原因?

日志和标题信息:

标题信息:

    Request URL:http://cms.local/diary.php
    Request Method:GET
    Status Code:200 OK
    Request Headersview source
    Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
    Accept-Encoding:gzip,deflate,sdch
    Accept-Language:en-GB,en-US;q=0.8,en;q=0.6
    Cache-Control:max-age=0
    Connection:keep-alive
    Host:cms.local
    User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.65 Safari/537.31
    Response Headersview source
    Accept-Ranges:bytes
    Connection:Keep-Alive
    Content-Type:application/x-httpd-php
    Date:Tue, 07 May 2013 23:01:58 GMT
    Keep-Alive:timeout=5, max=100
    Server:Apache/2.2.14 (Unix) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l PHP/5.3.1 mod_perl/2.0.4 Perl/v5.10.1
    Transfer-Encoding:chunked

访问日志:

    127.0.0.1 - - [08/May/2013:09:01:58 +1000] "GET /diary.php HTTP/1.1" 200 61851

错误日志:

    [Wed May 08 09:05:54 2013] [notice] caught SIGTERM, shutting down
    [Wed May 08 09:06:05 2013] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
    [Wed May 08 09:06:06 2013] [notice] Digest: generating secret for digest authentication ...
    [Wed May 08 09:06:06 2013] [notice] Digest: done
    [Wed May 08 09:06:06 2013] [notice] Apache/2.2.14 (Unix) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l PHP/5.3.1 mod_perl/2.0.4 Perl/v5.10.1 configured -- resuming normal operations

文件和目录的权限设置为 644,然后我将它们更改为 755。没有任何区别。

【问题讨论】:

    标签: php macos xampp


    【解决方案1】:

    终于找到了一个在这里工作的答案: PHP Files won't open in browser - only download. What do I need to change to make it work properly?

    添加:

        <FilesMatch \.php$>
            SetHandler application/x-httpd-php
        </FilesMatch>
    

    到 httpd.conf 文件修复它

    【讨论】:

      【解决方案2】:

      F-12 工具(Firebug/Chrome 开发工具)会显示哪些标题?

      文件权限是什么?

      日志显示什么?

      【讨论】:

      • 谢谢柯蒂斯,我已经添加了额外的信息。
      猜你喜欢
      • 2020-12-17
      • 2018-05-09
      • 2020-09-11
      • 2013-08-24
      • 2015-01-02
      • 2013-05-16
      • 2021-02-10
      • 2020-07-06
      • 2013-02-18
      相关资源
      最近更新 更多