최근에는 서로 다른 서버의 컴퓨터 스크립트 실행 상태를 모니터링하기 위한 로그 메커니즘을 개선해야 합니다. 이를 호환하기 위해 특별히 Windows, Linux, 웹 및 명령줄 모드용 함수를 작성했습니다.
위 요구 사항을 달성하기 위해 다음 함수를 작성했습니다.
함수 getServerAddr() {
//웹앱 실행
If (isset($_SERVER["SERVER_ADDR"])) {
$_SERVER["SERVER_ADDR"] 반환;
} else { // CLI 실행
If (stristr(PHP_OS, 'WIN')) {
에게
exec("ipconfig /all", $catch);
foreach ($catch를 $line으로) {
$new_catch[] = iconv("gbk", "utf-8", $line) .
~
foreach ($new_catch를 $new_line으로) {
If (preg_match('/IPv4 주소/', $new_line)) { //중국어 시스템
list($t, $ip) = 폭발(':', $new_line);
$ip = 트림($ip)
preg_match('/((?:(?:25[0-5]|2[0-4]d|((1d{2})|([1-9]?d))).){3} (?:25[0-5]|2[0-4]d|((1d{2})|([1-9]?d))))/', $ip , $match); >
$match[1] 반환
~
~
$ifconfig = shell_exec('/sbin/ifconfig eth0′);
Preg_match('/addr:([d.] )/', $ifconfig, $match)
$match[1] 반환;
~
}
}
$ip = getServerAddr()
$ip 인쇄