2017-07-20 3 views
3

Ich verwende eine geeignete Konfiguration für jede Umgebung. Um acomplissh, dass ich mit ‚HTTP_HOST‘ Variable identifizieren müssen, zum Beispiel:Identifizierungsumgebung in PHP, wenn Skript mit CLI ausgeführt wird

if($_SERVER['HTTP_HOST']=='example.com'){ 

das Problem ist, dass, wenn ich den Code aus cli laufen, lokal kann ich nicht herausfinden, was die Umwelt ist.

fand ich einige Code, der mein Problem

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'){ 

lösen Aber ifconfig funktioniert nur unter Linux, ich erkennen, welche OS und Wandel 'ifconfig' auf 'ipconfig' (Windows):

$getIpFunc = PHP_OS=='Linux'?`ifconfig`:`ipconfig`; 
preg_match_all('/inet'.($withV6 ? '6?' : '').' addr: ?([^ ]+)/', $getIpFunc, $ips); 

aber ich erhalte die IP in Windows

+1

Ich bin nicht in Fenster aber ist es nicht 'ipconfig/all'? – funilrys

Antwort

Verwandte Themen