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-bcmathext-ctypeext-curlext-domext-fileinfoext-filterext-ftpext-gdext-hashext-iconvext-intlext-jsonext-libxmlext-mbstringext-opensslext-pcreext-pdo_mysqlext-simplexmlext-soapext-socketsext-sodiumext-splext-tokenizerext-xmlwriterext-xslext-zipext-zliblib-libxml
Magento Open Source requiert les éléments suivants :
ext-bcmathext-ctypeext-curlext-domext-fileinfoext-filterext-ftpext-gdext-hashext-iconvext-intlext-jsonext-libxmlext-mbstringext-opensslext-pcreext-pdo_mysqlext-simplexmlext-soapext-socketsext-sodiumext-tokenizerext-xmlwriterext-xslext-zipext-zliblib-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_sizePHP etrealpath_cache_ttlaux paramètres recommandés :code language-conf realpath_cache_size=10M realpath_cache_ttl=7200Ces 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.iniDans 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.inidans 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_limitpar 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_cachepour 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_commentset 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 :