Conocimiento de PHP: el lenguaje de programación explicado
Qué es PHP, cómo genera una página web y por qué el modo de ejecución, la configuración y la versión deciden la seguridad. Comprensible para quienes toman decisiones, con profundidad para administradores y desarrolladores.
¿Qué es PHP? El lenguaje de programación explicado
PHP es un lenguaje de scripts que se ejecuta en el servidor y genera HTML. Muchos CMS y tiendas se basan en él, por lo que una vulnerabilidad en PHP afecta a muchísimos sitios web.
Seguir leyendo →02La historia de PHP: de 1994 a hoy
De una herramienta privada para una página de currículum a la base de muchos CMS y tiendas: los hitos principales de la historia de PHP con años comprobados.
Seguir leyendo →03Cómo genera PHP una página web: el recorrido de una petición
Qué ocurre entre el clic y la página terminada: servidor web, SAPI, compilador, OPcache y Zend VM en siete pasos, y por qué PHP2Shell actúa justo en este proceso.
Seguir leyendo →04La Zend Engine: el corazón de PHP
La Zend Engine traduce el código PHP a opcodes y lo ejecuta. Conocer sus componentes ayuda a entender por qué fallos del núcleo como PHP2Shell solo los corrige una actualización de PHP.
Seguir leyendo →05OPcache explicado: la caché de bytecode de PHP
OPcache mantiene el código PHP ya traducido en memoria compartida. Ahorra tiempo de cálculo, pero exige cuidado en los despliegues, los reinicios y en servidores con varios clientes.
Seguir leyendo →06SAPI explicada: cómo habla PHP con el servidor web
La SAPI es la interfaz entre PHP y el servidor web. Determina cómo llegan las peticiones, qué php.ini se aplica y qué hay que reiniciar tras una actualización.
Seguir leyendo →07PHP-FPM explicado: gestor de procesos, pools y workers
PHP-FPM ejecuta PHP como servicio propio con pools y workers. Así funciona el modelo de procesos, qué directivas importan y por qué los workers deben reiniciarse tras las actualizaciones.
Seguir leyendo →08mod_php explicado: PHP dentro del proceso de Apache
En mod_php, PHP está dentro de cada proceso de Apache. Es sencillo pero poco flexible y, tras PHP2Shell, el modo de ejecución más arriesgado. Así funciona y así se reconoce.
Seguir leyendo →09CGI y FastCGI: los fundamentos
CGI inicia un proceso por cada petición; FastCGI mantiene los procesos vivos. Qué significa para PHP, php-cgi y PHP-FPM y qué ajustes afectan a la seguridad.
Seguir leyendo →10PHP en la línea de comandos (CLI)
La CLI de PHP ejecuta scripts sin servidor web, por ejemplo para tareas cron y mantenimiento. Se comporta de forma distinta a la versión web y a menudo no muestra el estado que usa su sitio web.
Seguir leyendo →11El php.ini explicado: estructura, niveles y prioridad
Dónde encuentra PHP sus ajustes, en qué orden se aplican y quién puede sobrescribirlos. Base de cualquier refuerzo y de las medidas provisionales frente a PHP2Shell.
Seguir leyendo →12Versiones de PHP y ciclo de versiones
Cada noviembre aparece una versión nueva de PHP que se mantiene cuatro años. Qué ramas terminan y cuándo, y qué significa para su planificación tras PHP2Shell.
Seguir leyendo →13PHP 8.0 a 8.5: las novedades más importantes
De match y JIT en PHP 8.0 al operador pipe y la extensión URI en PHP 8.5: las novedades de cada versión, los obstáculos al actualizar y lo que aportan a la seguridad.
Seguir leyendo →14Entender las extensiones de PHP (Extensions)
Las extensiones aportan a PHP controladores de bases de datos, cifrado o cachés. Cómo se distinguen los tipos, cómo cargarlas y revisarlas, y qué significan para las actualizaciones y el refuerzo.
Seguir leyendo →15Composer: el gestor de paquetes de PHP
Composer descarga y gestiona las bibliotecas en las que se basan los proyectos PHP modernos. Quien entiende composer.json, composer.lock y el autoloader despliega de forma reproducible y más segura.
Seguir leyendo →16Los frameworks de PHP de un vistazo
Los frameworks dan a las aplicaciones PHP estructura, enrutamiento y componentes de seguridad. Este resumen muestra los frameworks conocidos, criterios de elección y los límites de su protección.
Seguir leyendo →17Qué CMS y sistemas de tienda funcionan con PHP
Muchos CMS, tiendas y aplicaciones empresariales conocidos funcionan con PHP. Así valora cuáles de sus sitios web pueden verse afectados por vulnerabilidades de PHP como PHP2Shell.
Seguir leyendo →18PHP y bases de datos: PDO y mysqli
PHP accede a las bases de datos mediante PDO o mysqli. Aquí ve las diferencias, las consultas seguras con sentencias preparadas y qué hacer con los accesos a la base de datos tras un incidente en el servidor.
Seguir leyendo →19Sesiones y cookies en PHP
Las sesiones convierten el HTTP sin estado en un inicio de sesión que se mantiene entre varias páginas. Cómo lo resuelve PHP por dentro, qué valores por defecto rigen y qué tiene que ver session.upload_progress con PHP2Shell.
Seguir leyendo →20Superglobales: $_GET, $_POST, $_FILES y otros
Los superglobales son los arrays mediante los cuales el código PHP accede a los datos de la petición. Quien sabe cómo los rellena PHP y qué límites rigen escribe código más seguro y entiende mejor PHP2Shell.
Seguir leyendo →21Cómo procesa PHP las subidas de archivos
Entre el clic en «Subir» y su código hay en PHP toda una cadena de procesamiento. Esta página explica multipart/form-data, los archivos temporales, $_FILES, los límites y la relación con PHP2Shell.
Seguir leyendo →22El sistema de tipos de PHP
PHP es de tipado dinámico, pero desde PHP 7 su sistema de tipos es cada vez más estricto. Aquí verá los tipos, las versiones clave y por qué las comparaciones estrictas evitan fallos de seguridad.
Seguir leyendo →23Errores y excepciones en PHP
PHP conoce los mensajes de error clásicos y las excepciones. Esta página explica la jerarquía Throwable, el tratamiento limpio de errores, los ajustes seguros en producción y la medida de PHP2Shell sobre fatal_error_backtraces.
Seguir leyendo →24Programación orientada a objetos en PHP
Las aplicaciones PHP modernas son casi siempre orientadas a objetos. Esta página explica sus componentes, las novedades de PHP 8.0 a 8.4 y por qué los métodos mágicos importan para la seguridad.
Seguir leyendo →25Namespaces y autoloading (PSR-4)
Los namespaces ordenan el código PHP y el autoloading carga las clases justo cuando se necesitan. Aquí verá cómo PSR-4 asocia nombres de clase con archivos y por qué hay que revisar el autoloader tras un incidente.
Seguir leyendo →26Estándares PSR de PHP-FIG
Los PSR son estándares comunes acordados por muchos proyectos PHP. Esta página enumera todos los PSR con su estado y muestra cuáles cuentan en el día a día y dónde afectan a la seguridad.
Seguir leyendo →27Gestión de memoria en PHP: conteo de referencias y recolección de basura
PHP gestiona la memoria con conteo de referencias y un recolector de basura para los ciclos. Esta página explica la mecánica, las funciones de medición clave y por qué ambas vulnerabilidades de PHP2Shell tienen que ver con estados de memoria.
Seguir leyendo →28memory_limit y Out-of-Memory: lo que ocurre por dentro
¿Qué pasa cuando un script PHP llega a memory_limit? Mecánica, el nuevo límite de memoria estricto desde los parches de octubre y la relación con CVE-2026-109618.
Seguir leyendo →29El ciclo de vida de la petición: inicio, ejecución, apagado
Cómo inicia PHP los procesos, atiende las peticiones y limpia entre ellas. Con las fases de MINIT a MSHUTDOWN y la relación con CVE-2026-109619.
Seguir leyendo →30JIT y rendimiento en PHP 8
El compilador JIT traduce PHP a código máquina desde la versión 8.0. En los sitios web típicos aporta poco; OPcache, las versiones actuales y una configuración limpia aportan más.
Seguir leyendo →31Probar el código PHP: PHPUnit y Pest
PHPUnit es la herramienta de pruebas estándar para PHP; Pest se construye sobre ella. Quien tiene pruebas puede aplicar actualizaciones de seguridad y cambios de versión con más rapidez y menos riesgo.
Seguir leyendo →32Análisis estático: PHPStan y Psalm
PHPStan y Psalm encuentran errores en el código PHP sin ejecutarlo. Psalm sigue además los flujos de datos inseguros. Ninguno de los dos halla vulnerabilidades del propio intérprete de PHP.
Seguir leyendo →33Funciones de seguridad integradas en PHP
PHP incluye componentes seguros para contraseñas, valores aleatorios, escapado, criptografía y sesiones. Quien los usa de forma sistemática evita los fallos de aplicación más habituales.
Seguir leyendo →34Desarrollar PHP en local: Docker, DDEV y otras opciones
Para el desarrollo local en PHP existen el servidor web integrado, las imágenes oficiales de Docker y herramientas como DDEV. Lo importante es que en local se ejecute la misma versión de PHP que en producción.
Seguir leyendo →35PHP comparado con Node.js, Python y Java
PHP, Node.js, Python y Java se diferencian sobre todo en el modelo de ejecución y en la operación. Ningún lenguaje es seguro por sí mismo; lo decisivo son el mantenimiento y el proceso de parches.
Seguir leyendo →36Cómo trata el proyecto PHP las vulnerabilidades de seguridad
Las vulnerabilidades de PHP se notifican de forma confidencial, se clasifican, se corrigen en una versión y se publican como GitHub Security Advisory. PHP2Shell muestra el proceso en un caso grave.
Seguir leyendo →37Compilar PHP desde el código fuente
PHP se puede construir uno mismo con configure y make. Da control sobre extensiones y opciones, pero también toda la responsabilidad de cada actualización de seguridad.
Seguir leyendo →38Operar PHP en contenedores
PHP en un contenedor necesita la variante de imagen adecuada, una configuración de producción, límites de memoria razonables y un proceso que reconstruya las imágenes con cada versión de seguridad.
Seguir leyendo →39El futuro de PHP
PHP evoluciona con reglas fijas: cuatro años de soporte por versión, PHP 8.6 previsto para el 19/11/2026 y, para PHP 9.0, RFC aprobados pero sin fecha.
Seguir leyendo →40Fundamentos de PHP para administradores
Lo que los administradores deben saber de PHP: qué binarios se ejecutan, cómo actúa la configuración, cómo trabajan los pools de FPM y qué comandos ayudan en actualizaciones como la de PHP2Shell.
Seguir leyendo →Cada hora cuenta. Escríbanos ahora.
Describa brevemente el sistema, la versión de PHP y lo que ha observado. Nos pondremos en contacto, aclararemos la situación y trabajaremos en remoto hasta que el incidente quede cerrado y documentado.