我正在尝试确定PHP脚本确定其所在的服务器的最佳方法。
目前,我有一个使用$_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT']
来确定所在服务器的switch()
。然后,它基于所在服务器设置一些路径、数据库连接参数、SMTP参数和调试设置。根据网站需求,可能还有其他参数。
这意味着我可以将网站轻松地放置在任何配置过的服务器上,无需更改任何代码(特别是配置)。如果是新服务器,则只需添加一个新的case,然后从那时起就可以使用了。
我们已经按照相同的SERVER_NAME: SERVER_PORT
组合加载配置文件,但发现这是另一个需要维护的文件,并且我们不确定解析ini文件的速度(尽管为每个服务器添加额外的case可能会同样慢)。
我们还面临另一个问题,即当网站经常在2个服务器之间移动时,但我们在每个服务器上都使用相同的SERVER_NAME
和SERVER_PORT
。这意味着我们需要暂时注释一个case并确保它不进入repo。
还有其他想法吗?它需要在所有服务器上可用(有时SERVER_NAME
和SERVER_PORT
不可用)。如果它可以与CLI PHP一起使用,那就更好了。