【发布时间】:2008-10-20 05:37:45
【问题描述】:
我正在尝试确定让 PHP 脚本确定脚本/站点当前正在哪个服务器上运行的最佳方法。
目前我有一个switch(),它使用$_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT'] 来确定它在哪个服务器上。然后它会根据它所在的服务器设置一些路径、数据库连接参数、SMTP 参数和调试设置。 (根据站点需要,可能还有其他参数。)
这意味着我可以简单地将站点放到任何已配置的服务器上,而无需更改任何代码(特别是配置)。如果是新服务器,那么我只需添加一个新的case,然后就可以使用了。
我们已经根据相同的SERVER_NAME:SERVER_PORT 组合加载了配置文件,但发现这是您必须维护的另一个文件,而且我们不确定解析 ini 文件的速度,(尽管每个都有额外的案例服务器可能同样慢)。
我们遇到的另一个问题是网站经常在两台服务器之间移动,但我们在每台服务器上使用相同的SERVER_NAME 和SERVER_PORT。这意味着我们需要暂时评论一个案例并确保它不会进入 repo。
还有其他想法?它需要在所有服务器上都可用(有时SERVER_NAME 和SERVER_PORT 不可用)。如果它与 CLI PHP 一起工作,那就太好了。
【问题讨论】:
标签: php configuration