문제 해결

PHP 확장 및 설정

Which PHP versions and extensions KapsuleHost web hosting provides, which settings you can change yourself, and why a change can take up to five minutes to appear.

KapsuleHost 웹 호스팅이 제공하는 PHP 버전 및 확장 프로그램, 직접 변경할 수 있는 설정, 그리고 변경 사항이 나타나는 데 최대 5분이 걸리는 이유입니다.

사이트와 관련된 모든 PHP 항목은 한 곳에 있습니다: Websites(웹사이트)를 클릭하고, 사이트를 클릭한 후, Advanced(고급)를 클릭하고, PHP를 클릭하세요. 해당 페이지에는 버전 선택기, 변경할 수 있는 설정, Composer 실행기 및 PHP 오류 로그가 있습니다.

KPanel의 사이트에 대한 PHP 탭

PHP 버전 선택

4개의 버전을 선택할 수 있습니다: 8.4, 8.3, 8.2 및 8.1. 새 사이트는 기본적으로 8.3으로 설정됩니다.

소프트웨어가 실제로 지원하는 최신 버전을 선택하세요. 최신 PHP는 의미 있게 더 빠르며 더 오래 보안 수정으로 지원됩니다. 최신 버전으로 바로 업그레이드하지 않는 이유는 호환성 때문입니다: 몇 년 전에 작성된 오래된 플러그인이나 사용자 정의 코드는 테스트되지 않은 버전에서 완전히 실패할 수 있습니다.

변경하려면 버전을 선택하고 Apply Version(버전 적용)을 클릭하세요. 변경 사항은 즉시 적용되며, 재시작이 필요 없고 다운타임이 없습니다.

프로덕션 변경 전에 스테이징에서 먼저 PHP 버전을 변경하고, 사이트를 클릭해서 확인한 후에만 프로덕션에서 변경하세요. 라이브에서 변경해야 한다면 지켜볼 수 있을 때 하고, 이전 버전으로 돌아가는 것은 한 번의 클릭이라는 것을 알아두세요. 스테이징 환경을 참조하세요.

버전 변경으로 인해 사이트가 중단되면, 이전 버전으로 다시 전환하고 로그를 읽으세요. 오류는 실행할 수 없는 파일을 이름으로 표시합니다. PHP 버전 변경오류 로그를 참조하세요.

변경할 수 있는 설정

PHP 페이지에서는 5개의 설정을 드롭다운으로 제공합니다. 이들은 실제로 문제를 일으키는 설정이며, 이것이 표시되는 이유입니다.

설정기본값사용 가능한 값제어 대상
memory_limit256M128M, 256M, 512M, 1024M, 2048M하나의 요청이 사용할 수 있는 메모리 양
max_execution_time3030, 60, 120, 300, 600하나의 요청이 실행될 수 있는 시간(초)
upload_max_filesize64M16M, 32M, 64M, 128M, 256M업로드할 수 있는 가장 큰 단일 파일
post_max_size65M17M, 33M, 65M, 129M, 257M가장 큰 총 양식 제출
max_input_vars30001000, 3000, 5000, 10000하나의 제출이 포함할 수 있는 필드 수

필요한 것:

  • 특정 크기 이상의 업로드 실패: upload_max_filesize을 높이고 post_max_size도 함께 높이세요.
  • 대규모 양식 또는 페이지 빌더가 저장 시 필드 손실: max_input_vars을 높이세요. 이것은 보이지 않으며 답답합니다. 오류가 없기 때문입니다. 추가 필드는 자동으로 버려집니다.
  • 페이지가 중간에 오류 없이 중단됨: memory_limit을 높이세요. WordPress 메모리 제한을 참조하세요.
  • 긴 가져오기 또는 내보내기 시간 초과: max_execution_time을 높이고, 대신 명령줄에서 작업을 실행하는 것을 고려하세요. WP-CLI를 참조하세요.

post_max_size은(는) upload_max_filesize보다 커야 합니다. 업로드가 게시물 내에서 이동하기 때문입니다. 그렇지 않은 조합을 선택하면 플랫폼이 post_max_size을(를) 자동으로 올립니다. 이것이 선택하지 않은 값을 볼 수 있는 이유입니다.

변경 사항이 최대 5분 걸리는 이유

이는 이 페이지에서 가장 흔한 혼동이므로 정확히 하는 것이 좋습니다.

설정은 사이트 문서 루트의 .user.ini 파일에 기록됩니다. PHP는 해당 파일을 읽고 300초 동안 캐시합니다(5분). 캐시가 만료될 때까지 PHP는 이전 값을 계속 사용합니다.

따라서 변경을 저장한 후:

  • 페이지는 최대 5분 동안 이전 제한을 계속 보고합니다.
  • phpinfo()는 최대 5분 동안 이전 제한을 계속 보고합니다.
  • 하드 새로고침은 도움이 되지 않습니다. 브라우저 캐시 삭제도 마찬가지입니다.
  • 아무것도 다시 시작할 필요가 없으며 다시 시작할 수도 없습니다. 그냥 기다리세요.

5분 이상이 지났는데 값이 변경되지 않았다면 뭔가 문제가 있는 것이므로 티켓을 제출할 가치가 있습니다.

.user.ini을(를) 직접 편집하기

SFTP 또는 SSH를 통해 .user.ini을(를) 직접 편집하거나, 패널에서 제공하지 않는 지시문이 필요한 경우 편집할 수 있습니다. 사이트 문서 루트에 있습니다. SFTP 액세스를 참조하세요.

형식은 한 줄에 하나의 지시문입니다:

memory_limit = 512M
max_execution_time = 120

.user.ini이(가) 할 수 있는 작업에 대한 두 가지 중요한 제한:

PHP가 디렉토리별 또는 사용자별로 설정하도록 허용하는 지시문에만 작동합니다. 위의 5개는 모두 해당됩니다. disable_functions과 같이 시스템 수준에서만 설정할 수 있는 지시문이나 extension=으로 확장 프로그램을 로드하는 경우는 .user.ini 파일에서 무시됩니다. 오류가 발생하지 않으며, 단순히 아무 작동도 하지 않습니다. 이것이 사람들이 오후 내내 이를 가지고 씨름하는 이유입니다.

패널은 간단한 키만 다시 읽습니다. opcache.enable 또는 date.timezone과 같이 점을 포함하는 지시문은 PHP에서 인정되지만 패널 양식에 나타나지 않습니다. 수동으로 설정한 후 나중에 패널을 통해 뭔가 변경하면 나중에 파일을 확인하세요.

Kapsule 웹 호스팅은 Apache가 아닌 nginx를 실행합니다. .htaccess 파일은 아무도 읽지 않습니다. .htaccess 파일에 배치된 PHP 지시문(예: php_value memory_limit)은 여기서 절대 작동하지 않습니다. .user.ini 또는 패널을 대신 사용하세요. WordPress 및 .htaccess를 참조하세요.

사용 가능한 확장 프로그램

표준 빌드는 광범위하며 WordPress, WooCommerce 및 대부분의 PHP 응용 프로그램이 요청하는 모든 것을 포함합니다.

데이터베이스: mysqli, pdo_mysql, sqlite3, pdo_sqlite 이미지: gd, imagick, exif 캐싱: Zend OPcache, redis, memcached 텍스트 및 로캘: mbstring, iconv, intl, gettext, ctype XML 및 데이터: dom, simplexml, xml, xmlreader, xmlwriter, xsl, json 네트워크: curl, soap, sockets, ftp, openssl 수학 및 암호화: bcmath, sodium, hash, random 파일 및 시스템: fileinfo, zip, zlib, phar, posix, pcntl, shmop, calendar, tokenizer

알아두면 좋은 한 가지 버전 차이: imap 확장 프로그램은 8.3 이하에 있지만 8.4에는 없습니다. PHP 자체에서 해당 릴리스에서 제거되었기 때문입니다. 여전히 필요한 응용 프로그램이 있다면 8.3에 머물거나 해당 응용 프로그램을 최신 메일 라이브러리로 이동하세요.

설치되지 않음: PostgreSQL 드라이버, MongoDB, Xdebug, mcrypt 및 ionCube 및 SourceGuardian과 같은 상업 코드 로더.

패널에서 확장 프로그램을 직접 활성화 또는 비활성화할 수 없습니다. 응용 프로그램이 목록에 없는 것이 필요한 경우 티켓을 열고 실행 중인 것을 설명하세요. 추가할 수 있는지 여부는 확장 프로그램에 따라 다릅니다. 지원 티켓 열기를 참조하세요.

실제로 로드된 항목 확인

추측하는 대신:

  • WordPress에서: Tools(도구)를 클릭한 다음, Site Health(사이트 상태)를 클릭하고, Info(정보)를 클릭한 후, Server(서버)를 클릭하세요. PHP 버전 및 관련 제한을 나열합니다.
  • SSH를 통해: php -v은(는) 버전을 위해, php -m은(는) 로드된 확장 프로그램을 위해. SSH 키 추가를 참조하세요.

phpinfo() 파일을 웹 루트에 남겨 두지 마세요. 경로, 확장 프로그램 및 구성을 찾는 모든 사람에게 게시하며, 자동화된 스캐너는 정확히 해당 파일명을 찾습니다. 뭔가를 확인하기 위해 생성한 경우 즉시 삭제하세요.

관련 가이드

여전히 도움이 필요하신가요?

다음 주소로 이메일을 보내주세요 support@kapsulehost.com 또는 KPanel에서 채팅을 시작하세요.

KPanel 열기
PHP 확장 및 설정