Base de conocimientos
1000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!
La extensión JavaScript_Object_Notation de PHP está disponible. Es útil para tratar datos JSON en sus aplicaciones Web PHP, ya sea para intercambiar datos con servicios web, almacenar configuraciones o comunicarse con aplicaciones frontales escritas en JavaScript.
Esta guía explica cómo modificar una oferta de Alojamiento Web existente para, por ejemplo, poder alojar sitios web adicionales si se ha alcanzado el límite máximo de sitios web, o obtener una solución de alojamiento más reciente para beneficiarse de las últimas versiones de PHP & MySQL.
Modificar la oferta de alojamiento web para…
… pedir sitios web, espacio en disco o direcciones IP adicionales
Para acceder al configurador del alojamiento web:
- Haga clic aquí para acceder a la gestión de su producto en el Gestor Infomaniak (¿Necesita ayuda?).
- Haga clic en el menú de acción ⋮ situado a la derecha del elemento correspondiente.
- Haga clic en Modificar la oferta:
- Aumente los valores que desea modificar.
- Haga clic en el botón Siguiente para acceder al pago de las modificaciones realizadas en el alojamiento:

… cambiar a un servidor más reciente
Para obtener una solución de alojamiento en un servidor más reciente y, por lo tanto, beneficiarse, entre otras cosas, de las últimas versiones de PHP & MySQL, puede…
- … consultar esta otra guía siguiendo el procedimiento indicado hasta el final:

- … consultar esta otra guía siguiendo el procedimiento indicado hasta el punto 4 y, a continuación, haga clic en el botón para actualizar:

Si no se muestra ninguna barra de información, es que ya disfruta de una oferta de alojamiento reciente.
Esta guía explica cómo cambiar el nombre de un alojamiento web presente en el Administrador de Infomaniak dentro de su Organización.
Prólogo
- Un alojamiento web es, esquemáticamente, el espacio de almacenamiento reservado para alojar un o varios de sus sitios web.
- Por defecto, su alojamiento de Infomaniak toma el nombre del primer sitio que añade a este alojamiento:
- Posee el nombre de dominio "domaine.xyz" y desea un sitio con este nombre de dominio…
- Compra un alojamiento web que será nombrado automáticamente "domaine.xyz" incluso si añade más tarde un segundo sitio "toto.com".
- El alojamiento puede ser renombrado con un nombre más genérico como "Mis Sitios Web" para reflejar mejor su contenido real.
- Este cambio de nombre está destinado a mejorar la legibilidad/comprensión de los productos listados en su Administrador y no tiene absolutamente ninguna incidencia en las direcciones de los sitios web: consulte esta otra guía para actuar sobre el nombre de dominio.
Renombrar un alojamiento web
Para acceder al alojamiento web y realizar el cambio de nombre:
- Haga clic aquí para acceder a la gestión de su producto en el Administrador de Infomaniak (¿necesita ayuda?).
- Haga clic directamente en el nombre atribuido al producto en cuestión.
- Haga clic en el botón Gestionar.
- Haga clic en Modificar el nombre:

