【问题标题】:XAMPP: Connecting to localhost fix? [Persistent]XAMPP:连接到本地主机修复? [执着的]
【发布时间】:2014-01-25 02:44:09
【问题描述】:

我刚刚在我的电脑上安装了 XAMPP Windows 1.8.2。 80 端口是安全的,并且在 Apache 的使用中没有任何问题,也没有任何端口冲突。我总是打开 Xampp 并在控制面板中同时启动 Apache 和 MySQL 模块。两个模块都在运行,每当我单击 Apache 管理按钮时,它都会将我重定向到 localhost 页面,加载需要一段时间,然后出现此错误。

如果它对你们来说太小了,错误会说:网络错误(tcp_error)

发生通信错误:“连接被拒绝” Web 服务器可能已关闭、太忙或遇到其他问题,使其无法响应请求。您不妨稍后再试。

如需帮助,请联系您的网络支持团队。

如果我尝试使用127.0.0.1,则会出现另一个错误:

localhost 更改为130.147.134.66 注意:我使用代理网络,IP 地址为130.147.134.251

我已尝试更改和更新C:\Windows\System32\Drivers\Etc\hosts. 中的主机文件,但问题仍然存在。

请记住,我是使用 Xampp 的新手,距离我开始使用 phpMyAdmin 和 MySQL 仅一周时间

我的 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"
LoadModule php5_module "C:/xampp/php/php5apache2_4.dll"

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

#
# 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 /security "C:/xampp/security/htdocs/"
    <Directory "C:/xampp/security/htdocs">
        <IfModule php5_module>
            <Files "xamppsecurity.php">
                php_admin_flag safe_mode off
            </Files>
        </IfModule>
    Order deny,allow
    Deny from all
    Allow from localhost
   </Directory>

    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
    Order allow,deny
    Allow from all
        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))">
    Order deny,allow
    Deny from all
    Allow from ::1 127.0.0.0/8 \
        fc00::/7 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 \
        fe80::/10 169.254.0.0/16

    ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>

【问题讨论】:

  • 我遇到了几乎同样的问题,我收到“连接被拒绝:localhost:8012”错误。
  • 编辑:这是因为 Opera Turbo 而发生的。

标签: apache


【解决方案1】:

它已经给你答案了。
看看你的第二张照片。

This setting can be configured in the file "httpd-xampp.conf"

如何“解决”这个问题:

或者:
禁用本地地址代理

或:

   1) open the file "\xampp\apache\conf\extra\httpd-xampp.conf" in a texteditor
   2) replace "Allow from localhost" with "Allow from YOURLOCALIP" (2 times)
   3) save the file
   4) restart Apache

也见http://www.apachefriends.org/f/viewtopic.php?t=32503#p131519

编辑:

在第 120-128 行:

<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
    Order deny,allow
    Deny from all
    Allow from ::1 127.0.0.0/8 \
        fc00::/7 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 \
        fe80::/10 169.254.0.0/16 \
        YOURLOCALIP <--------------------------------------------------------------

    ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>

【讨论】:

  • 你能在第 2 行告诉我吗)将“来自本地主机的允许”替换为“来自 YOURLOCALIP 的允许”(2 次)“(2 次)”是什么意思?
  • 在旧版本的 xampp / wampp 中有两个条目需要更改。如果您使用的是最新版本(当然应该这样做),那只是编辑中提到的部分。
【解决方案2】:

您的 XAMPP 安全配置在 LocationMatch 中指定为 chill0r,第 120-128 行。

您的配置允许从 ::1 127.0.0.0/8 \、fc00::/7 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16 和 fe80::/10 169.254.0.0 /16 永远不会匹配,因为您使用的是代理并且它拒绝一切。这是 Order 语句的用武之地。它告诉您的配置首先匹配拒绝然后允许,所以它总是拒绝,因为您有全部拒绝。

您需要更改您的配置,使其不会拒绝所有内容并至少允许您自己的 IP。由于这听起来像是您在运行本地开发环境而不是公开它,您可以考虑删除所有限制:

<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
    Allow from all

    ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>

如果您这样做,请配置您的防火墙以防止从您的网络外部访问端口 80(这可以在您的计算机或路由器上完成)。或者,您可以将其配置为使用包含您的代理的部分 IP 的 IP 范围:

<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
    Order allow,deny
    Deny from all
    Allow from 130.147.134

    ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>

请注意,订单从拒绝,允许更改为允许,拒绝,因此它将首先检查允许语句。


我还注意到这两个请求是针对不同路径的,第一个是“/”,第二个是“/xampp/”,后者是没有被拒绝的。

在你的 IfModule alias_module 中你应该添加一个别名:

Alias "/" "C:/xampp/htdocs/xampp"

这将帮助您起步,但您需要确保了解指令,特别是 Alias 和 AliasMatch,因为您的路由变得更加复杂。或者,您可以只在 C:/xampp/htdocs/ 目录而不是 C:/xampp/htdocs/xampp 目录中开发。

【讨论】:

    【解决方案3】:

    在启动 XAMPP 服务器之前,请确保关闭其他正在运行的服务,例如 Skype 和使用相同端口号的其他服务器。

    【讨论】:

      【解决方案4】:

      我有同样的问题,解决方案比其他答案更容易。

      1) 在您的电脑上安装 XAMPP,在本例中为 Windows 8。 2) 开始 > 管理工具 > 服务 > Web 部署代理服务,然后按停止。

      通常 Web 部署使用端口 80,这是 XAMPP 默认使用的端口。如果您停止该进程并在您的网络浏览器中写入 localhost,您应该能够访问 phpmyadmin。

      希望对你有帮助:)

      【讨论】:

      • 需要进一步澄清
      【解决方案5】:

      按照以下步骤操作

      1. 在 Apache 模块上的 XAMPP 中,选择配置按钮 httpd.conf
      2. 在下一节中评论“拒绝所有人”,

        <LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
                Order deny,allow
               #Deny from all
                Allow from ::1 127.0.0.0/8 \
                        fc00::/7 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 \
                        fe80::/10 169.254.0.0/16
        
                ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
        </LocationMatch>
        
      3. 重启 XAMPP(重要步骤)

      【讨论】:

        猜你喜欢
        • 2014-01-16
        • 2017-04-15
        • 2016-02-19
        • 1970-01-01
        • 2011-12-02
        • 2018-08-28
        • 2022-09-18
        • 2012-07-26
        • 2020-09-04
        相关资源
        最近更新 更多