下面是一個簡單的數據庫類,也是它的一部分,除了與我的問題相關的部分外,我將所有內容全部刪除。無法讓PHP寫入文件
基本上,它允許我創建一個文件,其中包含在頁面上運行的所有查詢,包括它們的時間,順序,總數以及實際運行的SQL。這是非常好的,但我有麻煩。我無法將它寫入文件,您可以在下面看到我打印的是$ sss的值,這是應寫入文件的值。在PHP中,我有錯誤報告設置顯示一切,我沒有寫入錯誤或任何東西,它只是不寫入文件,可能我可能有文件在錯誤的文件夾,但我不知道。
那麼將文件路徑設置爲日誌文件並將其寫入的好方法是什麼?如果它現在找不到該文件,我是否應該看到某種錯誤?
所有的<?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
}
}
?>
代碼看起來不錯。如果文件無法找到或打開,您應該會收到警告。你的error_reporting設置爲什麼?你有權寫入當前目錄嗎? – 2010-01-17 22:04:25