Configurações do PHP
Este tópico discute como definir as opções necessárias do PHP.
Para obter orientação sobre a configuração na nuvem, consulte Configurações do PHP no Commerce na infraestrutura em nuvem guia.
Controle do processo PHP
Antes de executar indexadores no modo paralelo, você deve habilitar o suporte ao Controle do 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
no seu php.ini
arquivo. Isto se aproxima de um PHP bug que impede o CSS de carregar.- 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:
- Compilação de código ou implantação de ativos estáticos,
1G
- Depuração,
2G
- Testes,
~3-4G
- Compilação de código ou implantação de ativos estáticos,
-
Aumentar os valores do PHP
realpath_cache_size
erealpath_cache_ttl
para 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.
-
Ativar
opcache.save_comments
, que é necessário para o Adobe Commerce 2.1 e posteriores.O Adobe recomenda ativar o OPcache do PHP 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 php.ini
arquivo de configuração
Para localizar a configuração do servidor Web, execute uma phpinfo.php
arquivo no navegador da Web e procure a variável Loaded Configuration File
do seguinte modo:
Para localizar a configuração da linha de comando do PHP, digite
php --ini | grep "Loaded Configuration File"
php.ini
arquivo, altere esse arquivo. Se você tiver dois php.ini
arquivos, alterar 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 do OPcache pode ter um opcache
seção 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
php.ini
arquivo.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'
-
nginx web server com PHP-FPM:
/etc/php/8.1/fpm/php.ini
Se 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 no campo configurações de fuso horário
-
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
a um dos valores recomendados no início desta seção.Por exemplo,
code language-conf memory_limit=2G
-
Adicionar ou atualizar 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 fazer as mesmas alterações nela.
Definir opções de OPcache
Para definir opcache.ini
opções:
-
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))
-
Localizar
opcache.save_comments
e deixe de comentar, 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: