Configuración de PHP

En este tema se explica cómo configurar las opciones de PHP requeridas.

NOTE
La última versión de Adobe Commerce requiere un mínimo de PHP 8.1. Consulte requisitos del sistema para todas las versiones compatibles de PHP.

Para obtener instrucciones de configuración de Cloud, consulte Configuración de PHP en la guía de Commerce en infraestructura en la nube.

Control de procesos PHP

Para poder ejecutar indizadores en modo paralelo, debe habilitar la compatibilidad con Control de procesos (pcntl) en PHP. Consulte Instalación en la documentación de PHP.

Verificar que PHP esté instalado

PHP se instala por defecto en la mayoría de las distribuciones Linux. En este tema se da por hecho que ya ha instalado PHP. Para verificar si PHP está instalado, introduzca lo siguiente en la línea de comandos:

php -v

Si PHP está instalado, aparece un mensaje similar al siguiente:

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 no está instalado (o requiere una actualización), instálelo siguiendo las instrucciones para su distribución Linux.

Verificar las extensiones instaladas

Adobe Commerce requiere ciertas extensiones PHP. Las siguientes listas especifican las extensiones necesarias para cada edición de Commerce. Las listas se generan automáticamente a partir de una implementación que ejecuta la última versión de cada edición.

Adobe Commerce requiere:

  • 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

El Magento Open Source requiere:

  • 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

Para comprobar las extensiones instaladas:

  1. Enumerar los módulos instalados.

    code language-bash
    php -m
    
  2. Compruebe que todas las extensiones requeridas están instaladas.

  3. Añada los módulos que falten utilizando el mismo flujo de trabajo utilizado para instalar PHP.

Comprobar la configuración de PHP

WARNING
Si usa PHP 7.4.20, establezca pcre.jit=0 en el archivo php.ini. Esto evita un error de PHP que impide que CSS se cargue.
  • Configure la zona horaria del sistema para PHP; de lo contrario, es posible que errores como la siguiente visualización durante la instalación y operaciones relacionadas con la hora como cron no funcionen:
PHP Warning:  date(): It is not safe to rely on the system's timezone settings. [more messages follow]
  • Establezca el límite de memoria PHP.

    El Adobe recomienda lo siguiente:

    • Compilando código o implementando recursos estáticos, 1G
    • Depurando, 2G
    • Probando, ~3-4G
  • Aumente los valores de PHP realpath_cache_size y realpath_cache_ttl a la configuración recomendada:

    code language-conf
    realpath_cache_size=10M
    realpath_cache_ttl=7200
    

    Estos ajustes permiten a los procesos de PHP almacenar en caché las rutas a los archivos en lugar de buscarlos durante la carga de la página. Consulte Ajuste del rendimiento en la documentación de PHP.

  • Habilite opcache.save_comments, que es necesario para Adobe Commerce 2.1 y versiones posteriores.

    El Adobe recomienda habilitar PHP OPcache por motivos de rendimiento. OPcache está habilitado en muchas distribuciones PHP.

    Adobe Commerce 2.1 y versiones posteriores utilizan comentarios de código PHP para la generación de código.

NOTE
Para evitar problemas durante la instalación y actualización, Adobe recomienda encarecidamente que aplique la misma configuración de PHP tanto a la configuración de la línea de comandos de PHP como a la configuración del complemento del servidor web de PHP. Para obtener más información, consulte la siguiente sección.

Buscar archivos de configuración de PHP

En esta sección se explica cómo encontrar los archivos de configuración necesarios para actualizar la configuración necesaria.

Buscar archivo de configuración de php.ini

Para encontrar la configuración del servidor web, ejecute un archivo phpinfo.php en el explorador web y busque Loaded Configuration File de la siguiente manera:

Página de información de PHP

Para localizar la configuración de la línea de comandos de PHP, introduzca

php --ini | grep "Loaded Configuration File"
NOTE
Si solo tiene un archivo de php.ini, cámbielo. Si tiene dos archivos de php.ini, cambie ambos archivos. Si no se hace esto, el rendimiento puede ser impredecible.

Buscar opciones de configuración de OPcache

La configuración de OPcache de PHP se encuentra generalmente en php.ini o opcache.ini. La ubicación puede depender de su sistema operativo y versión de PHP. El archivo de configuración de OPcache puede tener una sección opcache o valores como opcache.enable.

Siga estas directrices para encontrarlo:

  • Servidor web Apache:

    Para Ubuntu con Apache, la configuración de OPcache generalmente se encuentra en el archivo php.ini.

    Para CentOS con Apache o nginx, la configuración de OPcache generalmente se encuentra en /etc/php.d/opcache.ini

    Si no es así, utilice el siguiente comando para localizarlo:

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

Si tiene más de un(a) opcache.ini, modifíquelos(as) todos(as).

Cómo configurar las opciones de PHP

Para configurar las opciones de PHP:

  1. Abra un(a) php.ini en un editor de texto.

  2. Busque la zona horaria del servidor en la configuración de zona horaria disponible

  3. Busque la siguiente configuración y quite los comentarios si es necesario:

    code language-conf
    date.timezone =
    
  4. Añada la configuración de zona horaria que encontró en el paso 2.

  5. Cambie el valor de memory_limit por uno de los valores recomendados al principio de esta sección.

    Por ejemplo,

    code language-conf
    memory_limit=2G
    
  6. Agregue o actualice la configuración de realpath_cache para que coincida con los siguientes valores:

    code language-conf
    ;
    ; Increase realpath cache size
    ;
    realpath_cache_size = 10M
    
    ;
    ; Increase realpath cache ttl
    ;
    realpath_cache_ttl = 7200
    
  7. Guarde los cambios y salga del editor de texto.

  8. Abra los otros php.ini (si son diferentes) y realice los mismos cambios en ellos.

Definir opciones de OPcache

Para establecer las opciones de opcache.ini:

  1. Abra el archivo de configuración de OPcache en un editor de texto:

    • opcache.ini (CentOS)
    • php.ini (Ubuntu)
    • /etc/php/8.1/fpm/php.ini (servidor web nginx (CentOS o Ubuntu))
  2. Busque opcache.save_comments y quite los comentarios si es necesario.

  3. Asegúrese de que su valor esté establecido en 1.

  4. Guarde los cambios y salga del editor de texto.

  5. Reinicie el servidor web:

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

Resolución de problemas

Consulte los siguientes artículos de soporte de Adobe Commerce para obtener ayuda con la resolución de problemas de PHP:

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