XAMPP:Phpmyadmin 不适用于 FastCGI

Posted

技术标签:

【中文标题】XAMPP:Phpmyadmin 不适用于 FastCGI【英文标题】:XAMPP: Phpmyadmin doesn't work with FastCGI 【发布时间】:2016-04-21 22:40:31 【问题描述】:

我在本地安装了 XAMPP。 由于某些原因(Java-php-Bridge),我必须使用 FastCGI。所以我使用本指南进行设置:http://www3.umoncton.ca/dashboard/docs/use-php-fcgi.html

这很好,但现在我无法访问http://localhost/phpmyadmin/ 错误是:

禁止访问!

新的 XAMPP 安全概念:

只能从本地访问请求的目录 网络。

这个设置可以在“httpd-xampp.conf”文件中配置。

这是我的“httpd-xampp.conf”文件:

#
# XAMPP settings
#

<IfModule env_module>
    SetEnv MIBDIRS "C:/xampp/php/extras/mibs"
    SetEnv mysql_HOME "\\xampp\\mysql\\bin"
    SetEnv OPENSSL_CONF "C:/xampp/apache/bin/openssl.cnf"
    SetEnv PHP_PEAR_SYSCONF_DIR "\\xampp\\php"
    SetEnv PHPRC "\\xampp\\php"
    SetEnv TMP "\\xampp\\tmp"
</IfModule>

#
# PHP-Module setup
#
LoadFile "C:/xampp/php/php5ts.dll"
LoadFile "C:/xampp/php/libpq.dll"

#LoadModule php5_module "C:/xampp/php/php5apache2_4.dll"
LoadModule fcgid_module modules/mod_fcgid.so


#<FilesMatch "\.php$">
#    SetHandler application/x-httpd-php
#</FilesMatch>
#<FilesMatch "\.phps$">
#    SetHandler application/x-httpd-php-source
#</FilesMatch>
FcgidInitialEnv PHPRC "c:/xampp/php"
AddHandler fcgid-script .php
FcgidWrapper "c:/xampp/php/php-cgi.exe" .php


#
# PHP-CGI setup
#
#<FilesMatch "\.php$">
#    SetHandler application/x-httpd-php-cgi
#</FilesMatch>
#<IfModule actions_module>
#    Action application/x-httpd-php-cgi "/php-cgi/php-cgi.exe"
#</IfModule>


<IfModule php5_module>
    PHPINIDir "C:/xampp/php"
</IfModule>

<IfModule mime_module>
    AddType text/html .php .phps
</IfModule>

ScriptAlias /php-cgi/ "C:/xampp/php/"
<Directory "C:/xampp/php">
    AllowOverride None
    Options None
    Require all denied
    <Files "php-cgi.exe">
          Require all granted
    </Files>
</Directory>

<Directory "C:/xampp/cgi-bin">
    <FilesMatch "\.php$">
        SetHandler cgi-script
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler None
    </FilesMatch>
</Directory>

<Directory "C:/xampp/htdocs/xampp">
    <IfModule php5_module>
        <Files "status.php">
            php_admin_flag safe_mode off
        </Files>
    </IfModule>
    AllowOverride AuthConfig
</Directory>

<IfModule alias_module>
    Alias /licenses "C:/xampp/licenses/"
    <Directory "C:/xampp/licenses">
        Options +Indexes
        <IfModule autoindex_color_module>
            DirectoryIndexTextColor  "#000000"
            DirectoryIndexBGColor "#f8e8a0"
            DirectoryIndexLinkColor "#bb3902"
            DirectoryIndexVLinkColor "#bb3902"
            DirectoryIndexALinkColor "#bb3902"
        </IfModule>
        Require all granted
   </Directory>

    Alias /phpmyadmin "C:/xampp/phpMyAdmin/"
    <Directory "C:/xampp/phpMyAdmin">
        AllowOverride AuthConfig
        Require all granted
    </Directory>

    Alias /webalizer "C:/xampp/webalizer/"
    <Directory "C:/xampp/webalizer">
        <IfModule php5_module>
            <Files "webalizer.php">
                php_admin_flag safe_mode off
            </Files>
        </IfModule>
        AllowOverride AuthConfig
        Require all granted
    </Directory>
</IfModule>

#
# New XAMPP security concept
#
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
        #Require local
    Require all granted
    ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>

有人有想法吗?

【问题讨论】:

我无法提供解决方案,但我可以向您保证,phpMyAdmin 可以在我的机器上使用 fast-cgi。你试过127.0.0.1/phpmyadmin 吗? 127.0.0.1/phpmyadmin 产生同样的错误。 【参考方案1】:

将此添加到您的 httpd-xampp.conf

选项 ExecCGI

Alias /phpmyadmin "D:/xampp/phpMyAdmin/"
    <Directory "D:/xampp/phpMyAdmin">
    Options ExecCGI
        AllowOverride AuthConfig
        Require all granted
    </Directory>

【讨论】:

以上是关于XAMPP:Phpmyadmin 不适用于 FastCGI的主要内容,如果未能解决你的问题,请参考以下文章

PhpMyAdmin 不适用于 .htaccess

重写不适用于 xampp

SSL 不适用于 Xampp

XDebug 不适用于 xampp

本地主机别名不适用于 XAMPP

在单独安装 MYSQL 时使用 XAMPP-phpmyadmin