Error aparecido en webs con SugarCRM una vez actualizado el servidor de cualquier versión anterior a la 5.2.9 de PHP a esta versión.
El siguiente tip es para la versión 5.0.0h (versiones anteriores de la 5.0.0 pueden ser iguales) y la descarga oficial es la 5.0.0e. Las siguientes versiones que han salido son parches a este y otros problemas menores.
Solución
Se trata de cambiar una cadena de caracteres que es la que provoca el fallo por otra cadena, en el fichero
include/utils/mvc_utils.php
Cadena original: cyk7ICB9IH0=IA==IA==IA==IA==IA==
Cadena de reemplazo: cyk7ICB9IH0gICAgICAgICAgICAgICA=
Como hacerlo en línea de comandos por SSH:
1.- Acceso al servidor por SSH
2.- Ejecutar:
| Código: |
replace “cyk7ICB9IH0=IA==IA==IA==IA==IA==” “ cyk7ICB9IH0gICAgICAgICAgICAgICA=” -- www/include/utils/mvc_utils.php
|
Explicación:
A partir de la versión 5.2.9 de PHP (también puede ser anterior desde la 5.2.6) la función base64_decode no puede codificar la combinación de código con códigos de control y bytes nulos con espacios en blanco, provocando un error en la codificación del código esperado que produce el error. La cadena sustituta producirá una cadena en blanco que no traerá consecuencias negativas para el proceso de codificación y devolverá el código adecuado a la aplicación.