Page 1 sur 1

fuite de mémoire ou non?

Posté : 22 sept. 2014, 17:06
par lipdjo
Bonjour,

Plus ou moins mon code est structurée de la façon suivante.En gros je récupère des données par un curl et je charge 2 bases de données toutes les 6 secondes.Quand je le lance , il marche bien et s'arrête après quelque temps(environ 1 jour et demi).Selon vous,serait ce un problème de fuite de mémoire?
<?php

$url='******';

$bdd= '' ;
$user = 'root';
$password = '*******';
$server = '127.0.0.1';
$db = 'log_database';
$db2 = 'log_stockage';


try
{
$bdd = new PDO("mysql:host=$server;dbname=$db",$user,$password,array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
$bdd2 = new PDO("mysql:host=$server;dbname=$db2",$user,$password,array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}


while(true)
{

$options=array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => true
);

$curl = curl_init();

curl_setopt_array($curl,$options);

try
{
$content = curl_exec($curl);
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}

curl_close($curl);


// i use the variable $content to load some tables in my database

$bdd->exec ("INSERT INTO ***** (****) VALUES ('*****')");
$bdd2->exec("INSERT INTO ***** (****) VALUES ('*****')");

sleep(6);

}

?>

Re: fuite de mémoire ou non?

Posté : 23 sept. 2014, 09:18
par arnaud69
Y'a quoi dans tes logs php ?
Tu es en localhost ? Hébergé sur un dédié ?
Un jour et demi de chargement de base toutes les 6 secondes via du curl... #-o #-o #-o

Re: fuite de mémoire ou non?

Posté : 23 sept. 2014, 21:31
par Aureusms
Tu charges toutes les 6 secondes ? Peut être atteins-tu la limite de connexion.
Pourquoi ne pas vérifier toutes les 6 secondes
  • que la connexion est active ou pas (avec une connexion persistante par exemple)
    puis lancer le reste du script si elle est active
    ou relancer la connexion si elle ne l'est pas ?