- Introduzca el nombre deseado.
- Haga clic en Guardar.
Esta guía trata sobre las funciones ODBC de PHP.
Las funciones ODBC de PHP solo se admiten en Servidor Cloud.
Funciones de Conectividad de Base de Datos Abierta
Estas son las funciones utilizadas para interactuar con bases de datos a través de la interfaz ODBC (Open Database Connectivity), un estándar para acceder a fuentes de datos de manera uniforme. Aquí hay algunos ejemplos de uso de las funciones ODBC de PHP:
- Poder leer datos de una base de datos externa y mostrarlos en su sitio web
- Insertar o modificar datos en una base de datos externa
- Realizar consultas complejas en una base de datos externa
La plataforma de alojamiento para sus sitios *.perso.ch, *.users.ch, *.geneva-link.ch evoluciona y esta guía presenta el procedimiento a seguir para conectarse a su espacio FTP.
Modificación de las credenciales de conexión
La plataforma de alojamiento actual se basa en el uso de un prefijo en el nivel de su nombre de usuario FTP. Este se presenta de la siguiente forma: persoch_
Por lo tanto, si su nombre de usuario era infomaniak, ahora deberá usar el siguiente usuario para conectarse a través de FTP: persoch_infomaniak.
Esta guía explica cómo trabajar sin el módulo PECL SSH2 client no disponible en los alojamientos web y servidores cloud de Infomaniak, utilizando en su lugar la biblioteca phpseclib, que funciona en PHP nativo sin necesidad de ninguna extensión específica.
Prólogo
- El uso de
PECL SSH2 clientprovoca errores de tipoNo compatible key exchange algorithms foundoUnable to exchange encryption keysen su última versión disponible. Phpseclibpermite:- La autenticación SSH por contraseña o clave privada.
- La ejecución de comandos remotos.
- La transferencia de archivos seguros (SFTP).
- La gestión de claves SSH.
Usar phpseclib
Para integrar una conexión SSH en un script PHP, utilice phpseclib de la siguiente manera:
use phpseclib3\Net\SSH2;
use phpseclib3\Crypt\PublicKeyLoader;
$ssh = new SSH2('domain.xyz');
$key = PublicKeyLoader::load(file_get_contents('/path/to/private_key'));
if (!$ssh->login('utilisateur', $key)) {
exit('Authentication Failed');
}
echo $ssh->exec('ls -la');Esta guía se refiere al módulo Apache mod_auth_mysql que permite la autenticación de usuarios y la autorización de acceso a través de una base de datos MySQL.
Con un alojamiento compartido
El módulo mod_auth_mysql no está disponible con los alojamientos compartidos; es necesario considerar un Servidor Cloud o usar scripts PHP y sesiones.
Esta guía explica cómo acceder a InnoDB en Infomaniak.
Usar el motor de almacenamiento MySQL InnoDB
Tan pronto como su alojamiento de Infomaniak le dé acceso a las bases de datos MySQL / MariaDB, InnoDB está disponible al mismo tiempo (MyISAM anteriormente).
InnoDB ofrece características avanzadas como las transacciones ACID, los bloqueos a nivel de fila, los índices de texto completo, etc. Puede aprovechar estas características utilizando instrucciones SQL adecuadas en sus consultas.
Esta guía se refiere a la instalación de la extensión PHP en Alojamientos Web de Infomaniak.
Uso de extensiones PHP Zend
- Zend Guard Loader es una extensión PHP que permite ejecutar scripts PHP cifrados a través de Zend Guard.
- Zend Guard Loader está instalado de forma predeterminada para PHP <= 5.6 en todos los alojamientos web y no está disponible para las versiones de PHP >= 5.6.
- Desde PHP 5.3.x, el módulo Zend Optimizer ha sido reemplazado por ZendGuardLoader
- La extensión ZendOPCache requiere un Servidor Cloud configurado con PHP 5.5 mínimo
Esta guía se refiere a YAZ una biblioteca de software utilizada para implementar el protocolo Z39.50, un protocolo de búsqueda y recuperación de información que permite la comunicación entre diferentes sistemas de bibliotecas (SIGB) como PMB ampliamente utilizado en Francia.
Infomaniak para una gestión eficiente de las bibliotecas
En los Alojamientos Web de Infomaniak, PMB es soportado y YAZ está activado por defecto.
Sin embargo, si encuentra errores como Call to undefined function yaz_connect() será necesario abrir puertos a través del Manager. El puerto 210 es el puerto estándar utilizado para las comunicaciones Z39.50 pero no dude en consultar la documentación de sus aplicaciones.
Para las antiguas fórmulas de alojamiento de Infomaniak, se debe considerar un cambio de oferta.
El acceso a los comandos del sistema who y users está prohibido para los usuarios LDAP en todos los servidores Infomaniak.
Esta guía explica cómo especificar un archivo que se cargará antes de la página deseada o al inicio de cada script PHP ejecutado en su servidor, incluido como si hubiera sido llamado con la función require(), pero de manera más global utilizando la directiva auto_prepend_file de PHP.
Prólogo
- Para declarar, por ejemplo, los encabezados de un sitio web, es posible crear un archivo
headers.phpque contenga funciones PHPheader()y que se prepend al inicio de cada archivo PHP…- … a través de un archivo
.user.ini(propio de una carpeta), - … o a través de la configuración del sitio en el Manager (global) como se explica a continuación.
- … a través de un archivo
- Para obtener ayuda adicional contacte a un socio o inicie una solicitud de oferta gratuita — también descubra el papel del proveedor de alojamiento.
Incluir un archivo globalmente desde el Manager
Para acceder a la gestión del sitio web:
- Haga clic aquí para acceder a la gestión de su producto en el Manager Infomaniak (¿necesita ayuda?).
- Haga clic directamente en el nombre asignado al producto correspondiente:
- Haga clic en Administrar bajo Configuración avanzada:

