Pergunta

Bem, encontrei muitos tópicos com ISE 500, mas nenhuma das soluções funcionou para mim.

Desenvolvi um aplicativo de facebook para nosso cliente apresentar algumas trilhas de áudio e, claro, gostaria de passar alguns parâmetros para o aplicativo por parâmetro app_data.Então eu integrei o SDK do Facebook 3.1.1. fiz de tudo para se conectar corretamente ao Facebook.

No meu xampp local tudo funciona bem, o servidor web da nossa empresa também executa o aplicativo sem problemas, assim como meu espaço web privado.Mas quando carrego o aplicativo no servidor do cliente recebo 500:Erro do Servidor Interno.Para descartar quaisquer erros de script estranhos da minha parte, tentei executar o example.php que vem com o SDK.Mesmo erro.Mesmo quando tentei instanciar a classe do Facebook assim:

<?php

require '../src/facebook.php';

$facebook = new Facebook(array(
  'appId'  => '???',
  'secret' => '??????',
));
?>

Já olhei os logs de erros dos servidores.A única coisa que menciona é isto:

"Inicio prematuro dos cabeçalhos de script:exemplo.php"

Eu também usei o amplamente sugerido error_reporting(E_ALL); para evitar tratamento incorreto de erros no lado do servidor.Nada.O servidor simplesmente não me diz o que há de errado.

Encontrei vários motivos pelos quais outras pessoas receberam esse erro, os mais importantes:

  • Ausente ?> tag no facebook.php/base_facebook.php
  • Múltiplas instâncias do Facebook- e FacebookApiException

... nenhuma das soluções fornecidas funcionou para mim.

Então tentei comparar o phpinfos de ambos, do cliente e do servidor da nossa empresa.Claro que houve algumas diferenças, mas nada óbvio para mim.Procurei as coisas básicas que as pessoas nos fóruns já haviam associado a um ISE 500 como o extensão cURL, versão php (5.3.9).Não sou administrador de servidor, só tenho um conhecimento básico de configurações de servidor.Então, para ter certeza de que algo está faltando, tentei encontrar os requisitos do servidor para o SDK do Facebook...

... mas toda a web não me informa os requisitos do servidor para o SDK do Facebook.Até a documentação do Facebook não menciona nada.Então, espero que haja alguém por aqui que possa me ajudar com isso.

E sim...já pedi ajuda ao administrador do servidor, ele apenas me olhou com dois pontos de interrogação nos olhos...e sim...eu tenho que usar o servidor de clientes :( suspirar

Agradecendo antecipadamente...


ATUALIZAR:
Vou listar as coisas que tentei em resposta às suas sugestões:

Servidor:
- a extensão cURL está instalada (7.20.1)
- a versão do php é 5.3.9.
- tentei incluir outros arquivos, funciona bem.Não parece ser um problema de caminho
- Os logs de erros do servidor mostram apenas "Fim prematuro dos cabeçalhos do script:exemplo.php"
- log_errors está habilitado.error_log diz 'sem valor'
- testado ini_set("display_errors", true); para rastreamento de bugs...nenhum efeito


ATUALIZAÇÃO 2

Consegui identificar o problema depois de verificar os arquivos do Facebook linha por linha.O erro interno do servidor 500 é lançado logo no início, após tentar iniciar uma sessão:

if(!session_id())
{
    session_start();
}

Encaminhei essas informações para o administrador do servidor e para o cliente ...acho que está fora do meu controle agora, atualizarei este post quando receber uma resposta.Obrigado pelo seu feedback pessoal :)


SOLUÇÃO

Ok, o administrador do servidor agora identificou o problema.O session.save_handler foi configurado para 'user', ele mudou para 'files', agora tudo funciona.:

session.save_handler = files

Obrigado novamente pela ajuda!

Foi útil?

Solução 3

O phpinfo() teve a resposta.Na sessão, o parâmetro save_handler teve que ser definido em:

session.save_handler = user

para:

session.save_handler = files

Outras dicas

Tente adicionar isso no topo do seu script, antes de incluir:

ini_set("display_errors", true);

Este é um exemplo perfeito de pergunta excepcionalmente ruim.

Embora o único problema seu seja how to get an error message from PHP, você escreveu um romance inteiro sobre coisas que ninguém precisa saber.Não importa se você usa um aplicativo do Facebook ou qualquer outra coisa.Não importa qual versão do curl você instalou.

A única coisa que você precisa é uma mensagem de erro do PHP.
Você tem que rastreá-lo.Verificar error_reporting, error_log e log_errors diretivas em phpinfo().
Verifique o diretório inicial do usuário para obter arquivos de log adicionais.Peça ao administrador do servidor os arquivos de log.ESTA deve ser a única direção da sua pesquisa - uma mensagem de erro do PHP.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top