Hotfix PHP 8.3: buscador avanzado K2 Filter devuelve 500 en filter.html #64

Closed
opened 2026-06-28 19:13:58 +00:00 by rafa · 0 comments
Owner

Contexto

Tras el upgrade de producción a PHP 8.3.31 documentado en #46, Rafa detecta que la búsqueda avanzada parece rota.

Síntoma reproducido

La página base carga, pero la ruta de filtrado devuelve 500:

https://www.feadulta.com/es/buscadoravanzado.html                              HTTP 200
https://www.feadulta.com/es/buscadoravanzado/itemlist/                         HTTP 200
https://www.feadulta.com/es/buscadoravanzado/itemlist/filter.html?moduleId=179&Itemid=138  HTTP 500
https://www.feadulta.com/es/buscadoravanzado/itemlist/filter.raw?moduleId=179&Itemid=138   HTTP 500

La respuesta HTML de error de Joomla muestra:

count(): Argument #1 ($value) must be of type Countable|array, string given

Logs revisados

  • /php_errors.log: 0 bytes, no recoge este error porque Joomla lo transforma en página de error.
  • /errors.log: solo errores proxy_fcgi del momento del cambio de runtime; no contiene stack PHP útil para este fallo concreto.

Hipótesis técnica

K2 Filter tiene más llamadas legacy count($var) donde $var puede ser string. En PHP 7.4 era warning/no fatal; en PHP 8 es TypeError y Joomla lo presenta como 500.

Trabajo en curso

  • Reproducido también en la réplica local PHP 8.3 bajo /joomla/es/buscadoravanzado/itemlist/filter.html?moduleId=179&Itemid=138.
  • Se está buscando la línea exacta antes de aplicar parche en producción.

Relacionado

  • Continúa el upgrade #46. Este issue separa el hotfix específico de búsqueda para no mezclarlo con el cierre general del upgrade.
## Contexto Tras el upgrade de producción a PHP 8.3.31 documentado en #46, Rafa detecta que la búsqueda avanzada parece rota. ## Síntoma reproducido La página base carga, pero la ruta de filtrado devuelve 500: ```text https://www.feadulta.com/es/buscadoravanzado.html HTTP 200 https://www.feadulta.com/es/buscadoravanzado/itemlist/ HTTP 200 https://www.feadulta.com/es/buscadoravanzado/itemlist/filter.html?moduleId=179&Itemid=138 HTTP 500 https://www.feadulta.com/es/buscadoravanzado/itemlist/filter.raw?moduleId=179&Itemid=138 HTTP 500 ``` La respuesta HTML de error de Joomla muestra: ```text count(): Argument #1 ($value) must be of type Countable|array, string given ``` ## Logs revisados - `/php_errors.log`: 0 bytes, no recoge este error porque Joomla lo transforma en página de error. - `/errors.log`: solo errores proxy_fcgi del momento del cambio de runtime; no contiene stack PHP útil para este fallo concreto. ## Hipótesis técnica K2 Filter tiene más llamadas legacy `count($var)` donde `$var` puede ser string. En PHP 7.4 era warning/no fatal; en PHP 8 es `TypeError` y Joomla lo presenta como 500. ## Trabajo en curso - Reproducido también en la réplica local PHP 8.3 bajo `/joomla/es/buscadoravanzado/itemlist/filter.html?moduleId=179&Itemid=138`. - Se está buscando la línea exacta antes de aplicar parche en producción. ## Relacionado - Continúa el upgrade #46. Este issue separa el hotfix específico de búsqueda para no mezclarlo con el cierre general del upgrade.
rafa closed this issue 2026-06-28 19:13:58 +00:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: rafa/feadulta#64