使用ip地址的Apache虚拟服务器和硬编码的mysql连接器

时间:2016-12-31 20:10:02

标签: php mysql apache xampp

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下\驱动程序\等\主机 和 \ xampp2 \阿帕奇\ CONF \额外\的httpd-vhosts.conf

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

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

1 个答案:

答案 0 :(得分:0)

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

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

祝你好运。