- Haga clic en la pestaña PHP / Apache.
- Complete la línea correspondiente ingresando la ruta del archivo a incluir.
- Haga clic en el botón al final de la página para guardar:

Después de definir esta directiva, todas las páginas PHP en su servidor incluirán automáticamente el archivo especificado antes de ejecutar su propio código.
Los encabezados definidos en un archivo .htaccess solo son válidos para el contenido no PHP (es decir, estático).
Infomaniak utiliza php-fpm que recibe los diferentes encabezados a través de apache fast_cgi. En la RFC de cgi_www el encabezado Strict-Transport-Security no forma parte de los encabezados pasados a través de CGI y la documentación de Apache lo confirma. Consulte esta otra RFC.
Esta guía le ayudará, por ejemplo, si desea desplegar un paquete como pymysql y este requiere una versión de Python superior a la propuesta en su alojamiento.
Prólogo
- Anaconda es una distribución libre y de código abierto de los lenguajes de programación Python. Esta distribución tiene como objetivo simplificar la gestión de paquetes y el despliegue.
- Se recomienda entonces usar conda que viene con una versión reciente de Python y que se instala en el espacio del usuario, de modo que no hay conflicto con el sistema Python (como en un entorno virtual, que siempre requiere una instalación del sistema de la versión deseada).
- Consulte la documentación oficial.
- Para obtener ayuda adicional contacte a un socio o lance una solicitud de oferta gratuita — también descubra el rol del proveedor de alojamiento.
Descargar el instalador
uid165116@od-12345:~$ wget https://repo.anaconda.com/miniconda/Miniconda3-py37_4.10.3-Linux-x86_64.sh
--2021-07-28 18:21:10-- https://repo.anaconda.com/miniconda/Miniconda3-py37_4.10.3-Linux-x86_64.sh
Resolving repo.anaconda.com (repo.anaconda.com)... 2606:4700::6810:8303, 2606:4700::6810:8203, 104.16.131.3, ...
Connecting to repo.anaconda.com (repo.anaconda.com)|2606:4700::6810:8303|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 89026327 (85M) [application/x-sh]
Saving to: ‘Miniconda3-py37_4.10.3-Linux-x86_64.sh’Miniconda3-py37_4.10.3-Linux-x86_64.sh 100% [==============================================>] 84.90M 203MB/s in 0.4s 18:21:11 (100 MB/s) - ‘Miniconda3-py37_4.10.3-Linux-x86_64.sh’ saved [89026327/89026327]Verificar el hash
uid165116@od-12345:~$ test $(md5sum Miniconda3-py37_4.10.3-Linux-x86_64.sh | awk '{print $1}') == "9f186c1d86c266acc47dbc1603f0e2ed" && echo "OK"
OKIniciar la instalación
uid165116@od-12345:~$ bash Miniconda3-py37_4.10.3-Linux-x86_64.sh -b
PREFIX=/home/clients/fc84cbbf6dcbd6dd76b15d3e56c1789f/miniconda3
Unpacking payload ...
Collecting package metadata (current_repodata.json): done
Solving environment: done## Package Plan ##environment location: /home/clients/fc84cbbf6dcbd6dd76b15d3e56c1789f/miniconda3added / updated specs:
- _libgcc_mutex==0.1=main
- _openmp_mutex==4.5=1_gnu
- brotlipy==0.7.0=py37h27cfd23_1003
- ca-certificates==2021.7.5=h06a4308_1
- certifi==2021.5.30=py37h06a4308_0
- cffi==1.14.6=py37h400218f_0
- chardet==4.0.0=py37h06a4308_1003
- conda-package-handling==1.7.3=py37h27cfd23_1
- conda==4.10.3=py37h06a4308_0
- cryptography==3.4.7=py37hd23ed53_0
- idna==2.10=pyhd3eb1b0_0
- ld_impl_linux-64==2.35.1=h7274673_9
- libffi==3.3=he6710b0_2
- libgcc-ng==9.3.0=h5101ec6_17
- libgomp==9.3.0=h5101ec6_17
- libstdcxx-ng==9.3.0=hd4cf53a_17
- ncurses==6.2=he6710b0_1
- openssl==1.1.1k=h27cfd23_0
- pip==21.1.3=py37h06a4308_0
- pycosat==0.6.3=py37h27cfd23_0
- pycparser==2.20=py_2
- pyopenssl==20.0.1=pyhd3eb1b0_1
- pysocks==1.7.1=py37_1
- python==3.7.10=h12debd9_4
- readline==8.1=h27cfd23_0
- requests==2.25.1=pyhd3eb1b0_0
- ruamel_yaml==0.15.100=py37h27cfd23_0
- setuptools==52.0.0=py37h06a4308_0
- six==1.16.0=pyhd3eb1b0_0
- sqlite==3.36.0=hc218d9a_0
- tk==8.6.10=hbc83047_0
- tqdm==4.61.2=pyhd3eb1b0_1
- urllib3==1.26.6=pyhd3eb1b0_1
- wheel==0.36.2=pyhd3eb1b0_0
- xz==5.2.5=h7b6447c_0
- yaml==0.2.5=h7b6447c_0
- zlib==1.2.11=h7b6447c_3The following NEW packages will be INSTALLED: _libgcc_mutex pkgs/main/linux-64::_libgcc_mutex-0.1-main
_openmp_mutex pkgs/main/linux-64::_openmp_mutex-4.5-1_gnu
brotlipy pkgs/main/linux-64::brotlipy-0.7.0-py37h27cfd23_1003
ca-certificates pkgs/main/linux-64::ca-certificates-2021.7.5-h06a4308_1
certifi pkgs/main/linux-64::certifi-2021.5.30-py37h06a4308_0
cffi pkgs/main/linux-64::cffi-1.14.6-py37h400218f_0
chardet pkgs/main/linux-64::chardet-4.0.0-py37h06a4308_1003
conda pkgs/main/linux-64::conda-4.10.3-py37h06a4308_0
conda-package-han~ pkgs/main/linux-64::conda-package-handling-1.7.3-py37h27cfd23_1
cryptography pkgs/main/linux-64::cryptography-3.4.7-py37hd23ed53_0
idna pkgs/main/noarch::idna-2.10-pyhd3eb1b0_0
ld_impl_linux-64 pkgs/main/linux-64::ld_impl_linux-64-2.35.1-h7274673_9
libffi pkgs/main/linux-64::libffi-3.3-he6710b0_2
libgcc-ng pkgs/main/linux-64::libgcc-ng-9.3.0-h5101ec6_17
libgomp pkgs/main/linux-64::libgomp-9.3.0-h5101ec6_17
libstdcxx-ng pkgs/main/linux-64::libstdcxx-ng-9.3.0-hd4cf53a_17
ncurses pkgs/main/linux-64::ncurses-6.2-he6710b0_1
openssl pkgs/main/linux-64::openssl-1.1.1k-h27cfd23_0
pip pkgs/main/linux-64::pip-21.1.3-py37h06a4308_0
pycosat pkgs/main/linux-64::pycosat-0.6.3-py37h27cfd23_0
pycparser pkgs/main/noarch::pycparser-2.20-py_2
pyopenssl pkgs/main/noarch::pyopenssl-20.0.1-pyhd3eb1b0_1
pysocks pkgs/main/linux-64::pysocks-1.7.1-py37_1
python pkgs/main/linux-64::python-3.7.10-h12debd9_4
readline pkgs/main/linux-64::readline-8.1-h27cfd23_0
requests pkgs/main/noarch::requests-2.25.1-pyhd3eb1b0_0
ruamel_yaml pkgs/main/linux-64::ruamel_yaml-0.15.100-py37h27cfd23_0
setuptools pkgs/main/linux-64::setuptools-52.0.0-py37h06a4308_0
six pkgs/main/noarch::six-1.16.0-pyhd3eb1b0_0
sqlite pkgs/main/linux-64::sqlite-3.36.0-hc218d9a_0
tk pkgs/main/linux-64::tk-8.6.10-hbc83047_0
tqdm pkgs/main/noarch::tqdm-4.61.2-pyhd3eb1b0_1
urllib3 pkgs/main/noarch::urllib3-1.26.6-pyhd3eb1b0_1
wheel pkgs/main/noarch::wheel-0.36.2-pyhd3eb1b0_0
xz pkgs/main/linux-64::xz-5.2.5-h7b6447c_0
yaml pkgs/main/linux-64::yaml-0.2.5-h7b6447c_0
zlib pkgs/main/linux-64::zlib-1.2.11-h7b6447c_3Preparing transaction: done
Executing transaction: done
installation finished.Iniciar conda
uid165116@od-12345:~$ source <(~/miniconda3/bin/conda shell.bash hook)Instalar pymysql (por ejemplo)
(base) uid165116@od-12345:~$ python3 -V
Python 3.7.10(base) uid165116@od-12345:~$ pip3 install pymysql --user
Collecting pymysql
Downloading PyMySQL-1.0.2-py3-none-any.whl (43 kB)
|████████████████████████████████| 43 kB 892 kB/s
Installing collected packages: pymysql
Successfully installed pymysql-1.0.2
Esta guía explica cómo ajustar la configuración de un sitio Node.js alojado en la infraestructura de Infomaniak para adaptar el comportamiento de su aplicación según su evolución, sus dependencias o sus preferencias técnicas.
Requisitos previos
- Instalar un sitio Node.js en tu alojamiento.
- Probar sus modificaciones en local antes de aplicarlas en producción.
- Verificar que sus scripts (
start,build) estén bien definidos en su archivopackage.json. - Si modificas la estructura de tu proyecto, recuerda ajustar la carpeta de ejecución y los comandos asociados.
- El puerto de escucha definido en el Manager debe coincidir exactamente con el utilizado en el código de la aplicación.
Acceder a la configuración
Cada sitio tiene un panel de control dedicado para gestionar la aplicación (iniciar, detener, reiniciar), consultar la consola de ejecución, gestionar las versiones de Node.js, configurar los dominios y activar los certificados SSL:
- Haga clic aquí para acceder a la gestión de su producto en el Manager Infomaniak (¿Necesita ayuda?).
- Haga clic directamente en el nombre asignado al producto correspondiente.
- Puede abrir la consola, detener el proyecto (se aplicará una página de mantenimiento) o reiniciarlo.
- Para acceder a los parámetros avanzados, haga clic en Gestionar bajo Configuración avanzada:

