*HTTP Error 500* PHP sur un site free.fr

Petit nouveau ! | 4 Messages

17 août 2011, 20:30

Bonjour à tous,

Ce message étant mon premier je me permet une petite présentation :
Jeune développeur web à la recherche de son premier emploi et passionné du web.
Mon site web : http://www.romainbrasier.fr/

Enfin je me permet de poster ici en espérant être assez clair dans mes questions et trouver réponse à mon problème grâce à votre aide.

J'ai actuellement sur mon site web une page qui grâce au PHP génère un tableau à partir d'information récupéré dans la base de donnée mais aussi sur un autre site.
Et voilà cette application étant destinée à des amis j'ai crée un site free.fr pour y mettre ce petit tableau.

Sur mon site [chez OVH] tout fonctionne très bien, cependant le tableau est assez long à s'afficher car il faut le temps de récupérer toutes les informations.

Mais sur le site free.fr lorsque je veux afficher la page au bout d'un moment elle cesse de charger et me redirige vers une erreur 500.

J'aurais souhaité tout d'abord savoir si ce problème était déjà connu sur des site free.fr.
Si c'est le cas est il possible de paramétrer ce délais?

Et dans le cas contraire l'erreur viens peux être de mon code je vous laisse donc y jeter un œil :
<?php
//Connection à la base de donnée
$link=mysql_connect("****.sql.free.fr","****","*****")or die("Connexion impossible".mysql_error());
mysql_select_db("myDataBase")or die("Selection de la base impossible");
$query = "SELECT * FROM myTable ORDER BY pseudo";
$result = mysql_query($query) or die ('Erreur lors de la requête '.mysql_error());
// Récupération des informations
if(mysql_num_rows($result))
	{
	echo '<table border="1"><tbody>';
	echo '<tr><td>Pseudo</td><td>test</tr>';
	while ($row = mysql_fetch_array($result, MYSQL_NUM))
		{
		$pseudo=$row[0]; // Pseudo du joueur
		$url = 'http://ps.verygames.net/server983/player.php?id='.$row[1]; //url contenant les stats  du joueur
		$content = file_get_contents($url);
		// Recherche de la valeur correspondante au temps de connection du joueur
		$find = 'Online Time';
		$pos = strrpos($content, $find);
		$content= substr($content, $pos+27);
		$find='>';
		$pos = strrpos($content, $find);
		$content = substr($content, 0, -($pos-stripos($content, ':'))-1);
		// Affichage dans un tableau
		echo '<tr>'."\n\t".'<td><a href="http://ps.verygames.net/server983/player.php?id='.$row[1].'" target="_blank" >'.$pseudo.'</a></td>'."\n\t";
		echo '<td>'.$content.'</td></tr>';
		}
	echo '</tbody></table>';
?>
En espérant avoir été clair, je répondrait à vos questions pour plus d'infos.

Merci

Krazer
Modifié en dernier par krazer le 18 août 2011, 00:24, modifié 1 fois.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

17 août 2011, 23:13

Vu la description que tu nous donnes, particulièrement le passage où tu dis que c'est "long sous OVH, et que, au bout d'un moment, ça s'arrete sous Free", je pense qu'il s'agit d'un temps d'exécution trop long par rapport au max_execution_time de PHP.
Et comme les erreurs sont désactivées (voir error_reporting et display_errors), au lieu d'avoir l'affichage du message d'erreur, tu as une page blanche
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Petit nouveau ! | 4 Messages

18 août 2011, 00:23

Aussi étrange que cela puisse paraître ça a fonctionné sans. Je pense que comme le temps de chargement est variable ce dernier doit se trouver à la limite d’où l'instabilité. Par sécurité je vais mettre en place votre solution. Je vous remercie de votre réponse, cette dernière m'a été très utile.