Impostazioni PHP

Puoi scegliere quale versione di PHP eseguire nel file .magento.app.yaml:

name: mymagento
type: php:<version>
TIP
Se si esegue l'aggiornamento a PHP 8.1 e versioni successive, rimuovere JSON dalla proprietà runtime: extensions: nel file .magento.app.yaml e ridistribuirlo. L’estensione JSON viene installata in ambiente Cloud a partire da PHP 8.0.

Configurare PHP

È possibile personalizzare le impostazioni PHP per l’ambiente utilizzando un file php.ini aggiunto alla configurazione gestita da Adobe Commerce.

Nel repository, aggiungere il file php.ini alla radice dell’applicazione (la radice del repository).

TIP
La configurazione errata delle impostazioni PHP può causare problemi, pertanto solo gli amministratori esperti devono impostare queste opzioni.

Aumentare il limite di memoria PHP

Per aumentare il limite di memoria PHP, aggiungere la seguente impostazione al file php.ini:

memory_limit = 1G

Per il debug, aumentare il valore a 2G.

Ottimizza configurazione realpath_cache

Imposta le seguenti impostazioni di realpath_cache per migliorare le prestazioni dell’applicazione.

;
; Increase realpath cache size
;
realpath_cache_size = 10M

;
; Increase realpath cache ttl
;
realpath_cache_ttl = 7200

Queste impostazioni consentono ai processi PHP di memorizzare nella cache i percorsi dei file invece di cercarli per ogni caricamento di pagina. Vedi Ottimizzazione delle prestazioni nella documentazione di PHP.

NOTE
Per un elenco delle impostazioni di configurazione PHP consigliate, vedere Impostazioni PHP richieste nella Guida all'installazione.

Controllare le impostazioni PHP personalizzate

Dopo aver inviato le modifiche di php.ini all’ambiente Cloud, puoi verificare che la configurazione PHP personalizzata sia stata aggiunta all’ambiente. Ad esempio, utilizzare SSH per accedere all’ambiente remoto, visualizzare le informazioni di configurazione PHP e filtrare per la direttiva register_argc_argv:

php -i | grep register_argc_ar

Output di esempio:

register_argc_argv => On => On
WARNING
Se utilizzi Cloud Docker per Commerce per lo sviluppo locale, consulta Docker service container per informazioni sull'utilizzo di un file php.ini personalizzato in un ambiente Docker.

Abilitare le estensioni

È possibile abilitare o disabilitare le estensioni PHP nella sezione runtime:extension. Inoltre, le estensioni specificate diventano disponibili nei contenitori Docker PHP.

IMPORTANT
Prima di abilitare le estensioni, è importante comprendere che la versione PHP deve essere compatibile con il sistema operativo che ospita il progetto. Prima di procedere, l'ambiente del progetto potrebbe richiedere un aggiornamento del sistema operativo da parte del team dell'infrastruttura.

Esempio nel file .magento.app.yaml:

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

Utilizza SSH per accedere a un ambiente e elencare le estensioni PHP.

php -m

Per informazioni dettagliate su un’estensione PHP specifica, vedere Elenco estensioni PHP.

La tabella seguente mostra le estensioni PHP supportate durante la distribuzione di Adobe Commerce sulla piattaforma Cloud.

Default extensions
Installed extensions that cannot be uninstalled
Extensions that can be installed and uninstalled as needed
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
Some PHP extensions have environment-specific installation limitations and are not represented fully by the table above. For example, LDAP can be enabled in Integration environments through project configuration, but it is not a self-service configuration for Pro Staging and Production through .magento.app.yaml.

I requisiti del modulo PHP sono legati alla versione Adobe Commerce. Consulta Requisiti PHP.

Supporto per le estensioni

Per i progetti Pro, le seguenti estensioni richiedono supporto aggiuntivo per l’installazione:

  • ioncube
  • sourceguardian

Ad esempio, per impostare PHP in modo che esegua solo script protetti da SourceGuardian in tutti gli ambienti, è necessario impostare nel file php.ini l’opzione seguente:

[SourceGuardian]
sourceguardian.restrict_unencoded = "1"

Consulta la sezione 3.5 della documentazione di SourceGuardian. Collegamento a un PDF.

Invia un ticket di supporto Adobe Commerce per assistenza sull’installazione di queste estensioni PHP in tutti gli ambienti di produzione e di staging Pro. Includi il file .magento/services.yaml aggiornato, il file .magento.app.yaml con la versione PHP aggiornata ed eventuali estensioni PHP aggiuntive. Per le modifiche a un ambiente di produzione live, devi fornire un preavviso minimo di 48 ore. L’aggiornamento del progetto da parte del team di infrastruttura Cloud può richiedere fino a 48 ore.

WARNING
PHP compilato con debug non supportato. Il probe potrebbe essere in conflitto con XDebug o XHProf. Disattiva queste estensioni quando abiliti il Probe. Il probe è in conflitto con alcune estensioni PHP come Pinba o IonCube.
recommendation-more-help
commerce-on-cloud-help-cloud-guide