- Haga clic en la pestaña Node.js para acceder a los ajustes:

Aplicar los cambios
Para ello:
- Guarde los cambios desde la interfaz del Manager.
- Reinicia tu aplicación para que los cambios surtan efecto.
Consulte este otro guía en caso de problema.
Comandos principales
Carpeta de ejecución
La carpeta de ejecución indica la ubicación en el servidor donde se ejecutarán los comandos de construcción y lanzamiento. Debe apuntar al directorio raíz de su aplicación, es decir, donde se encuentra su archivo package.json.
Por ejemplo, puede especificar para la raíz del proyecto:
./o si su aplicación está en un subdirectorio llamado app:
./appo si se encuentra en una carpeta backend:
./backendComando de construcción (opcional)
Si su aplicación Node.js requiere un paso de compilación antes de ser ejecutada, ingrese un comando de construcción en el campo correspondiente. Este comando se ejecutará automáticamente antes de iniciar la aplicación.
Por ejemplo, puede indicar:
npm install && npm run buildo, si usas yarn :
yarn install && yarn buildSi su proyecto no requiere ninguna compilación, este campo puede dejarse vacío.
Comando de inicio
El comando de lanzamiento corresponde a la instrucción utilizada para iniciar tu aplicación. Debe ser idéntico a la que usas localmente para ejecutar el proyecto.
Por ejemplo, puede indicar:
node index.jsnpm starto
yarn startEste comando debe permitir iniciar directamente el servidor o el punto de entrada de su aplicación tal como está definido en su entorno de desarrollo.
Puerto de escucha
Su aplicación debe escuchar en un puerto específico que se define en el Manager. Este puerto se transmite a su aplicación a través de una variable de entorno PORT.
Ejemplo en su código Node.js:
const port = process.env.PORT || 8080;
app.listen(port, () => {
console.log(`Application lancée sur le port ${port}`);
});Asegúrate de que este puerto se tenga en cuenta en tu código.
Versión de Node.js
Puede seleccionar la versión de Node.js que su sitio debe utilizar. Se recomienda usar una versión estable y siempre soportada para garantizar la seguridad y la compatibilidad de su aplicación.
Esta guía presenta sugerencias para mejorar y reducir el tiempo de respuesta de su Hospedaje Web Infomaniak.
Prólogo
- TTFB, o *Time To First Byte*, es una unidad de medida utilizada para evaluar la velocidad de respuesta de un servidor web.
- El TTFB mide el tiempo entre una solicitud HTTP proveniente de un usuario o navegador y la recepción del primer byte de la página del sitio a consultar.
- Este retraso es particularmente importante. Puede formar parte de los criterios SEO considerados por los motores de búsqueda como Google.
- ¡Simplifíquese la vida! En caso de necesidad, socios locales y recomendados por Infomaniak pueden encargarse de estos trámites. Lance una solicitud de oferta gratuita. Ellos se encargan de todo, liberándolo de los detalles técnicos.
Sugerencias para mejorar el TTFB
Para acelerar el sitio y obtener un mejor valor TTFB:
- Utilice una red de distribución de contenido (CDN).
- Optimice el código del sitio.
- Optimice las consultas de la base de datos.
- Limite las solicitudes HTTP.
- Incorpore CSS y JavaScript en sus páginas HTML para no recurrir a recursos externos.
- Utilice un sistema de caché RFPL (*Response First, Process Later*).
Consulte el artículo de Criticalcase (en inglés) para obtener más información.
Probar la velocidad de respuesta del servidor
En caso de duda sobre la velocidad de respuesta del servidor, es posible crear un archivo index2.html que se guardará en el mismo nivel que el archivo index.html (o .php), y así realizar una prueba de optimización (por ejemplo domain.xyz/index2.html) sin que el sitio/CMS principal se vea afectado.
Si el tiempo de respuesta es normal, esto significa que las lentitudes provienen del sitio y no del servidor.
Para profundizar
Tome conocimiento de los siguientes recursos:
- Recomendaciones de Google
- Recomendaciones de GTmetrix
- Probar la velocidad de respuesta de su sitio desde varios países
- Probar la velocidad de respuesta de su sitio
- Optimizar un sitio
ATENCIÓN: Este método modifica los archivos del núcleo de Magento para desactivar la verificación de privilegios avanzados (triggers, routines), lo cual es una práctica arriesgada en términos de seguridad, estabilidad y complica las futuras actualizaciones.
Hoy en día, Magento (ahora Adobe Commerce o Magento Open Source) es una plataforma moderna que exige un entorno de servidor que cumpla con sus estrictos requisitos previos. La versión estable actual suele ser la 2.4.8 o una versión de parche más reciente. Estas versiones requieren tecnologías actualizadas como PHP 8.2/8.3, MySQL 8.0/MariaDB 10.6 y un motor de búsqueda dedicado como Elasticsearch o OpenSearch.
Para cualquier nueva instalación o migración, se recomienda encarecidamente utilizar la última versión estable sin ninguna modificación manual del código fuente. Debe elegir un tipo de alojamiento de alto rendimiento (Servidor en la Nube o VPS/Dedicado) que garantice el acceso a todos los privilegios del sistema necesarios para un funcionamiento seguro y estable.
Evite absolutamente utilizar este antiguo parche a continuación. Tenga en cuenta que este parche es innecesario en caso de instalación en un Servidor en la Nube.
Esta guía explica cómo parchear la instalación de Magento para que pueda realizarse en un alojamiento compartido de Infomaniak, incluso sin los privilegios de tipo triggers & routines.
Resolver los problemas de instalación de Magento 2
Edite el archivo DbValidator.php:
--- setup/src/Magento/Setup/Validator/DbValidator.php.orig 2019-04-11 17:01:45.154767893 +0200
+++ setup/src/Magento/Setup/Validator/DbValidator.php 2019-04-13 21:37:02.560386985 +0200
@@ -150,12 +150,8 @@
'ALTER',
'CREATE TEMPORARY TABLES',
'LOCK TABLES',
- 'EXECUTE',
'CREATE VIEW',
- 'SHOW VIEW',
- 'CREATE ROUTINE',
- 'ALTER ROUTINE',
- 'TRIGGER'
+ 'SHOW VIEW'
];
// check global privilegesEn caso de error SOAP/PHPfpm
Según la versión de Magento utilizada, la función soap no funciona correctamente y puede devolver el siguiente mensaje de error: «Uncaught SoapFault exception: [Client] looks like we got no XML document».
El problema no proviene de una mala configuración del servidor, sino más bien de un mal diseño de Magento que no tiene en cuenta el caso de ejecución de PHP en un entorno FPM. Así, las solicitudes SOAP generadas por Magento contienen encabezados duplicados (no conformes con la especificación SOAP) y generan un error.
Tome nota de esta solución (no desarrollada por Infomaniak).
Esta guía explica cómo aumentar el valor max_children en Servidor Cloud para aumentar el número de procesos PHP simultáneos que pueden ser utilizados por su sitio. Esto será muy útil para resolver problemas de carga infinita de las páginas de su sitio.
Prólogo
- Por defecto en cualquier alojamiento, el límite de
max_childrenestá fijado a 20.- Aunque es posible aumentar este valor desde el Manager Infomaniak, el límite de
max_childrense ajusta automáticamente según la configuración de su Servidor Cloud. - Para aumentar este límite en alojamiento compartido, migre a Servidor Cloud.
- Aunque es posible aumentar este valor desde el Manager Infomaniak, el límite de
- Para comprender cómo calcular con precisión los
max_childrennecesarios, consulte este artículo sobre el tema.
Aumentar el valor max_children
Requisitos previos
- Asegúrese de disponer de los recursos necesarios en el servidor Cloud.
- Asegúrese de que todos los recursos del servidor Cloud no estén siendo utilizados; si resulta que estos están totalmente utilizados, el aumento del valor
max_childrenno tendrá ningún efecto (Modificar los recursos del Servidor Cloud). - Controlar el monitoreo de los recursos de su servidor, en el caso de que los recursos de su servidor estén alcanzados, será necesario verificar la optimización de los procesos y de su sitio antes de considerar aumentar el valor
max_children. - Consulte los informes de error PHP desde la carpeta
/ik-logs(master process php logs - nombre del archivo: php-fpm.log) para verificar si se ha excedido el límite "max_children". Ejemplo de error:[05-Jul-2024 09:08:58] WARNING: [pool www.infomaniak.ch] server reached max_children setting (20), consider raising it
Para acceder a la gestión de los parámetros PHP / Apache del sitio cuyo valor max_children debe aumentarse en Servidor Cloud, consulte esta otra guía.
Podrá, en particular…
- … elegir un nuevo valor de
max_children:
No olvide guardar los cambios al final de la página.
Límites según el servidor
Límite de max_children según los recursos del Servidor Cloud:
| Configuración Servidor Cloud | max_children |
|---|---|
| 2 CPU / 6 Go RAM | 20 |
| 4 CPU / 12 Go RAM | 40 |
| 6 CPU / 18 Go RAM | 60 |
| 8 CPU / 24 Go RAM | 80 |
| 12 CPU / 36 Go RAM | 120 |
| 16 CPU / 48 Go RAM | 160 |
| 24 CPU / 72 Go RAM | 240 |
| 32 CPU / 96 o 128 Go RAM | 320 |
Esta guía explica cómo modificar el valor de la directiva php_value include_path.
Modificar el include_path
Al igual que cualquier otro parámetro de PHP, include_path se define en el archivo .user.ini.
Aquí tienes un ejemplo de ruta para usar en el archivo .user.ini:
include_path = .:/home/clients/123456789a12345b12fc345d/web/www.domainetest.abc/public/abc/includeConsulta esta otra guía sobre phpinfo para verificar la aplicación de tu nueva directiva.
El módulo Apache mod_userdir no está disponible.
La escritura en los directorios /etc y /lib está desactivada por razones de seguridad.