Si cela fonctionne sur votre hôte local mais pas sur votre hôte public, il est probable que Twitter bloque ou limite l'adresse IP de votre serveur public. De nombreux hôtes partagés sont bloqués/limités parce qu'il y a plusieurs sites qui claquent sur l'API Twitter sans authentification. Twitter les considère comme une seule application et étrangle la propriété intellectuelle dans son ensemble. Pour contourner cela, vous devrez vous authentifier en utilisant oAuth. C'est une douleur dans le cul, mais c'est une étape nécessaire. Voici quelques ressources que vous pourriez trouver être à portée de main:
Twitter vous offre des informations d'identification dans la section "Vos applications" du Twitter Developer website. Une fois que vous avez enregistré votre site en tant qu'application, cliquez sur Mon jeton d'accès. Cela vous donnera une clé/jeton que vous pouvez utiliser pour authentifier avec succès.
Une autre idée est que Twitter étrangle tout simplement votre application. Si c'est le cas, c'est parce que vous avez trop de trafic et que vous ne mettez pas en cache les résultats de l'API. Mettez en cache les résultats de l'API, par exemple, une heure avant d'aller chercher une nouvelle copie. Twitter cessera de vous singulariser si vous faites cela.
if(filemtime("cache.xml") < (int)$_SERVER["REQUEST_TIME"] - 3600) {
$data = file_get_contents("http://twitter.com/users/show.xml?screen_name=username");
file_put_contents("cache.xml", $data);
} else
$data = file_get_contents("cache.xml");
Incroyablement utile! La chose cache fait l'astuce .. J'ai cherché sur le web tout pour une solution simple comme ça .. :) –