Qué versiones y extensiones de PHP ofrece el alojamiento web de KapsuleHost para sitios WordPress, WooCommerce y PHP, qué ajustes puede cambiar usted mismo y por qué un cambio puede tardar hasta cinco minutos en aparecer.
Los sitios estáticos, de Node.js y de Python no ejecutan PHP. Todo lo relacionado con PHP para un sitio se encuentra en un solo lugar: Sitios web, haga clic en el sitio, Configuración y luego PHP. Esa página contiene el selector de versión, los ajustes que puede cambiar, un ejecutor de Composer y el registro de errores de PHP.

Elegir una versión de PHP
Hay cuatro versiones seleccionables: 8.4, 8.3, 8.2 y 8.1. Los sitios nuevos usan la 8.3 de forma predeterminada.
Elija la versión más reciente que su software realmente admita. Las versiones más nuevas de PHP son notablemente más rápidas y reciben correcciones de seguridad durante más tiempo. La razón para no pasar directamente a la más reciente es la compatibilidad: un plugin antiguo o un fragmento de código personalizado escrito hace años puede fallar por completo en una versión con la que nunca se ha probado.
Para cambiarla, seleccione la versión y haga clic en Aplicar versión. El cambio surte efecto de inmediato, sin necesidad de reiniciar nada por su parte y sin tiempo de inactividad.
Cambie la versión de PHP primero en el entorno de pruebas (staging), navegue por el sitio y solo después cámbiela en producción. Si debe hacerlo en producción, hágalo cuando pueda estar atento, y tenga en cuenta que volver a la versión anterior es cuestión de un clic. Consulte Entornos de prueba (Staging).
Si un cambio de versión rompe el sitio, vuelva a la versión anterior y revise el registro. El error indicará el nombre del archivo que no pudo ejecutarse. Consulte Cambiar la versión de PHP y Registros de errores.
Ajustes que puede cambiar
La página de PHP expone cinco ajustes como menús desplegables. Son los que, en la práctica, realmente causan problemas, por eso son los que se muestran.
| Ajuste | Valor predeterminado | Valores disponibles | Qué 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 individual más grande que se puede subir |
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 necesita según el caso:
- Las subidas fallan por encima de cierto tamaño: aumente
upload_max_filesize, ypost_max_sizejunto con él. - Un formulario grande o un creador de páginas pierde campos al guardar: aumente
max_input_vars. Este caso es invisible y exasperante, porque no se produce ningún error. Los campos adicionales simplemente se descartan en silencio. - Una página se interrumpe a mitad de camino sin ningún error: aumente
memory_limit. Consulte Límite de memoria de WordPress. - Una importación o exportación larga agota el tiempo de espera: aumente
max_execution_time, y considere ejecutar el proceso desde la línea de comandos. Consulte WP-CLI.
post_max_size debe ser mayor que upload_max_filesize, porque la subida viaja dentro de la publicación. Si elige una combinación en la que no lo es, la plataforma corrige post_max_size automáticamente al alza. Por eso puede ver un valor que usted no eligió.
Por qué un cambio puede tardar hasta cinco minutos
Esta es la fuente de confusión más común en esta página, así que vale la pena ser precisos.
Sus ajustes se escriben en un archivo .user.ini en el directorio raíz de documentos de su sitio. PHP lee ese archivo y luego lo almacena en caché durante 300 segundos, es decir, cinco minutos. Hasta que esa caché caduca, PHP sigue usando los valores anteriores.
Por eso, después de guardar un cambio:
- La página seguirá mostrando el límite anterior durante un máximo de cinco minutos.
phpinfo()seguirá mostrando el límite anterior durante un máximo de cinco minutos.- Una actualización forzada no ayuda. Tampoco ayuda borrar la caché del navegador.
- No necesita reiniciar nada, y no puede hacerlo. Simplemente espere.
Si han pasado más de cinco minutos y el valor no ha cambiado, entonces hay un problema real y vale la pena abrir un ticket.
Editar .user.ini usted mismo
Puede editar .user.ini directamente por SFTP o SSH si lo prefiere, o si necesita una directiva que el panel no expone. Se encuentra en el directorio raíz de documentos de su sitio. Consulte Acceso por SFTP.
El formato es una directiva por línea:
memory_limit = 512M
max_execution_time = 120
Hay dos limitaciones importantes sobre lo que .user.ini puede hacer:
Solo funciona con directivas que PHP permite establecer por directorio o por usuario. Las cinco anteriores cumplen esa condición. Las directivas que solo pueden establecerse a nivel del sistema, como disable_functions o cargar una extensión con extension=, se ignoran en un archivo .user.ini. No darán ningún error, simplemente no harán nada, por eso la gente pasa toda una tarde intentando resolverlo.
El panel solo lee de vuelta 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 después cambia algo a través del panel, revise el archivo después.
El alojamiento web de KapsuleHost usa nginx, no Apache. Los archivos .htaccess no son leídos por nadie. Las directivas de 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 versión estándar es amplia e incluye todo lo que WordPress, WooCommerce y la mayoría de las aplicaciones PHP requieren.
Bases de datos: mysqli, pdo_mysql, sqlite3, pdo_sqlite
Imágenes: gd, imagick, exif
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 entre versiones que vale la pena conocer: la extensión imap está presente en la 8.3 y versiones anteriores, pero no en la 8.4, porque se eliminó del propio PHP en esa versión. Si tiene una aplicación que todavía la necesita, manténgase en la 8.3 o migre esa aplicación a una biblioteca de correo moderna.
No instalados: controladores de PostgreSQL, MongoDB, Xdebug, mcrypt, y cargadores de código comerciales como ionCube y SourceGuardian.
No puede activar ni desactivar extensiones usted mismo desde el panel. Si su aplicación necesita algo que no está en la lista, abra un ticket y describa lo que está ejecutando. Que se pueda añadir o no depende de la extensión. Consulte Abrir un ticket de soporte.
Comprobar qué está realmente cargado
En lugar de suponer:
- En WordPress: Tools, luego Site Health, luego Info, luego Server. Allí se indica la versión de PHP y los límites correspondientes.
- Por SSH:
php -vpara la versión yphp -mpara las extensiones cargadas. Consulte Añadir claves SSH.
No deje un archivo phpinfo() en la raíz web de su sitio. 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 comprobar algo, elimínelo inmediatamente después.