Solución de problemas
Extensiones PHP y Configuración
Which PHP versions and extensions KapsuleHost web hosting provides, which settings you can change yourself, and why a change can take up to five minutes to appear.
Qué versiones PHP y extensiones proporciona KapsuleHost, qué configuraciones puede cambiar usted mismo, y por qué un cambio puede tardar hasta cinco minutos en aparecer.
Todo lo relacionado con PHP para un sitio se encuentra en un solo lugar: Sitios web, haga clic en el sitio, Avanzado, luego PHP. Esa página contiene el selector de versión, la configuración que puede cambiar, un ejecutor de Composer y el registro de errores de PHP.

Seleccionar una versión PHP
Cuatro versiones son seleccionables: 8.4, 8.3, 8.2 y 8.1. Los sitios nuevos tienen 8.3 de forma predeterminada.
Elija la versión más reciente que su software realmente admita. PHP más nuevo es significativamente más rápido y recibe correcciones de seguridad durante más tiempo. La razón para no saltar directamente a la versión más nueva es la compatibilidad: un complemento antiguo o código personalizado escrito hace años puede fallar completamente en una versión contra la cual nunca ha sido probado.
Para cambiarla, seleccione la versión y haga clic en Aplicar versión. El cambio entra en vigor inmediatamente, sin necesidad de reinicio por su parte y sin tiempo de inactividad.
Cambie la versión PHP en el área de pruebas primero, haga clic en el sitio, y solo entonces cámbiela en producción. Si debe hacerlo en vivo, hágalo cuando pueda vigilar, y sepa que cambiar hacia atrás es un clic. Consulte Entornos de pruebas.
Si un cambio de versión rompe el sitio, vuelva a cambiar a la versión anterior y lea el registro. El error nombrará el archivo que no pudo ejecutarse. Consulte Cambiar versión PHP y Registros de errores.
Configuración que puede cambiar
La página PHP expone cinco configuraciones como menús desplegables. Estas son las que realmente causan problemas en la práctica, por eso son las que se presentan.
| Configuración | Predeterminado | Valores disponibles | Lo que controla |
|---|---|---|---|
memory_limit | 256M | 128M, 256M, 512M, 1024M, 2048M | Cuánta memoria puede usar una solicitud |
max_execution_time | 30 | 30, 60, 120, 300, 600 | Cuántos segundos puede ejecutarse una solicitud |
upload_max_filesize | 64M | 16M, 32M, 64M, 128M, 256M | El archivo único más grande que se puede cargar |
post_max_size | 65M | 17M, 33M, 65M, 129M, 257M | El envío de formulario total más grande |
max_input_vars | 3000 | 1000, 3000, 5000, 10000 | Cuántos campos puede contener un envío |
Cuál es el que necesita:
- Las cargas fallan por encima de un cierto tamaño: aumente
upload_max_filesize, ypost_max_sizetambién. - Un formulario grande o un constructor de páginas pierde campos al guardar: aumente
max_input_vars. Este es invisible e infuriante, porque nada genera error. Los campos adicionales se descartan silenciosamente. - Una página se detiene a mitad de camino sin error: aumente
memory_limit. Consulte Límite de memoria de WordPress. - Una importación o exportación larga se agota el tiempo: aumente
max_execution_time, y considere ejecutar el trabajo desde la línea de comando. Consulte WP-CLI.
post_max_size debe ser mayor que upload_max_filesize, porque la carga viaja dentro del envío. Si elige una combinación donde no es así, la plataforma corrige post_max_size hacia arriba por usted. Por eso puede ver un valor que no eligió.
Por qué un cambio tarda hasta cinco minutos
Esta es la confusión más común en esta página, por lo que vale la pena ser preciso.
Su configuración se escribe en un archivo .user.ini en la raíz de documentos de su sitio. PHP lee ese archivo y luego lo almacena en caché durante 300 segundos, que son cinco minutos. Hasta que expire ese caché, PHP sigue usando los valores anteriores.
Entonces, después de guardar un cambio:
- La página aún reportará el límite antiguo hasta cinco minutos.
phpinfo()aún reportará el límite antiguo hasta cinco minutos.- Una actualización forzada no ayuda. Tampoco borrar el caché del navegador.
- No necesita reiniciar nada, y no puede. Solo espere.
Si han pasado más de cinco minutos y el valor no ha cambiado, entonces algo está genuinamente mal y vale la pena enviar un ticket.
Editar .user.ini usted mismo
Puede editar .user.ini directamente a través de SFTP o SSH si lo prefiere, o si necesita una directiva que el panel no exponga. Se encuentra en la raíz de documentos de su sitio. Consulte Acceso SFTP.
El formato es una directiva por línea:
memory_limit = 512M
max_execution_time = 120
Dos límites importantes sobre lo que .user.ini puede hacer:
Solo funciona para directivas que PHP permite establecer por directorio o por usuario. Las cinco anteriores califican. Las directivas que solo se pueden establecer a nivel del sistema, como disable_functions o cargar una extensión con extension=, se ignoran en un archivo .user.ini. No generarán error, simplemente no harán nada, por eso la gente pasa una tarde en ellas.
El panel solo lee las claves simples. Las directivas que contienen un punto, como opcache.enable o date.timezone, son respetadas por PHP pero no aparecerán en el formulario del panel. Si establece una manualmente y luego cambia algo a través del panel, revise el archivo después.
KapsuleHost ejecuta nginx, no Apache. Los archivos .htaccess no son leídos por nadie. Las directivas PHP colocadas en un archivo .htaccess, como php_value memory_limit, no hacen absolutamente nada aquí. Use .user.ini o el panel en su lugar. Consulte WordPress y .htaccess.
Qué extensiones están disponibles
La compilación estándar es amplia e incluye todo lo que WordPress, WooCommerce y la mayoría de aplicaciones PHP solicitan.
Bases de datos: mysqli, pdo_mysql, sqlite3, pdo_sqlite
Imágenes: gd, imagick, exif
Almacenamiento en caché: Zend OPcache, redis, memcached
Texto y configuración regional: mbstring, iconv, intl, gettext, ctype
XML y datos: dom, simplexml, xml, xmlreader, xmlwriter, xsl, json
Red: curl, soap, sockets, ftp, openssl
Matemáticas y criptografía: bcmath, sodium, hash, random
Archivos y sistema: fileinfo, zip, zlib, phar, posix, pcntl, shmop, calendar, tokenizer
Una diferencia de versión que vale la pena conocer: la extensión imap está presente en 8.3 y anteriores pero no en 8.4, porque fue eliminada de PHP en esa versión. Si tiene una aplicación que aún la necesita, manténgase en 8.3 o traslade esa aplicación a una biblioteca de correo moderna.
No instaladas: Controladores de PostgreSQL, MongoDB, Xdebug, mcrypt, y cargadores de código comercial como ionCube y SourceGuardian.
No puede habilitar ni deshabilitar extensiones usted mismo desde el panel. Si su aplicación necesita algo que no está en la lista, abra un ticket y describa qué está ejecutando. Si se puede agregar depende de la extensión. Consulte Abrir un ticket de soporte.
Verificar lo que realmente está cargado
En lugar de adivinar:
- En WordPress: Herramientas, luego Estado del sitio, luego Información, luego Servidor. Enumera la versión de PHP y los límites relevantes.
- Por SSH:
php -vpara la versión yphp -mpara las extensiones cargadas. Consulte Agregar claves SSH.
No deje un archivo phpinfo() en su raíz web. Publica sus rutas, sus extensiones y su configuración a cualquiera que lo encuentre, y los escáneres automatizados buscan exactamente ese nombre de archivo. Si crea uno para verificar algo, elimínelo inmediatamente después.