0

我的开发服务器是外部的“dev.site.com”

我们的数据库位于外部 IP 地址上,但没有 DNS 记录。DNS 已使用主机文件在本地设置。

例如:database.site.com 55.444.33.21

由于我的外部开发服务器无法独立解析database.site.com或55.444.33.21,也无法将本地DNS记录添加到服务器,如何才能正常访问呢?

我可以利用 PHP 中的某些方法来创建动态 DNS 吗?

我无法更改任何设置方式,但我可以完全控制 PHP 代码库。本质上,我正在寻找一种在我的脚本中说 55.444.33.21 = database.site.com 的方法,所以每当我在代码中调用 database.site.com 时它都可以工作。

编辑 我无法仅使用 ip 访问它,也无法将其添加到服务器上的本地主机文件中。我的目标是找到解决这些问题的方法。

4

2 回答 2

2

不要在代码中调用“database.site.com”。

相反,在代码中的一个地方定义一个常量,并在代码的其余部分使用该常量:

define("DATABASE_SERVER", "database.site.com");

或者

const DATABASE_SERVER = "database.site.com";

然后在整个代码中,您将使用该常量而不是实际值。因此,当您需要将代码移动到另一个环境时,您可以通过更改常量的值来为该环境配置它:

define("DATABASE_SERVER", "55.444.33.21");

或者

const DATABASE_SERVER = "55.444.33.21";

通常,您希望在代码中尽可能少地使用实际动态值。这为您的所有代码提供了多种更改理由。值应该被抽象在常量或变量或某种符号后面,这样,如果值改变,只有一段代码有理由改变。其余的继续发挥作用。

于 2012-07-25T16:58:11.680 回答
1

快速破解,但你可以define("database.site.com", "55.444.33.21");

于 2012-07-25T16:55:14.690 回答