Foros del Web » Programando para Internet » PHP »

Call to undefined function json_encode()

Estas en el tema de Call to undefined function json_encode() en el foro de PHP en Foros del Web. Estuve probando una web en piensasolutions durante un par de meses, y andaba bien. Ahora acabamos de alojar la pagina definitiva en piensasolutions... y me ...
  #1 (permalink)  
Antiguo 22/12/2010, 12:22
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Información Call to undefined function json_encode()

Estuve probando una web en piensasolutions durante un par de meses, y andaba bien. Ahora acabamos de alojar la pagina definitiva en piensasolutions... y me tira este error:

Código PHP:
Ver original
  1. Call to undefined function json_encode()

Tanto en el servidor "de pruebas" como en el nuevo (ambos de piensa solutions) corre la version 5.1.6 de PHP.

Si la función fue incorporada en PHP 5.2, por qué me funcionaba ? Y que puedo hacer ahora para reemplazar estas simples lineas ?

Código PHP:
Ver original
  1. if (.....)
  2. $respuesta[] = array("status" => 1);
  3.  
  4. else
  5. $respuesta[] = array("status" => 0, "texto" => "Error publicando comentario");
  6.        
  7. die( json_encode($respuesta) );
  #2 (permalink)  
Antiguo 22/12/2010, 12:30
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Call to undefined function json_encode()

Podrías utilizar la de PEAR?, Services_Json.

Saludos.
  #3 (permalink)  
Antiguo 22/12/2010, 12:31
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Call to undefined function json_encode()

Gracias, pero no tengo ni idea de PEAR.

Estoy probando esto ahora:

Código PHP:
Ver original
  1. $respuesta = {"status":0,  "texto" : "Error publicando comentario"};
  2.  
  3. die( $respuesta );
  #4 (permalink)  
Antiguo 22/12/2010, 12:33
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 4 meses
Puntos: 51
Respuesta: Call to undefined function json_encode()

Te paso una solución, aunque debería tener esta función:

Fuente: php.net

For JSON support in older versions of PHP you can use the Services_JSON class, available at http://pear.php.net/pepr/pepr-proposal-show.php?id=198

Código PHP:
<?php
if ( !function_exists('json_decode') ){
    function 
json_decode($content$assoc=false){
                require_once 
'Services/JSON.php';
                if ( 
$assoc ){
                    
$json = new Services_JSON(SERVICES_JSON_LOOSE_TYPE);
        } else {
                    
$json = new Services_JSON;
                }
        return 
$json->decode($content);
    }
}

if ( !
function_exists('json_encode') ){
    function 
json_encode($content){
                require_once 
'Services/JSON.php';
                
$json = new Services_JSON;
               
        return 
$json->encode($content);
    }
}
?>
PD: esto es de lo que hablaba masterpuppet


Ya lo he tenido que usar y funciona 100%
  #5 (permalink)  
Antiguo 22/12/2010, 12:36
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Call to undefined function json_encode()

Cita:
Iniciado por mayid Ver Mensaje
Gracias, pero no tengo ni idea de PEAR.

Estoy probando esto ahora:

Código PHP:
Ver original
  1. $respuesta = {"status":0,  "texto" : "Error publicando comentario"};
  2.  
  3. die( $respuesta );
No hay que conocer PEAR para usarla, ademas no depende de ningún otro componente , ahi te paso un ejemplo walterdevel.
  #6 (permalink)  
Antiguo 22/12/2010, 12:40
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Call to undefined function json_encode()

Gracias. Visité la pagina y me resulta complicado bajar esa libreria.

El comentario que hiciste me llevó a descubrir otros. Y aunque no lo creas, esto funciona:

Código PHP:
Ver original
  1. $respuesta = '[{"status":0,  "texto" : "Error publicando comentario"}]';
  2. die( $respuesta );
  #7 (permalink)  
Antiguo 22/12/2010, 12:47
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Call to undefined function json_encode()

Es a gusto del consumidor, pero que complejidad tiene bajar la clase del link que te pase?
  #8 (permalink)  
Antiguo 22/12/2010, 12:52
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Call to undefined function json_encode()

Nada. Es que tengo que ubicarla en una carpeta, incluirla, inicializarla... aprender sus metodos. Pero no me refería a esa clase. Me refería a la de waterlevel.

Saludos y gracias!
  #9 (permalink)  
Antiguo 22/12/2010, 12:54
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Call to undefined function json_encode()

Cita:
Iniciado por mayid Ver Mensaje
Nada. Es que tengo que ubicarla en una carpeta, incluirla, inicializarla... aprender sus metodos. Pero no me refería a esa clase. Me refería a la de waterlevel.

Saludos y gracias!

Vale, es la misma clase....

Saludos.
  #10 (permalink)  
Antiguo 22/12/2010, 13:13
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 4 meses
Puntos: 51
Respuesta: Call to undefined function json_encode()

Sería recomendable que la bajases y la utilizaras, es un consejo, no te llevaría más que descomprimir y pegar la carpeta en tu sitio, inicializarla lo haces con lo que te pasé y aprender, no necesitas aprenderte nada, solo agregarlo.

Te digo esto porque cuando tengas algo más complejo que resolver no vas a poder.
  #11 (permalink)  
Antiguo 23/12/2010, 12:22
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Call to undefined function json_encode()

Dale, lo voy a hacer. Que quede incorporada a mi libreria de funciones.

Siempre me pregunto en que afecta tener mucho codigo escrito, aunque no se lo ejecute. Cuánto puede ralentizar la maquina? Por ejemplo un framework, que carga un monton de data, no afecta en nada al procesador verdad? Porque hoy día las pc son muy potentes, claro.
  #12 (permalink)  
Antiguo 23/12/2010, 12:28
wjr
 
Fecha de Ingreso: diciembre-2010
Mensajes: 32
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Call to undefined function json_encode()

Cita:
Iniciado por mayid Ver Mensaje
Dale, lo voy a hacer. Que quede incorporada a mi libreria de funciones.

Siempre me pregunto en que afecta tener mucho codigo escrito, aunque no se lo ejecute. Cuánto puede ralentizar la maquina? Por ejemplo un framework, que carga un monton de data, no afecta en nada al procesador verdad? Porque hoy día las pc son muy potentes, claro.
Exacto, ya no afecta tanto, aunque eso sería por el lado de javscript. En php afecta al servidor, y en estos casos lo mejor es tener sólo el código que se utiliza. Con tener me refiero a incluirlo y que se cargue siempre.

Etiquetas: call, function, undefined
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:24.