paramètres PHP

Cette rubrique explique comment définir les options PHP requises.

NOTE
La dernière version d’Adobe Commerce requiert au minimum PHP 8.1. Voir Configuration requise pour toutes les versions prises en charge de PHP.

Pour obtenir des instructions sur la configuration du cloud, reportez-vous à la section Paramètres PHP du guide Commerce on Cloud Infrastructure.

Contrôle de processus PHP

Avant de pouvoir exécuter des indexeurs en mode parallèle, vous devez activer la prise en charge du contrôle des processus (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 ce qui suit sur la ligne de commande :

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 :

  • ext-bcmath
  • ext-ctype
  • ext-curl
  • ext-dom
  • ext-fileinfo
  • ext-filter
  • 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 :

  • ext-bcmath
  • ext-ctype
  • ext-curl
  • ext-dom
  • ext-fileinfo
  • ext-filter
  • 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 :

  1. Liste des modules installés.

    code language-bash
    php -m
    
  2. Vérifiez que toutes les extensions requises sont installées.

  3. Ajoutez tous les modules manquants en utilisant le même workflow utilisé pour l'installation de PHP.

Vérifier les paramètres PHP

WARNING
Si vous utilisez PHP 7.4.20, définissez pcre.jit=0 dans votre fichier php.ini. Cela contourne un bug PHP qui empêche le chargement du CSS.
  • Définissez le fuseau horaire du système pour PHP. Dans le cas contraire, des erreurs telles que l’affichage suivant lors de l’installation et des opérations liées à l’heure telles que 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 de code ou déploiement de ressources statiques, 1G
    • Débogage, 2G
    • Tests, ~3-4G
  • Augmentez les valeurs pour les paramètres PHP realpath_cache_size et realpath_cache_ttl en fonction des recommandations :

    code language-conf
    realpath_cache_size=10M
    realpath_cache_ttl=7200
    

    Ces paramètres permettent aux processus PHP de mettre en cache les chemins d’accès aux 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 requis pour Adobe Commerce 2.1 et versions ultérieures.

    Adobe recommande d’activer le OPcache PHP pour des raisons de performances. Le OPcache est activé dans de nombreuses distributions PHP.

    Adobe Commerce 2.1 et versions ultérieures utilisent des commentaires de code PHP pour la génération de code.

NOTE
Pour éviter tout problème lors de l’installation et de la mise à niveau, Adobe recommande vivement d’appliquer les mêmes paramètres PHP à la configuration de la ligne de commande PHP et à la configuration du module externe de serveur Web PHP. Pour plus d’informations, voir la section suivante.

Recherche de 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.phpdans votre navigateur web et recherchez le Loaded Configuration File comme suit :

Page d’informations PHP

Pour localiser la configuration de ligne de commande PHP, saisissez

php --ini | grep "Loaded Configuration File"
NOTE
Si vous n’avez qu’un seul fichier php.ini, modifiez ce fichier. Si vous disposez de deux fichiers php.ini, modifiez les fichiers et. Si vous ne le faites pas, les performances risquent d’être imprévisibles.

Recherche des paramètres de configuration OPcache

Les paramètres du OPcache PHP 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 comporter une section opcache ou des paramètres tels que opcache.enable.

Suivez les instructions ci-dessous 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 se trouvent généralement dans /etc/php.d/opcache.ini.

    Dans le cas contraire, utilisez la commande suivante pour la localiser :

    code language-bash
    sudo find / -name 'opcache.ini'
    
  • Serveur web nginx avec PHP-FPM : /etc/php/8.1/fpm/php.ini

Si vous avez plusieurs opcache.ini, modifiez-les tous.

Comment définir les options PHP

Pour définir les options PHP :

  1. Ouvrez un php.ini dans un éditeur de texte.

  2. Localisez le fuseau horaire de votre serveur dans les paramètres de fuseau horaire disponibles.

  3. Recherchez le paramètre suivant et annulez sa mise en commentaire si nécessaire :

    code language-conf
    date.timezone =
    
  4. Ajoutez le paramètre de fuseau horaire trouvé à l’étape 2.

  5. 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
    
  6. 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
    
  7. Enregistrez vos modifications et quittez l’éditeur de texte.

  8. Ouvrez l’autre php.ini (s’ils sont différents) et apportez les mêmes modifications.

Définition des options OPcache

Pour définir les options opcache.ini :

  1. 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)
  2. Recherchez opcache.save_comments et annulez la mise en commentaire si nécessaire.

  3. Assurez-vous que sa valeur est définie sur 1.

  4. Enregistrez vos modifications et quittez l’éditeur de texte.

  5. Redémarrez votre serveur web :

    • Apache, Ubuntu : service apache2 restart
    • Apache, CentOS : service httpd restart
    • nginx, Ubuntu et CentOS : service nginx restart

Dépannage

Pour obtenir de l’aide sur la résolution des problèmes liés à PHP, reportez-vous aux articles suivants du support Adobe Commerce :

recommendation-more-help
0f8e7db5-0e9c-4002-a5b8-a0088077d995