PHP 설정
이 항목에서는 필요한 PHP 옵션을 설정하는 방법에 대해 설명합니다.
클라우드 구성 지침은 클라우드 인프라의 Commerce 안내서에서 PHP 설정 을 참조하십시오.
PHP 프로세스 제어
병렬 모드에서 인덱서를 실행하려면 먼저 PHP에서 프로세스 제어 지원(pcntl
)을 사용하도록 설정해야 합니다. PHP 설명서에서 설치를 참조하십시오.
PHP가 설치되었는지 확인
PHP는 대부분의 Linux 배포판에 기본적으로 설치됩니다. 이 항목에서는 사용자가 이미 PHP를 설치했다고 가정합니다. PHP가 설치되어 있는지 확인하려면 명령줄에 다음을 입력합니다.
php -v
PHP가 설치되어 있으면 다음과 유사한 메시지가 표시됩니다.
PHP 8.1.2-1ubuntu2.14 (cli) (built: Aug 18 2023 11:41:11) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
with Zend OPcache v8.1.2-1ubuntu2.14, Copyright (c), by Zend Technologies
PHP가 설치되지 않은 경우(또는 업그레이드가 필요한 경우) Linux 배포판의 지침에 따라 설치합니다.
설치된 확장 확인
Adobe Commerce에는 특정 PHP 확장명이 필요합니다. 다음 목록은 각 Commerce 버전에 필요한 확장을 지정합니다. 이 목록은 각 버전의 최신 버전을 실행하는 배포에서 자동으로 생성됩니다.
Adobe Commerce에는 다음이 필요합니다.
ext-bcmath
ext-ctype
ext-curl
ext-dom
ext-fileinfo
ext-filter
ext-ftp
ext-gd
ext-hash
ext-iconv
ext-intl
ext-json
ext-libxml
ext-mbstring
ext-openssl
ext-pcre
ext-pdo_mysql
ext-simplexml
ext-soap
ext-sockets
ext-sodium
ext-spl
ext-tokenizer
ext-xmlwriter
ext-xsl
ext-zip
ext-zlib
lib-libxml
Magento Open Source에는 다음이 필요합니다.
ext-bcmath
ext-ctype
ext-curl
ext-dom
ext-fileinfo
ext-filter
ext-ftp
ext-gd
ext-hash
ext-iconv
ext-intl
ext-json
ext-libxml
ext-mbstring
ext-openssl
ext-pcre
ext-pdo_mysql
ext-simplexml
ext-soap
ext-sockets
ext-sodium
ext-tokenizer
ext-xmlwriter
ext-xsl
ext-zip
ext-zlib
lib-libxml
설치된 확장을 확인하려면:
-
설치된 모듈을 나열합니다.
code language-bash php -m
-
필요한 확장이 모두 설치되었는지 확인합니다.
-
PHP 설치에 사용되는 것과 동일한 워크플로를 사용하여 누락된 모듈을 추가합니다.
PHP 설정 확인
- PHP에 대한 시스템 시간대를 설정합니다. 그렇지 않으면 설치 중에 다음과 같은 오류가 표시되고 cron과 같은 시간 관련 작업이 작동하지 않을 수 있습니다.
PHP Warning: date(): It is not safe to rely on the system's timezone settings. [more messages follow]
-
PHP 메모리 제한을 설정합니다.
Adobe은 다음 사항을 권장합니다.
- 코드 컴파일 또는 정적 자산 배포,
1G
- 디버깅,
2G
- 테스트 중,
~3-4G
- 코드 컴파일 또는 정적 자산 배포,
-
PHP
realpath_cache_size
및realpath_cache_ttl
의 값을 권장 설정으로 늘립니다.code language-conf realpath_cache_size=10M realpath_cache_ttl=7200
이러한 설정을 사용하면 PHP 프로세스가 페이지 로드 시 경로를 조회하는 대신 파일에 경로를 캐시할 수 있습니다. PHP 설명서에서 성능 조정을 참조하십시오.
-
Adobe Commerce 2.1 이상에 필요한
opcache.save_comments
을(를) 사용하도록 설정합니다.Adobe에서는 성능상의 이유로 PHP OPcache을(를) 사용하도록 권장합니다. OPcache는 많은 PHP 배포에서 사용할 수 있습니다.
Adobe Commerce 2.1 이상 버전은 코드 생성에 PHP 코드 주석을 사용합니다.
PHP 구성 파일 찾기
이 섹션에서는 필요한 설정을 업데이트하는 데 필요한 구성 파일을 찾는 방법에 대해 설명합니다.
php.ini
구성 파일 찾기
웹 서버 구성을 찾으려면 웹 브라우저에서 phpinfo.php
파일을 실행하고 다음과 같이 Loaded Configuration File
을(를) 찾으십시오.
PHP 명령줄 구성을 찾으려면 다음을 입력합니다
php --ini | grep "Loaded Configuration File"
php.ini
파일이 하나만 있는 경우 해당 파일을 변경하십시오. php.ini
개 파일이 두 개 있는 경우 둘 다 개 파일을 변경하십시오. 이렇게 하지 않으면 예기치 않은 성능이 발생할 수 있습니다.OPcache 구성 설정 찾기
PHP OPcache 설정은 일반적으로 php.ini
또는 opcache.ini
에 있습니다. 위치는 운영 체제와 PHP 버전에 따라 달라질 수 있습니다. OPcache 구성 파일에 opcache
섹션이나 opcache.enable
같은 설정이 있을 수 있습니다.
다음 지침을 사용하여 찾습니다.
-
Apache 웹 서버:
Apache가 있는 Ubuntu의 경우, OPcache 설정은 일반적으로
php.ini
파일에 있습니다.Apache 또는 nginx가 있는 CentOS의 경우 OPcache 설정은 일반적으로
/etc/php.d/opcache.ini
에 있습니다.그렇지 않은 경우 다음 명령을 사용하여 찾습니다.
code language-bash sudo find / -name 'opcache.ini'
-
nginx 웹 서버(PHP-FPM 포함):
/etc/php/8.1/fpm/php.ini
opcache.ini
이(가) 두 개 이상인 경우 모두 수정하십시오.
PHP 옵션을 설정하는 방법
PHP 옵션을 설정하려면 다음을 수행합니다.
-
텍스트 편집기에서
php.ini
을(를) 엽니다. -
사용 가능한 표준 시간대 설정에서 서버의 표준 시간대를 찾습니다
-
다음 설정을 찾아 필요한 경우 주석 처리를 제거합니다.
code language-conf date.timezone =
-
2단계에서 찾은 시간대 설정을 추가합니다.
-
memory_limit
의 값을 이 섹션의 시작 부분에서 권장되는 값 중 하나로 변경합니다.For example,
code language-conf memory_limit=2G
-
다음 값과 일치하도록
realpath_cache
구성을 추가하거나 업데이트하십시오.code language-conf ; ; Increase realpath cache size ; realpath_cache_size = 10M ; ; Increase realpath cache ttl ; realpath_cache_ttl = 7200
-
변경 사항을 저장하고 텍스트 편집기를 종료합니다.
-
다른
php.ini
을(를) 열고 같은 변경 내용을 적용합니다.
OPcache 옵션 설정
opcache.ini
옵션을 설정하려면:
-
텍스트 편집기에서 OPcache 구성 파일을 엽니다.
opcache.ini
(CentOS)php.ini
(Ubuntu)/etc/php/8.1/fpm/php.ini
(nginx 웹 서버(CentOS 또는 Ubuntu))
-
opcache.save_comments
을(를) 찾아 필요한 경우 주석 처리를 제거합니다. -
해당 값이
1
(으)로 설정되어 있는지 확인하십시오. -
변경 사항을 저장하고 텍스트 편집기를 종료합니다.
-
웹 서버를 다시 시작합니다.
- Apache, Ubuntu:
service apache2 restart
- Apache, CentOS:
service httpd restart
- nginx, Ubuntu 및 CentOS:
service nginx restart
- Apache, Ubuntu:
문제 해결
PHP 문제 해결에 대한 도움말은 다음 Adobe Commerce 지원 문서를 참조하십시오.
- 브라우저에서 Adobe Commerce에 액세스할 때 PHP 버전 오류 또는 404 오류 발생
- PHP 설정 오류
- PHP mcrypt 확장이 제대로 설치되지 않았습니다
- PHP 버전 준비 확인 문제
- 일반적인 PHP 치명적인 오류 및 해결 방법