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-bcmathext-ctypeext-curlext-domext-fileinfoext-filterext-ftpext-gdext-hashext-iconvext-intlext-jsonext-libxmlext-mbstringext-opensslext-pcreext-pdo_mysqlext-simplexmlext-soapext-socketsext-sodiumext-splext-tokenizerext-xmlwriterext-xslext-zipext-zliblib-libxml
O Magento Open Source exige:
ext-bcmathext-ctypeext-curlext-domext-fileinfoext-filterext-ftpext-gdext-hashext-iconvext-intlext-jsonext-libxmlext-mbstringext-opensslext-pcreext-pdo_mysqlext-simplexmlext-soapext-socketsext-sodiumext-tokenizerext-xmlwriterext-xslext-zipext-zliblib-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.
A 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_sizeerealpath_cache_ttlpara as configurações recomendadas:code language-conf realpath_cache_size=10M realpath_cache_ttl=7200Estas 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 habilitar 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.iniCaso 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.iniem 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_limitpara 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_cachepara 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_commentse 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: