Como usar TextLinkAds em um site sem o fsockopen


Pois é pessoal, estamos vendendo nossa alma.. ooops, nosso espaço no Uninuni para alguns anúncios.. e dentre eles temos um cantinho reservado para o nosso amiguinho abaixo:

Para a nossa felicidade, dois dias depois de entrar para o programa, já conseguimos um site interessado em entrar para a nossa lista (Semana que vem devo fazer uma Review sobre o site, assim ele vai ter um link fixo aqui conosco).

Para a nossa infelicidade, o link do site não estava aparecendo. Eu só sabia que ele deveria estar ali porque recebi um e-mail me avisando. Lá fui eu então atrás de uma explicação plausível para isso. Entro no código fonte do plugin do TextLinkAds e começo com os meus echo “A”; … echo “B”; … echo “C”; até descobrir onde está o erro.

Para minha infelicidade (de novo) (e desespero momentâneo) o problema é que o plugin se comunica com o site via o comando fsockopen do PHP, e o mesmo não está habilitado no meu servidor. Então resolvo testar outras formas de comunicação e descubro que o Curl está ativo 😀

Então se algum de vocês tem o mesmo problema que eu aqui vai o que eu fiz para consertar:

Adicione a seguinte função depois da função fetchLiveXml($url) {…}

function fetchLiveXmlCurl($url) {
  $ch = curl_init( $url );
  curl_setopt( $ch, CURLOPT_HEADER, 0 );
  curl_setopt( $ch, CURLOPT_RETURNTRANSFER, TRUE );
  $result = curl_exec( $ch );
  curl_close( $ch );
  $result = substr($result, strpos($result,'<?'));
  return $result;
}

e substitua todas chamadas de fetchLiveXml por fetchLiveXmlCurl

Simples, rápido e prático.. em meia hora já tinha descoberto o problema e corrigido ele.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *