我有一个代码库,正在部署到多个服务器。
我需要确定代码在哪个服务器上运行,以便为数据库等使用正确的配置信息。
我最初尝试使用 DOCUMENT_ROOT 并检查帐户名称。
if (strpos($_SERVER['DOCUMENT_ROOT'], '/var/www/vhosts/SOMETHING.com/') !== false)
{ //is a specific server }
这很有效,但是我发现当我的 cron 作业执行时,从 Plesk 启动时 DOCUMENT_ROOT 为空。
是否存在更好的方法来识别服务器?
我不希望有服务器特定的配置文件,因为确保所有服务器上的所有文件都相同的 FTP 同步软件不支持排除某些文件。
另外,服务器可能运行不同的控制面板和设置,所以我希望尽可能通用。
最佳答案
您可以在设置 cron 作业时将服务器名称作为命令行参数传递。
关于PHP:一致地识别本地服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45841387/