Pergunta

Eu tenho um script que lê feeds RSS usando fopen & fgets.

Ao tentar a alimentação em: http://rss.fok.nl/feeds/nieuws meus trava de script até o max_timeout do PHP é atingido.

A coisa é:

  • funcionou perfeitamente (no mesmo url) até hoje.
  • ele ainda funciona no meu servidor mac MAMP desenvolvimento.
  • não funciona no servidor WAMP produção (php 5.2.8)

Eu tentei FREAD sem sucesso.

todas as idéias?

Foi útil?

Solução

Bem, é mais uma solução do que uma resposta, mas eu tive que recorrer a ele. Eu usei o seguinte para passar a onda, usando esta função:

function curl_get_file_contents($URL)
{
    $c = curl_init();
    curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($c, CURLOPT_URL, $URL);
    $contents = curl_exec($c);
    curl_close($c);

    if ($contents) return $contents;
        else return FALSE;
}

Eu encontrei-o aqui: http: // il. php.net/manual/en/function.file-get-contents.php

btw, no caso de alguém quiser cavar mais fundo, de acordo com outros relatos de fgets pendurado, parece que tem algo a ver com o 'feof' ou a falta dela ...

Outras dicas

Talvez tentar depurar a conexão usando o Wireshark ( Ethereal ). Este deve dar-lhe a razão. Talvez o servidor está bloqueando seus pedidos devido ao user-agent.

Você pode baixar o arquivo manualmente na máquina Windows?

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