Configurações do PHP
Este tópico discute como definir as opções necessárias do PHP.
Para obter orientações sobre a configuração da nuvem, consulte configurações do PHP no guia Commerce na Infraestrutura da Nuvem.
Controle do processo PHP
Antes de executar indexadores no modo paralelo, você deve habilitar o suporte de Controle de Processo (pcntl
) no PHP. Consulte Instalação na documentação do PHP.
Verificar se o PHP está instalado
O PHP é instalado por padrão na maioria das distribuições Linux. Este tópico assume que você já instalou o PHP. Para verificar se o PHP está instalado, digite o seguinte na linha de comando:
php -v
Se o PHP estiver instalado, uma mensagem similar à seguinte será exibida:
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
Se o PHP não estiver instalado (ou necessitar de uma atualização), instale-o seguindo as instruções para a sua distribuição Linux.
Verificar extensões instaladas
O Adobe Commerce requer determinadas extensões do PHP. As listas a seguir especificam as extensões necessárias para cada edição do Commerce. As listas são geradas automaticamente a partir de uma implantação que executa a versão mais recente de cada edição.
O Adobe Commerce exige:
ext-bcmath
ext-ctype
ext-curl
ext-dom
ext-fileinfo
ext-filter
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
O Magento Open Source exige:
ext-bcmath
ext-ctype
ext-curl
ext-dom
ext-fileinfo
ext-filter
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
Para verificar as extensões instaladas:
-
Listar módulos instalados.
code language-bash php -m
-
Verifique se todas as extensões necessárias estão instaladas.
-
Adicione quaisquer módulos ausentes usando o mesmo workflow usado para instalar o PHP.
Verificar configurações do PHP
pcre.jit=0
em seu arquivo php.ini
. Isso contorna um bug do PHP que impede o carregamento do CSS.- Defina o fuso horário do sistema para o PHP; caso contrário, erros como o seguinte durante a instalação e operações relacionadas ao tempo como cron podem não funcionar:
PHP Warning: date(): It is not safe to rely on the system's timezone settings. [more messages follow]
-
Defina o limite de memória do PHP.
Adobe recomenda o seguinte:
- Compilando código ou implantando ativos estáticos,
1G
- Depurando,
2G
- Testando,
~3-4G
- Compilando código ou implantando ativos estáticos,
-
Aumente os valores do PHP
realpath_cache_size
erealpath_cache_ttl
para as configurações recomendadas:code language-conf realpath_cache_size=10M realpath_cache_ttl=7200
Estas configurações permitem que processos PHP armazenem em cache caminhos para arquivos em vez de pesquisá-los no carregamento da página. Consulte Ajuste de desempenho na documentação do PHP.
-
Habilitar
opcache.save_comments
, que é necessário para o Adobe Commerce 2.1 e posterior.A Adobe recomenda ativar o PHP OPcache por motivos de desempenho. O OPcache está habilitado em muitas distribuições PHP.
Adobe Commerce 2.1 e posteriores usam comentários de código PHP para geração de código.
Localizar arquivos de configuração do PHP
Esta seção discute como você encontra os arquivos de configuração necessários para atualizar as configurações necessárias.
Localizar o arquivo de configuração php.ini
Para localizar a configuração do servidor Web, execute um phpinfo.php
arquivo em seu navegador da Web e procure o Loaded Configuration File
da seguinte maneira:
Para localizar a configuração da linha de comando do PHP, digite
php --ini | grep "Loaded Configuration File"
php.ini
, altere esse arquivo. Se você tiver dois arquivos php.ini
, altere ambos arquivos. Se isso não for feito, o desempenho poderá ser imprevisível.Localizar definições de configuração do OPcache
Normalmente, as configurações de OPcache do PHP estão localizadas em php.ini
ou opcache.ini
. A localização pode depender do seu sistema operacional e da versão do PHP. O arquivo de configuração OPcache pode ter uma seção opcache
ou configurações como opcache.enable
.
Use as diretrizes a seguir para encontrá-la:
-
Apache Web Server:
Para o Ubuntu com Apache, as configurações do OPcache normalmente estão localizadas no arquivo
php.ini
.Para CentOS com Apache ou nginx, as configurações de OPcache normalmente estão localizadas em
/etc/php.d/opcache.ini
Caso contrário, use o seguinte comando para localizá-lo:
code language-bash sudo find / -name 'opcache.ini'
-
servidor Web nginx com PHP-FPM:
/etc/php/8.1/fpm/php.ini
Se você tiver mais de um opcache.ini
, modifique todos eles.
Como definir opções do PHP
Para definir as opções do PHP:
-
Abra um
php.ini
em um editor de texto. -
Localize o fuso horário do seu servidor nas configurações de fuso horário disponíveis
-
Localize a seguinte configuração e remova o comentário dela se necessário:
code language-conf date.timezone =
-
Adicione a configuração de fuso horário encontrada na etapa 2.
-
Altere o valor de
memory_limit
para um dos valores recomendados no início desta seção.Por exemplo,
code language-conf memory_limit=2G
-
Adicione ou atualize a configuração
realpath_cache
para corresponder aos seguintes valores:code language-conf ; ; Increase realpath cache size ; realpath_cache_size = 10M ; ; Increase realpath cache ttl ; realpath_cache_ttl = 7200
-
Salve as alterações e saia do editor de texto.
-
Abra o outro
php.ini
(se forem diferentes) e faça as mesmas alterações nele.
Definir opções de OPcache
Para definir opções de opcache.ini
:
-
Abra o arquivo de configuração do OPcache em um editor de texto:
opcache.ini
(CentOS)php.ini
(Ubuntu)/etc/php/8.1/fpm/php.ini
(servidor Web nginx (CentOS ou Ubuntu))
-
Localize
opcache.save_comments
e remova o comentário, se necessário. -
Verifique se o valor está definido como
1
. -
Salve as alterações e saia do editor de texto.
-
Reiniciar o servidor Web:
- Apache, Ubuntu:
service apache2 restart
- Apache, CentOS:
service httpd restart
- nginx, Ubuntu e CentOS:
service nginx restart
- Apache, Ubuntu:
Solução de problemas
Consulte os seguintes artigos de suporte do Adobe Commerce para obter ajuda com a solução de problemas do PHP: