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 el Commerce en infraestructura en la nube guía.
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 y Magento Open Source requieren 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
B2B para 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 su php.ini
archivo. Esto evita a un PHP bicho que evita 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:
- Compilación de código o implementación de recursos estáticos,
1G
- Depuración,
2G
- Pruebas,
~3-4G
- Compilación de código o implementación de recursos estáticos,
-
Aumentar 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.
-
Activar
opcache.save_comments
, que es necesaria para Adobe Commerce y Magento Open Source 2.1 y posteriores.El Adobe recomienda habilitar la variable OPcache de PHP por motivos de rendimiento. OPcache está habilitado en muchas distribuciones PHP.
Adobe Commerce y Magento Open Source 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 php.ini
archivo de configuración
Para buscar la configuración del servidor web, ejecute un phpinfo.php
archivo en el explorador web y busque la variable Loaded Configuration File
como sigue:
Para localizar la configuración de la línea de comandos de PHP, introduzca
php --ini | grep "Loaded Configuration File"
php.ini
archivo, cambie ese archivo. Si tiene dos php.ini
archivos, cambiar ambos archivos. Si no se hace esto, el rendimiento puede ser impredecible.Buscar opciones de configuración de OPcache
La configuración de la caché de PHP OP generalmente se encuentra 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 un opcache
sección o configuración como opcache.enable
.
Siga estas directrices para encontrarlo:
-
Servidor web Apache:
Para Ubuntu con Apache, la configuración de OPcache generalmente se encuentra en
php.ini
archivo.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 uno opcache.ini
, modifique todos ellos.
Cómo configurar las opciones de PHP
Para configurar las opciones de PHP:
-
Abra un
php.ini
en un editor de texto. -
Localice la zona horaria del servidor en el configuración de zona horaria
-
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.
-
Cambiar el valor de
memory_limit
a uno de los valores recomendados al principio de esta sección.Por ejemplo,
code language-conf memory_limit=2G
-
Añada o actualice el
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 el otro
php.ini
(si son diferentes) y realice los mismos cambios en él.
Definir opciones de OPcache
Para establecer opcache.ini
opciones:
-
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))
-
Localizar
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: