Configurações do PHP

Você pode escolher qual versão do PHP executar em seu arquivo .magento.app.yaml:

name: mymagento
type: php:<version>
TIP
Se estiver atualizando para o PHP 8.1 e posterior, remova o JSON da propriedade runtime: extensions: no arquivo .magento.app.yaml e reimplante. A extensão JSON vem instalada no ambiente de nuvem desde o PHP 8.0.

Configurar PHP

Você pode personalizar as configurações do PHP para o seu ambiente usando um arquivo php.ini anexado à configuração mantida pelo Adobe Commerce.

Em seu repositório, adicione o arquivo php.ini à raiz do aplicativo (a raiz do repositório).

TIP
A configuração incorreta das configurações do PHP pode causar problemas, portanto, somente administradores avançados devem definir essas opções.

Aumentar limite de memória do PHP

Para aumentar o limite de memória do PHP, adicione a seguinte configuração ao arquivo php.ini:

memory_limit = 1G

Para depuração, aumente o valor para 2G.

Otimizar a configuração do realpath_cache

Defina as seguintes configurações de realpath_cache para melhorar o desempenho do aplicativo.

;
; Increase realpath cache size
;
realpath_cache_size = 10M

;
; Increase realpath cache ttl
;
realpath_cache_ttl = 7200

Essas configurações permitem que processos PHP armazenem em cache caminhos para arquivos em vez de pesquisá-los para cada carregamento de página. Consulte Ajuste de desempenho na documentação do PHP.

NOTE
Para obter uma lista das definições de configuração do PHP recomendadas, consulte Configurações do PHP necessárias no Guia de instalação.

Verificar configurações personalizadas de PHP

Depois de enviar as alterações de php.ini para o ambiente em nuvem, você pode verificar se a configuração personalizada do PHP foi adicionada ao ambiente. Por exemplo, use SSH para fazer logon no ambiente remoto, exibir informações de configuração do PHP e filtrar a diretiva register_argc_argv:

php -i | grep register_argc_ar

Saída de exemplo:

register_argc_argv => On => On
WARNING
Se você usa o Cloud Docker para Commerce para desenvolvimento local, consulte Contêineres de serviço do Docker para obter informações sobre como usar um arquivo php.ini personalizado em um ambiente do Docker.

Habilitar extensões

Você pode ativar ou desativar extensões PHP na seção runtime:extension. Além disso, as extensões especificadas ficam disponíveis nos contêineres PHP do Docker.

IMPORTANT
Antes de habilitar extensões, é importante entender que a versão do PHP deve ser compatível com o sistema operacional que hospeda o projeto. Seu ambiente de projeto pode exigir uma atualização do SO pela equipe de infraestrutura antes de você poder continuar.

Exemplo no arquivo .magento.app.yaml:

runtime:
    extensions:
        - sockets
        - sodium
        - ssh2
    disabled_extensions:
        - bcmath
        - bz2
        - calendar
        - exif

Use SSH para fazer login em um ambiente e listar as extensões do PHP.

php -m

Para obter detalhes sobre uma extensão específica do PHP, consulte a Lista de Extensões do PHP.

A tabela a seguir mostra as extensões compatíveis do PHP ao implantar o Adobe Commerce na plataforma na nuvem.

Extensões padrão
Extensões instaladas que não podem ser desinstaladas
Extensões que podem ser instaladas e desinstaladas conforme necessário
bcmath
bz2
calendar
exif
gd
gettext
intl
libxml
mysqli
pcntl
pdo_mysql
Reflection
soap
sockets
SPL
standard
swoole
sysvmsg
sysvsem
sysvshm
zip
zlib
ctype
curl
date
dba
dom
fileinfo
filter
ftp
hash
iconv
json
mbstring
mysqlnd
openssl
pcre
pdo
pdo_sqlite
phar
posix
readline
session
sqlite3
tokenizer
xml
xmlreader
xmlwriter
igbinary
imap
ldap
mcrypt
mysqli
pdo_mysql
propro
recode
redis
shmop sockets
sodium
xmlrpc
xsl
NOTE
Algumas extensões do PHP têm limitações de instalação específicas do ambiente e não são representadas completamente pela tabela acima. Por exemplo, o LDAP pode ser habilitado em ambientes de Integração por meio da configuração do projeto, mas não é uma configuração de autoatendimento para Preparo Profissional e Produção por meio do .magento.app.yaml.

Os requisitos do módulo do PHP estão vinculados à versão do Adobe Commerce. Consulte requisitos do PHP.

Suporte à extensão

Para projetos Pro, as seguintes extensões exigem suporte adicional para instalação:

  • ioncube
  • sourceguardian

Por exemplo, para configurar o PHP para executar somente scripts protegidos pelo SourceGuardian em todos os ambientes, a seguinte opção deve ser definida no arquivo php.ini:

[SourceGuardian]
sourceguardian.restrict_unencoded = "1"

Consulte a seção 3.5 da documentação do SourceGuardian. Este é um link para uma PDF.

Envie um tíquete de Suporte da Adobe Commerce para obter ajuda sobre como instalar essas extensões PHP em todos os ambientes de Produção e de Pro Staging. Inclua seu arquivo atualizado .magento/services.yaml, arquivo .magento.app.yaml com a versão atualizada do PHP e quaisquer extensões adicionais do PHP. Para alterações em um ambiente de Produção em tempo real, você deve fornecer um aviso mínimo de 48 horas. Pode levar até 48 horas para a equipe de infraestrutura da nuvem atualizar seu projeto.

WARNING
Não há suporte para o PHP compilado com depuração e a Investigação pode entrar em conflito com XDebug ou XHProf. Desative essas extensões ao ativar o teste. O Probe está em conflito com algumas extensões PHP como Pinba ou IonCube.
recommendation-more-help
commerce-on-cloud-help-cloud-guide