Voici une classe simple de base de données, ainsi sa part d'une classe, je dépouillé tout à l'exception des parties liées à ma question. Fondamentalement, il me permettra de construire un fichier avec toutes les requêtes qui ont été exécutées sur une page de chargement avec le temps qu'ils ont pris, l'ordre dans lequel ils sont, le nombre total, puis aussi le SQL réel qui a été exécuté. C'est très bien mais j'ai des problèmes. Je ne peux pas à écrire dans le fichier, vous pouvez voir ci-dessous que j'imprimer à l'écran la valeur de sss $, ce qui est la valeur qui doit être écrit dans le fichier. En PHP, j'ai un rapport d'erreurs défini pour montrer tout et je ne reçois aucune erreur d'écriture ou quoi que ce soit, il n'écrit pas dans le fichier, peut-être que j'ai le dossier sur le mauvais dossier mais je ne suis pas sûr.Impossible d'obtenir PHP pour écrire dans un fichier
Alors, quelle serait une bonne façon de définir un chemin de fichier dans le fichier journal et aussi pour en faire écrire? SI il ne peut pas trouver le fichier maintenant, devrais-je voir une sorte d'erreur?
<?PHP
class Database
{
public $debug = true;
public $query_count = 0;
public $debug_file = "debug.sql";
public function query($sql){
//start timer stuff for debug logger
list($usec, $sec) = explode(" ",microtime());
$time_start = ((float)$usec + (float)$sec);
//run mysql query
$result = mysql_query($sql);
///debug
list($usec, $sec) = explode(" ",microtime());
$time_end = ((float)$usec + (float)$sec);
$time = $time_end - $time_start;
if($this->debug){
$this->query_count ++;
$f = fopen($this->debug_file, "a");
$sss = "# ".$this->query_count."\n ".$time." sec \n\n".$sql."\n#-------------------------------------------------------------------------\n\n";
// I print to screen just for test to see what should be wrriten to the file
echo $sss;
fputs($f, $sss, strlen($sss));
fclose($f);
}
//end debug
}
}
?>
code semble bien. Vous devriez recevoir un avertissement si le fichier ne peut pas être trouvé ou ouvert. Quel est le réglage de error_reporting? Avez-vous des autorisations pour écrire dans le répertoire en cours? –