Foros del Web » Programando para Internet » PHP »

Iniciar sesión y postar en el muro (al mismo tiempo) me cuelga apache

Estas en el tema de Iniciar sesión y postar en el muro (al mismo tiempo) me cuelga apache en el foro de PHP en Foros del Web. He logrado realizar un sistema donde el usuario se loguea con facebook connect ($facebook->getLoginUrl) y una vez que ha iniciado sesión el script postea en ...
  #1 (permalink)  
Antiguo 23/06/2011, 20:21
Avatar de reyesoft  
Fecha de Ingreso: abril-2006
Ubicación: San Rafael, Mendoza
Mensajes: 311
Antigüedad: 18 años
Puntos: 15
Exclamación Iniciar sesión y postar en el muro (al mismo tiempo) me cuelga apache

He logrado realizar un sistema donde el usuario se loguea con facebook connect ($facebook->getLoginUrl) y una vez que ha iniciado sesión el script postea en su muro.

El problema sucede cuando se ha perdido la cookie de Facebook, por que el sistema pedirá iniciar sesión nuevamente (y esta vez no pedirá los permisos) y redireccionará nuevamente al script para de esa forma publicar el muro.

¡Y aquí aparece el problema! El script queda bloqueado (en la api cuando hace el pedido de post). No se si sea el CURL o que, pero es la API la que falla. Si el usuario tiene la sesión iniciada el sistema postea sin dramas. EL PROBLEMA ESTÁ CUANDO EL USUARIO INICIA SESION Y SOBRE LA MISMA SE POSTEA EN SU MURO.

Este es el script (simplificado) para postear en el muro de un usuario:
Código PHP:
   include 'facebook.php';

    
$config['appId' ]     = '20717xxxxxxx651738';
    
$config['secret']     = '0ba08c261xxxxxxx433df7d3b91fcae85';

    
$facebook = new Facebook($config);

    
$loginUrl   $facebook->getLoginUrl(array('scope' => 'publish_stream'));
    
$user        $facebook->getUser();

    if (
$user 0)
    {
        echo 
'Hola Uid '.$user.'. Posteo en tu muro. ';
        try {
            
$publishStream $facebook->api("/$user/feed"'post', array(
                
'message' => 'Probando 1 2 3 '.time()
                )
            );
            echo 
'Se ha posteado en tu muro.';
        } catch (
FacebookApiException $e) {
            echo 
'Error: '.$e->getMessage();
        }
    } else {
        echo 
'<a href="'.$loginUrl.'">Inicia sesion</a>';
    } 
¿Alguien le ha sucedido lo mismo? ¿Alguna idea de qué puede ser o cómo solucionarlo?

He probado intentar redireccionar a una página que con javascript demora 5 segundos entre login y posteo, pero muchas de las veces, el sistema igualmente queda bloqueado.

El problema en que en el servidor queda hijos de apache tipo zoombie y nunca terminan, a pesar de que he definido un set_time_limit(5);.

Muchas gracias de antemano...
__________________
Pablo Reyes

Compra/venta saldos PayPal, Skrill, Neteller, Bitcoins, etc.
  #2 (permalink)  
Antiguo 25/06/2011, 17:44
Avatar de reyesoft  
Fecha de Ingreso: abril-2006
Ubicación: San Rafael, Mendoza
Mensajes: 311
Antigüedad: 18 años
Puntos: 15
Sonrisa Respuesta: Iniciar sesión y postar en el muro (al mismo tiempo) me cuelga apache

Revisando minuciosamente el problema he llegado a lo siguiente:

El cuelgue se produce en la sgte línea y sólo en una segunda llamada (una vez pasa, la 2º no):
Código PHP:
    $result curl_exec($ch); 
Línea 750 de base_facebook.php del Facebook PHP SDK 3.0.1

Buscando ahora sobre curl y php me he encontrado que puede ser un problema en la versión, ¿alguien ha visto algo respecto a esto?

Tengo PHP 5.2.6 y LibCurl/7.18.2

¿Alguna pista?
__________________
Pablo Reyes

Compra/venta saldos PayPal, Skrill, Neteller, Bitcoins, etc.
  #3 (permalink)  
Antiguo 25/06/2011, 18:09
Avatar de reyesoft  
Fecha de Ingreso: abril-2006
Ubicación: San Rafael, Mendoza
Mensajes: 311
Antigüedad: 18 años
Puntos: 15
Respuesta: Iniciar sesión y postar en el muro (al mismo tiempo) me cuelga apache

He actualizado PHP a 5.3.6 y el problema persiste.
__________________
Pablo Reyes

Compra/venta saldos PayPal, Skrill, Neteller, Bitcoins, etc.

Etiquetas: apis-y-servicios, facebook
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 10:56.