Configuración de PHP
En este tema se explica cómo configurar las opciones de PHP requeridas.
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:
-
Enumerar los módulos instalados.
code language-bash php -m
-
Compruebe que todas las extensiones requeridas están instaladas.
-
Añada los módulos que falten utilizando el mismo flujo de trabajo utilizado para instalar PHP.
Comprobar la configuración de PHP
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
- Compilando código o implementando recursos estáticos,
-
Aumente los valores de PHP
realpath_cache_size
yrealpath_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.
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:
Para localizar la configuración de la línea de comandos de PHP, introduzca
php --ini | grep "Loaded Configuration File"
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:
-
Abra un(a)
php.ini
en un editor de texto. -
Busque la zona horaria del servidor en la configuración de zona horaria disponible
-
Busque la siguiente configuración y quite los comentarios si es necesario:
code language-conf date.timezone =
-
Añada la configuración de zona horaria que encontró en el paso 2.
-
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
-
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
-
Guarde los cambios y salga del editor de texto.
-
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
:
-
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))
-
Busque
opcache.save_comments
y quite los comentarios si es necesario. -
Asegúrese de que su valor esté establecido en
1
. -
Guarde los cambios y salga del editor de texto.
-
Reinicie el servidor web:
- Apache, Ubuntu:
service apache2 restart
- Apache, CentOS:
service httpd restart
- nginx, Ubuntu y CentOS:
service nginx restart
- Apache, Ubuntu:
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: