[php 에러] Call to undefined function get_magic_quotes_runtime() 에러 문제 해결 방법

Updated on 2021-01-26 by

뉴스레터를 운영하기 위해 여러 설정하던 중 만난 php 에러 Call to undefined function get_magic_quotes_runtime() 에러 문제 해결 방법에 대해서 살펴봅니다.

뉴스레터 운영을 위해서 메일스터라는 뉴스레터 플러그인을 사용하고 있습니다. 그런데 자동으로 메일 보내기가 자꾸 작동이 안되는 문제가 있여 몇주동안 문제 해결을 위해서 고민에 고민을 거듭했습니다.

이메일 마케팅에서 특정 상황, 예를들어 신규 회원이 가입하면 자동으로 환영 메일을 보내는 것과 같은 자동화된 동작을 하도록 설계하곤 합니다. 그래야 효율적이고 효과적인 마케팅이 가능하기 때문이죠.

문제는 수동으로 메일을 보내면 잘 가는데 자동으로 메일 보내기가 작동이 안되었습니다. 보아하니 특정 상황 발생 시 트리거를 격발시키기 위해서 크론 명령을 주는데 이 크론 동작이 제대로 작동하지 않아 메일이 자동으로 보내지지 않는 것이었습니다.

그 원인을 파악하고자 log도 살펴보고 이런 저런 실험을 하다가 php 명령를 내리면 이상한 메세지를 보여주는 것을 발견했습니다.

PHP Fatal error: Uncaught Error: Call to undefined function get_magic_quotes_runtime() 라는 에러 메세지인데요.

PHP Fatal error: Uncaught Error: Call to undefined function get_magic_quotes_runtime() in /html/mysite/wp-content/plugins/mailster/classes/libs/phpmailer/class.phpmailer.php:2697 Stack trace: #0 /html/mysite/wp-content/plugins/mailster/classes/libs/phpmailer/class.phpmailer.php(2668): PHPMailer_mailster->encodeFile() #1 /html/mysite/wp-content/plugins/mailster/classes/libs/phpmailer/class.phpmailer.php(2300): PHPMailer_mailster->attachAll() #2 /html/mysite/wp-content/plugins/mailster/classes/libs/phpmailer/class.phpmailer.php(1277): PHPMailer_mailster->createBody() #3 /html/mysite/wp-content/plugins/mailster/classes/mail.helper.class.php(115): PHPMailer_mailster->preSend() #4 /html/mysite/wp-content/plugins/mailster-amazonses/classes/amazonses.class.php(142): mailster_mail_helper->PreSend() #5 /html/mysite/wp-includes/class-wp-hook.php(287): MailsterAmazonSES->dosend() #6 /html/mysite/wp-includes/class-wp-hook.php(311): WP_Hook->apply_filters() #7 /html/mysite/wp-includes/plugin.php(484): WP_Hook->do_action() #8 /html/mysite/wp-content/plugins/mailster/classes/mail.class.php(583): do_action() #9 /html/mysite/wp-content/plugins/mailster/classes/campaigns.class.php(4306): MailsterMail->send() #10 /html/mysite/wp-content/plugins/mailster/classes/queue.class.php(1178): MailsterCampaigns->send() #11 /html/mysite/wp-includes/class-wp-hook.php(287): MailsterQueue->progress() #12 /html/mysite/wp-includes/class-wp-hook.php(311): WP_Hook->apply_filters() #13 /html/mysite/wp-includes/plugin.php(551): WP_Hook->do_action() #14 /html/mysite/wp-cron.php(138): do_action_ref_array() #15 {main} thrown in /html/mysite/wp-content/plugins/mailster/classes/libs/phpmailer/class.phpmailer.php on line 2697
Code language: PHP (php)

엄청난 구글링 결과 “get_magic_quotes_runtime()”, “set_magic_quotes_runtime()”과 같은 phpMailer에서 사용하는 기능은 php 5에서 사용하던 기능으로 php 7이상에서는 사용하지 않는 기능이라고 합니다. 그러니 php 7.4에서 계속 에러를 냈던 것 같습니다.

그러면 이문제를 어떻게 해결해야 할까요? 아마 플러그인 개발자는 php 5,php 7, php 8 모두에서 플러그인 작동해야 하므로 이 기능 명령을 아직도 사용하는지도 모르겠습니다. 이 mailster 플러그인 기술 지원 기간이 끝났기 때문에 구글링을 거듭해서 해결 방법을 찾았습니다.

결국 위대한 구글신께서 정답을 알고 있더군요. stackoverflow에서 이에 대한 질문이 올라왔고 해결 방법도 제시되어 있엇습니다.

Call to undefined function set_magic_quotes_runtime()

해결 방법은 php 7에서 이러한 기능 요청을 받으면 더미 기능을 하도록 만들어서 이 이슈를 회피할 수 있다고 합니다. 저도 적용해 보니 작동하더군요. 저는 functions.php 파일에 다음의 코드를 추가했습니다.

if (!function_exists('set_magic_quotes_runtime')) { function set_magic_quotes_runtime($new_setting) { return true; } }
Code language: PHP (php)

참고하시길 바래요..

전 이 문제 해결하느라 3주나 걸렸습니다. 틈틈히 테스트하느라 긴 시간이 걸렸지요.

21년 새롭게 뉴스레터를 시작합니다

한 주간 발행한 포스팅과 읽었던 글 중 괜찮은 내용을 선정해 뉴스레터를 보내드리고 있습니다. 물론 중간에 괜찮은 글들이 있으면 부정기적으로도 보내드리고 있습니다.

기존 발행 뉴스레터를 살펴보기

서울에 생긴 Vultr 서버 100$ 프로모션

안녕하세요?
새로운 사이트 구축을 위한 신규 서버를 고민하신다면 , 서울 리젼이 생겨 더욱 빨라진 Vultr 서버를 Vultr 100$ 프로모션으로 이용해 보세요.

아래 프로모션 코드 링크를 통해 Vultr에서 서버 구축 후 1달 이상 사용 및 $25이상 결제 時 추가 100$을 주는 프로모션입니다.

Vultr는 서울에도 리젼이 있어 매우 빠르고, 아마존 웹 서비스(AWS)보다 성능이 높으며 가장 가성비가 뛰어납니다.

거기다 사용자 UI도 좋고, 15개까지 스냅샷을 무료로 제공하기 때문에 관리하기 좋습니다. 그리고 지금 100$ 프로모션처럼 가격적인 메리트도 있습니다.

우분투 20.04와 PHP 8 기반 워드프레스 설치 방법

가상 서버를 운영하고픈 勇者에게 전하는 가상 서버 운영 입문 노하우 – Vultr 가상서버호스팅(VPS)를 중심으로

워드프레스 최적화를 위한 18개월간의 고민, 그 노하우를 담다.

도쿄 리젼과 비교해 본 Vultr 서울 리젼 사용기

가성비가 뛰어난 Vultr 가상서버호스팅(클라우드호스팅,VPS) 사용기

오랬동안 FMCG 마케팅과 전자제품 상품기획 경험을 기반으로 다양한 분야의 마케팅 및 경영 사례 분석에 관심을 가지고 있습니다. 아울러 IT 등 트렌드 분석과 빠르게 변화하는 뉴스에서 얻을 수 있는 인사이트를 분석해 나누고 있습니다.. 개인적으로 사진에 관심에 많아 소소한 일상의 따뜻함을 담고 있습니다. 혹 연락이 필요하시면 ihappist@gmail.com으로 연락해 주세요

guest
0 Comments
Inline Feedbacks
View all comments