PHP 8.x의 php에 있습니다.ini 설정
개시하다
드디어 PHP8.환경 설정 때문에 오랜만에 php를 접했습니다.ini 파일을 바라보았다.
5.x 정도의 설정
여기저기 변경도 없이 아래 두 부분만 받았다.
Date
php.inidate.timezone = Asia/Tokyo
mbstring
php.inimbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encoding_translation = Off
mbstring.detect_order = ASCII,ISO-2022-JP,UTF-8,eucJP-win,SJIS-win
mbstring.substitute_character = none
mbstring.func_overload = 0
8.x설정
예전처럼 하면 될 것 같은데, 신경 쓰이는 게 몇 개 있어요.
php.ini의 댓글을 봤는데 다음 세 가지는 deprecated입니다.
mbstring.internal_encoding
글로벌internal_encoding
을 대체해야 한다.mbstring.http_input
글로벌input_encoding
을 대체해야 한다.mbstring.http_output
글로벌output_encoding
을 대체해야 한다.PHP
절의 일입니까?PHP
internal_encoding
설정하지 않은 경우 default_charset
를 설정합니다.default_charset
는 기본값UTF-8
으로 설정되어 있지 않습니다.홈페이지에도 있습니다기재하다.
input_encoding
internal_encoding
와 같습니다.output_encoding
internal_encoding
와 같습니다.# php -r 'var_export(mb_internal_encoding());'
'UTF-8'
# php -r 'var_export(mb_http_input("L"));'
'UTF-8'
# php -r 'var_export(mb_http_output());'
'UTF-8'
한번 해 봤는데 괜찮을 것 같아요.나머지는
mbstring.detect_order
.mbstring.language
설정에 따라 달라질 수 있으니 해보세요.console
# php -r 'var_export(mb_detect_order());'
array (
0 => 'ASCII',
1 => 'UTF-8',
)
Japanese
의 경우console
# php -d mbstring.language=Japanese -r 'var_export(mb_detect_order ());'
array (
0 => 'ASCII',
1 => 'JIS',
2 => 'UTF-8',
3 => 'EUC-JP',
4 => 'SJIS',
)
eucJP-win
일 수 있지만 SJIS-win
가 아니라 EUC-JP
SJIS
일 수 있다.안타깝게도 이것은 수동으로 설정할 수밖에 없다.
따라서 마지막으로 다음과 같은 내용을 설정한다.
Date
php.inidate.timezone = Asia/Tokyo
mbstring
php.inimbstring.language = Japanese
mbstring.detect_order = ASCII,ISO-2022-JP,UTF-8,eucJP-win,SJIS-win
mbstring.substitute_character = none
mbstring.func_overload = 0
끝말
php.ini 파일, 의외로 별로 변하지 않았어요.
이전과 같이 사용할 수 있습니다.
Reference
이 문제에 관하여(PHP 8.x의 php에 있습니다.ini 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/ksh2ksk4/articles/3cb75ed89ae662c1352d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)