【问题标题】:Apache virtual server and hardcoded mysql connectors using ip addresses使用 ip 地址的 Apache 虚拟服务器和硬编码的 mysql 连接器
【发布时间】:2017-05-15 15:35:17
【问题描述】:

xampp 发行版 5.6.15 和 Apache 2.4.17 MariaDB 10.1.10 在 w7-64 上运行,

我使用虚拟主机在我的本地机器上重新创建了一个生产网站的副本。除了所有关于代码的硬编码 mysql 连接器之外,工作得很好。

目前无法修改这些文件。问题是,有没有办法设置 Apache 或 mysql,以允许这些连接工作?

这是一个例子(旧技术):

mysql_connect('123.123.123.123', DB_USER, DB_PASSWORD);

mysql 数据库在此 xampp 端口之外运行。这是一个相同的 mysql/MariaDB 版本。正确命名主机时数据库连接。

谢谢。 (请留下 php 标签 - 这些家伙知道很多。)

更多信息 - 编辑

我修改了两个文件试图重新映射 IP 地址。

\Windows\System32\drivers\etc\hosts 和 \xampp2\apache\conf\extra\httpd-vhosts.conf

使用主机名它可以找到。这是我所做的其他条目。如果你能想到一个排列,我可能已经尝试过了。我现在想知道这不是一些mysql配置问题。再次,删除 ip 地址,使用名称,一切都很好:(这是失败的 ip 地址条目。在这两个文件中的任何一个发生任何更改后,我循环 Apache 并刷新了 dns。来自连接的错误消息尝试是:

mysql_connect(): 尝试对无法访问的主机进行套接字操作

================================================ ========================

<VirtualHost *:80>
DocumentRoot "C:/xampp2/htdocs"
ServerName www.production.com
</VirtualHost>

<VirtualHost 123.123.123.123>
DocumentRoot "C:/xampp2/htdocs"
ServerName www.production.com
</VirtualHost>

================================================ ======================

127.0.0.1 localhost
127.0.0.1 www.mspfound.com # second server
123.123.123.123 localhost

127.0.0.1 localhost
127.0.0.1 www.mspfound.com # second server
123.123.123.123 www.mspfound.com

【问题讨论】:

  • 嗯,将此IP地址添加到您的本地盒子?

标签: php mysql apache xampp


【解决方案1】:

您不能在本地覆盖 IP 地址,您可以做的是通过代理服务器和/或一些 iptables 更改重新路由连接,但这不是我真正的领域,另一个想法是设置一个本地或虚拟网络,其中mysql 服务器可以使用与现有生产服务器相同的 ip,我通常使用连接到同一虚拟网络并使用与相关服务器相同的子网的几个虚拟机来执行此操作。

但这都是快速修复和修补,你真正应该做的(我希望你已经做到了,已经 3 个月了!)是用可以更改的配置变量替换代码中的所有 IP 地址集中或可以在主机文件中更改的虚拟主机名,您可能还需要替换已弃用的 mysql_* 函数。

祝你好运。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-06
    • 2017-09-18
    • 2017-06-27
    • 2016-12-27
    • 2019-01-15
    • 1970-01-01
    • 2012-05-15
    • 1970-01-01
    相关资源
    最近更新 更多