我为每个环境使用了适当的配置。为了完成我必须使用“HTTP_HOST”变量来识别,例如:
if($_SERVER['HTTP_HOST']=='example.com'){
问题是当我从 cli 运行代码时,在本地我无法弄清楚环境是什么。
我找到了一些解决我问题的代码
function getIPs($withV6 = true) {
preg_match_all('/inet'.($withV6 ? '6?' : '').' addr: ?([^ ]+)/', `ifconfig`, $ips);
return $ips[1];
}
if($_SERVER['HTTP_HOST']=='example.com'||getIPs()[0]=='55.789.258.66'){
但 ifconfig
仅适用于 linux ,我识别哪个操作系统并将 'ifconfig' 更改为 'ipconfig'(windows ) 使用:
$getIpFunc = PHP_OS=='Linux'?`ifconfig`:`ipconfig`;
preg_match_all('/inet'.($withV6 ? '6?' : '').' addr: ?([^ ]+)/', $getIpFunc, $ips);
但我没有在 windows 中收到 ip