Paramètres PHP
Cette rubrique explique comment définir les options PHP requises.
Pour obtenir des conseils sur la configuration du cloud, consultez Paramètres PHP dans le guide Commerce sur les infrastructures cloud.
Contrôle de processus PHP
Avant de pouvoir exécuter des indexeurs en mode parallèle, vous devez activer la prise en charge de Process Control (pcntl
) en PHP. Voir Installation dans la documentation PHP.
Vérifier que PHP est installé
PHP est installé par défaut sur la plupart des distributions Linux. Cette rubrique suppose que vous avez déjà installé PHP. Pour vérifier si PHP est installé, saisissez la ligne de commande suivante :
php -v
Si PHP est installé, un message similaire à celui-ci s'affiche :
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
Si PHP n'est pas installé (ou nécessite une mise à niveau), installez-le en suivant les instructions de votre distribution Linux.
Vérification des extensions installées
Adobe Commerce requiert certaines extensions PHP. Les listes suivantes spécifient les extensions requises pour chaque édition de Commerce. Les listes sont générées automatiquement à partir d’un déploiement exécutant la dernière version de chaque édition.
Adobe Commerce requiert les éléments suivants :
ext-bcmath
ext-ctype
ext-curl
ext-dom
ext-fileinfo
ext-filter
ext-ftp
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
Magento Open Source requiert les éléments suivants :
ext-bcmath
ext-ctype
ext-curl
ext-dom
ext-fileinfo
ext-filter
ext-ftp
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
Pour vérifier les extensions installées :
-
Liste des modules installés.
code language-bash php -m
-
Vérifiez que toutes les extensions requises sont installées.
-
Ajoutez les modules manquants en utilisant le même workflow que celui utilisé pour installer PHP.
Vérifier les paramètres PHP
pcre.jit=0
dans votre fichier php.ini
. Cela évite un bug PHP bug qui empêche le chargement de CSS.- Réglez le fuseau horaire système pour PHP ; sinon, les erreurs comme celle-ci s'affichent pendant l'installation et les opérations liées à l'heure comme cron risquent de ne pas fonctionner :
PHP Warning: date(): It is not safe to rely on the system's timezone settings. [more messages follow]
-
Définissez la limite de mémoire PHP.
Adobe recommande ce qui suit :
- Compilation du code pour déployer des ressources statiques,
1G
- Débogage,
2G
- Test,
~3-4G
- Compilation du code pour déployer des ressources statiques,
-
Augmentez les valeurs des
realpath_cache_size
PHP etrealpath_cache_ttl
aux paramètres recommandés :code language-conf realpath_cache_size=10M realpath_cache_ttl=7200
Ces paramètres permettent aux processus PHP de mettre en cache les chemins vers les fichiers au lieu de les rechercher au chargement de la page. Voir Réglage des performances dans la documentation PHP.
-
Activez
opcache.save_comments
, qui est obligatoire pour Adobe Commerce 2.1 et les versions ultérieures.Adobe recommande d’activer le PHP OPcache pour des raisons de performances. Le cache OP est activé dans de nombreuses distributions PHP.
Adobe Commerce 2.1 et versions ultérieures utilisent les commentaires de code PHP pour la génération de code.
Rechercher les fichiers de configuration PHP
Cette section explique comment trouver les fichiers de configuration nécessaires pour mettre à jour les paramètres requis.
Rechercher php.ini
fichier de configuration
Pour trouver la configuration du serveur web, exécutez un fichier phpinfo.php
dans votre navigateur web, puis recherchez le Loaded Configuration File
comme suit :
Pour localiser la configuration de ligne de commande PHP, saisissez
php --ini | grep "Loaded Configuration File"
php.ini
, modifiez-le. Si vous disposez de deux fichiers php.ini
, modifiez les deux. Sinon, les performances peuvent être imprévisibles.Rechercher les paramètres de configuration OPcache
Les paramètres PHP OPcache sont généralement situés dans php.ini
ou opcache.ini
. L'emplacement peut dépendre de votre système d'exploitation et de la version PHP. Le fichier de configuration OPcache peut avoir une section opcache
ou des paramètres comme opcache.enable
.
Suivez les instructions suivantes pour le trouver :
-
Serveur web Apache :
Pour Ubuntu avec Apache, les paramètres OPcache se trouvent généralement dans le fichier
php.ini
.Pour CentOS avec Apache ou nginx, les paramètres OPcache sont généralement situés dans
/etc/php.d/opcache.ini
Dans le cas contraire, la commande suivante permet de le localiser :
code language-bash sudo find / -name 'opcache.ini'
-
Serveur web nginx avec PHP-FPM :
/etc/php/8.1/fpm/php.ini
Si vous disposez de plusieurs opcache.ini
, modifiez-les toutes.
Comment définir les options PHP
Pour définir les options PHP :
-
Ouvrez un
php.ini
dans un éditeur de texte. -
Localisez le fuseau horaire de votre serveur dans les paramètres de fuseau horaire disponibles
-
Recherchez le paramètre suivant et supprimez ses commentaires si nécessaire :
code language-conf date.timezone =
-
Ajoutez le paramètre de fuseau horaire trouvé à l’étape 2.
-
Remplacez la valeur de
memory_limit
par l’une des valeurs recommandées au début de cette section.Par exemple,
code language-conf memory_limit=2G
-
Ajoutez ou mettez à jour la configuration
realpath_cache
pour qu’elle corresponde aux valeurs suivantes :code language-conf ; ; Increase realpath cache size ; realpath_cache_size = 10M ; ; Increase realpath cache ttl ; realpath_cache_ttl = 7200
-
Enregistrez vos modifications et quittez l’éditeur de texte.
-
Ouvrez les autres
php.ini
(s’ils sont différents) et apportez-y les mêmes modifications.
Définir les options du cache OP
Pour définir opcache.ini
options :
-
Ouvrez votre fichier de configuration OPcache dans un éditeur de texte :
opcache.ini
(CentOS)php.ini
(Ubuntu)/etc/php/8.1/fpm/php.ini
(serveur web nginx (CentOS ou Ubuntu))
-
Recherchez
opcache.save_comments
et supprimez les commentaires si nécessaire. -
Assurez-vous que sa valeur est définie sur
1
. -
Enregistrez vos modifications et quittez l’éditeur de texte.
-
Redémarrez votre serveur web :
- Apache, Ubuntu :
service apache2 restart
- Apache, CentOS :
service httpd restart
- nginx, Ubuntu et CentOS :
service nginx restart
- Apache, Ubuntu :
Dépannage
Consultez les articles suivants de l’assistance Adobe Commerce pour obtenir de l’aide sur la résolution des problèmes PHP :