texto mysql_pconnect htmlentities html_entities php json codeigniter

mysql_pconnect - php 5.1.6 json_encode y codeigniter



php string to html tags (5)

Estoy construyendo una aplicación codeigniter que usa json_encode para proporcionar datos ajax en muchos lugares ... hoy aprendí que el servidor tiene php 5.1.6 que no es compatible con este método (o json_decode) ... ¿qué puedo hacer? por favor ayuda.


Hay una emulación de json_encode () en upgradephp . Simplemente incluya () ese script, y no necesita volver a escribir nada.
Como alternativa puede usar PEAR :: PHP_Compat . IIRC tiene una emulación de eso también.
(Hay una implementación alternativa adicional flotando, pero a menudo es un estilo de objeto y no tan rápido, y está diseñado para emular la función principal).

Puede configurarlos con auto_prepend_file= par. Si solo desea habilitar la extensión JSON, existen otras fuentes de curso.


El json_decode se agrega desde (PHP 5> = 5.2.0, PECL json> = 1.2.0), también es compatible con tu versión, deberías probarlo :)


Puede usar Services_JSON si CodeIgniter puede usarlo en lugar de las funciones json_ * de PHP 5.2. Sé que Zend_Framework tiene Zend_Json que usa funciones json_ * si están disponibles, de lo contrario, utiliza su propia implementación en el código PHP de usuario como una alternativa.

Por supuesto, si tiene acceso al servidor para compilar PHP, puede probar la extensión o la actualización a PHP 5.2 (una solución mejor).

EDITAR: Tomaría la ruta de capas de compatibilidad como se mencionó anteriormente.


Necesitaba json_encode y json_decode para jquery grid. Intenté upgradephp pero json_encode no parecía funcionar con la grilla de jquery, así que eliminé esa función del archivo y agregué esta . json_decode parece funcionar bien sin embargo.


De hecho, 5.1.6 admite json_decode y json_encode, pero pueden ser un poco raros. Al igual que en, si lo alimenta JSON no válido, como si tiene una clave en blanco, morirá sin advertencias ni errores. Pero utilizo json_encode y json_decode todos los días en un entorno 5.1.6. Es totalmente posible.