테스트 사이트 - 개발 중인 베타 버전입니다

sms 발송 질문입니다 채택완료

</p>

<p><?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');</p>

<p> </p>

<p>$url = '<a href="http://localhost/';" target="_blank" rel="noopener noreferrer">http://localhost/';</a> // 확인하려는 사이트의 URL</p>

<p>

$recv_nb_1 = "01012341234";</p>

<p>    

// 로그 기록 함수

function writeLog($message) {

    $logFile = 'server_status.log'; // 로그 파일 경로</p>

<p>    // 현재 날짜와 시간을 포맷팅

    $timestamp = date('Y-m-d H:i:s');

    $logMessage = "[$timestamp] $message" . PHP_EOL;</p>

<p>    // 로그 파일에 메시지 기록

    file_put_contents($logFile, $logMessage, FILE_APPEND | LOCK_EX);

}</p>

<p>// 사이트 접속 함수

function checkServerStatus($url) {

    $ch = curl_init($url);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    curl_setopt($ch, CURLOPT_TIMEOUT, 5); // 5초 타임아웃 설정</p>

<p>    if (strpos($url, '<a href="https://')" target="_blank" rel="noopener noreferrer">https://')</a> === 0) {

        // HTTPS일 경우 SSL 인증서 검증 생략

        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

    }</p>

<p>    $response = curl_exec($ch);

    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    curl_close($ch);</p>

<p>    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</p>

<p>        $sms_content = $url."사이트 ".$httpCode." 서버상태 \n"; //문자 내용</p>

<p>        $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']);</p>

<p>        $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);

}</p>

<p>// 사이트 접속 함수 호출

checkServerStatus($url);

?></p>

<p>

 

서버상태를 확인하고 정상이면 그냥 로그만 남기고 비정상이면 문자발송과 함께 로그남기도록 짜봤는데요

 

정상일땐 정상적으로 로그 남겨지는데

비정상으로 만들면 로그 자체도 안생기더라구요 sms발송 부분을 주석처리하면 로그 남겨지구요

sms발송부분이 문제라서 밖으로 탈출을 못해서 로그도 못찍는거 같은데 어떻게 해결할수있을까요?

 

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트

include_once(G5_THEME_PATH.'/head.php');

->

include_once('../../common.php');

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

실패시 SMS발송 되어지는 과정에서 오류가 발생되어 발송도 안되고 오류로 안찍히는 부분인거라 해당 부분이 제대로 작동을 하는지 체크해 보셔야 할듯 합니다. 함수안에 SMS 발송 모듈을 호출하는것을 함수안에 두지 말고  checkServerStatus 함수를 실행해서 실패 여부를 체크해서 

checkServerStatus 함수를 호출하면서 리턴되어지는 부분에서 문자 발송을 처리하는게 좋을듯 합니다.
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

안녕하세요 별명은별명 입니다

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

sms발송부분을 임시로 주석처리후 로그가 남는지 확인해보면

sms 부분이 문제인지 다른 문제인지 판별이 가능할것 같습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인

전체 질문 목록

🐛 버그신고