관리 메뉴

나만을 위한 블로그

[PHP] Fatal error: Uncaught Error: Call to undefined function mb_substr() 해결 시도 본문

PHP

[PHP] Fatal error: Uncaught Error: Call to undefined function mb_substr() 해결 시도

참깨빵위에참깨빵 2020. 1. 15. 22:27
728x90
반응형

페이징까지 예제 코드를 사용한 후 똑같은 코드로 다른 게시판을 만들었는데, 페이징 부분에서 생긴 에러인지 어디에서 생긴지는 잘 모르지만 제목과 같은 에러가 떴다.

 

Fatal error: Uncaught Error: Call to undefined function mb_substr()

 

일단 모든 에러 타이틀을 구글과 네이버에서 검색해봤다. 그 결과 나오는 해결책들은 아래와 같았다.

 

https://www.inmotionhosting.com/support/website/error-numbers/fatal-error-call-to-undefined-function-error/

 

Fatal error: Call to undefined function mb_substr() Error, InMotion Hosting Support Center

When working on your website, you may encounter an error stating: Fatal error: Call to undefined function mb_substr().

www.inmotionhosting.com

- PHP 구성에 mbstring 모듈이 없어서 발생하는 에러다. 사용 중인 코드에 멀티 바이트 문자 인코딩이 필요한 경우 mb_substr()가 호출될 때 이 오류가 발생한다. 이 에러를 해결하려면 mbstring PHP 모듈을 설치해야 한다.

 

-> 내 경우와는 맞지 않아서 넘겼지만, mbstring 모듈이란 게 없어서 발생하는 오류라는 힌트는 얻었다.

 

 

 

https://stackoverflow.com/questions/14035698/fatal-error-call-to-undefined-function-mb-substr/14035744

 

Fatal error: Call to undefined function mb_substr()

I wanted to see your input on this concern I'm currently experiencing. It turns out that:

stackoverflow.com

- mb_substr ()은 substr ()의 멀티 바이트 안전 버전으로, 바이트가 아닌 문자와 함께 작동합니다. 설치 지침에 따라 mbstring은 기본 제공 확장이 아닙니다. 적절한 파일이 있고 PHP를 올바르게 구성하여 활성화해야합니다. 제공되는 링크에서 일부 정보를 찾을 수 있으며, 웹 호스트가 나머지를 도와 줄 수 있어야합니다. Linux의 경우 다음을 사용하여 설치하십시오.

 

sudo apt-get install php-mbstring

 

-> 난 센토스라서 # yum install php7.0-mbstring을 해봤지만 먹히지 않았다. 그 아래에 php 7.1 이상으로 업글된 경우에도 7.0 버전으로 유지되므로 php7.0-mbstring을 설치하지 말아야 한다. 대신 php-mbstring을 설치해야 한다. 그럼 # yum install php-mbstring으로 쳐서 설치해봤고, 아파치를 stop한 후 start해서 확인해봤지만 에러는 고쳐지지 않았다.

 

 

http://amina.co.kr/bbs/board.php?bo_table=apms_qa&wr_id=56220

불러오는 중입니다...

- php.ini 파일에서 extension=php_mbstring.dll 이 부분의 세미콜론을 지워주니 잘 된다

 

-> 내 php.ini 파일에는 저런 부분이 없었다. 그래서 저 부분을 복사해서 적당한 위치에 붙여넣은 후 아파치를 멈추고 다시 start 시켜봤지만 결과는 똑같았다. 안 된다.

 

 

 

https://zemez.io/wordpress/support/how-to/how-to-cope-with-call-to-undefined-function-mb_substr-error/

 

How to cope with “Call to Undefined Function mb_substr()” Error - Zemez

From this tutorial you’ll learn how to cope with "Call to undefined function mb_substr ()" error, which can appear after template installation.

zemez.io

- 이 오류는 누락 된 mbstring PHP 확장으로 인해 발생할 수 있다. 이 문제를 해결하려면 호스팅 서버에서 설치하거나 사용하도록 설정해야한다. 직접 설치할 수도 있다. mbstring 설치 방법에 대한 상세는 멀티 바이트 문자열 설치 기사를 참조(https://php.net/manual/en/book.mbstring.php)

 

-> 나한텐 먹히지 않았다.

 

 

등등 다른 글들을 봤지만 4시간 넘도록 해결되지 않았다.

그래서 게시판 만들기에 참고한 사이트로 돌아가서 코드를 분석해봤고, 일단 주석처리했다.

당연한 거지만 주석처리를 해버리니 잘 돌아간다.

근본적인 해결은 아니지만, 시간이 없으니 임시방편으로 이렇게라도 하는 수밖에 없었다.

언젠간 고친다...

반응형
Comments