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, utilizza SSH per accedere all’ambiente remoto e visualizzare il file utilizzando un metodo simile al seguente:

cat /etc/php/<php-version>/fpm/php.ini
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.

Estensioni predefinite
Estensioni installate che non possono essere disinstallate
Estensioni che possono essere installate e disinstallate in base alle esigenze
bcmath
bz2
calendario
exif
gd
gettext
intl
libxml
mysqli
opcache
pcntl
pdo_mysql
Riflesso
sapone
socket
SPL
standard
gonfiore
sysvmsg
sysvsem
sysvshm
zip
zlib
ctype
curl
data
dba
dom
fileinfo
filtro
ftp
hash
iconv
json
mbstring
mysqlnd
openssl
pcre
dop
pdo_sqlite
phar
posix
readline
sessione
sqlite3
tokenizer
xml
xmlreader
xmlwriter
geoip
gmp
igbinary
imagick
imap
ldap
mailparse
mcrypt
msgpack
mysqli
oauth
pdo_mysql
propro
pspell
raphf
recode
redis
socket shmop
sodio
ssh2
ordinato
xdebug
xmlrpc
xsl
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
05f2f56e-ac5d-4931-8cdb-764e60e16f26