sms 발송 질문입니다
본문
<?php
include_once(G5_THEME_PATH.'/head.php');
include_once(G5_LIB_PATH.'/mailer.lib.php');
include_once(G5_LIB_PATH.'/icode.sms.lib.php');
$url = 'http://localhost/'; // 확인하려는 사이트의 URL
$recv_nb_1 = "*** 개인정보보호를 위한 휴대폰번호 노출방지 ***";
// 로그 기록 함수
function writeLog($message) {
$logFile = 'server_status.log'; // 로그 파일 경로
// 현재 날짜와 시간을 포맷팅
$timestamp = date('Y-m-d H:i:s');
$logMessage = "[$timestamp] $message" . PHP_EOL;
// 로그 파일에 메시지 기록
file_put_contents($logFile, $logMessage, FILE_APPEND | LOCK_EX);
}
// 사이트 접속 함수
function checkServerStatus($url) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 5); // 5초 타임아웃 설정
if (strpos($url, 'https://') === 0) {
// HTTPS일 경우 SSL 인증서 검증 생략
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
}
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode == 200) {
echo "서버가 정상 작동 중입니다." . $httpCode;
$message = " $url 서버가 정상 작동 중입니다. HTTP 상태 코드: $httpCode";
} else {
echo "서버에 문제가 있을 수 있습니다. HTTP 상태 코드: " . $httpCode;
$message = "서버에 문제가 있을 수 있습니다. HTTP 상태 코드: $httpCode";
//Gmailer($email_1, $httpCode."님이 ".$httpCode."관련 작업 요청", $httpCode, 1);
$send_hp_mb = "12341234"; //보내는 전화번호
$recv_hp_mb_1 = $recv_nb_1; //받는 전화번호 1
$sms_content = $url."사이트 ".$httpCode." 서버상태 \n"; //문자 내용
$SMS = new SMS; //SMS 연결
$SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']);
$SMS->Add($recv_hp_mb_1, $send_hp_mb, $config['cf_icode_id'], iconv("utf-8", "euc-kr", stripslashes($sms_content)), "");
$SMS->Send();
}
// 로그 기록
writeLog($message);
}
// 사이트 접속 함수 호출
checkServerStatus($url);
?>
서버상태를 확인하고 정상이면 그냥 로그만 남기고 비정상이면 문자발송과 함께 로그남기도록 짜봤는데요
정상일땐 정상적으로 로그 남겨지는데
비정상으로 만들면 로그 자체도 안생기더라구요 sms발송 부분을 주석처리하면 로그 남겨지구요
sms발송부분이 문제라서 밖으로 탈출을 못해서 로그도 못찍는거 같은데 어떻게 해결할수있을까요?
!-->
답변 4
include_once(G5_THEME_PATH.'/head.php');
->
include_once('../../common.php');
sms발송부분을 임시로 주석처리후 로그가 남는지 확인해보면
sms 부분이 문제인지 다른 문제인지 판별이 가능할것 같습니다.
안녕하세요 별명은별명 입니다
실패시 SMS발송 되어지는 과정에서 오류가 발생되어 발송도 안되고 오류로 안찍히는 부분인거라 해당 부분이 제대로 작동을 하는지 체크해 보셔야 할듯 합니다.
함수안에 SMS 발송 모듈을 호출하는것을 함수안에 두지 말고
checkServerStatus 함수를 실행해서 실패 여부를 체크해서
checkServerStatus 함수를 호출하면서 리턴되어지는 부분에서 문자 발송을 처리하는게 좋을듯 합니다.
답변을 작성하시기 전에 로그인 해주세요.