2013-10-21 48 views
8

我試着去正常打印一個變量的錯誤日誌,讓我知道,如果我的MySQL查詢工作,但它不會打印到我的文件錯誤log.log。我把一切都弄好下面我設置錯誤,真實,並告訴它要打印的文件來,但我在這裏所定義的結果一個MySQL查詢獲取了一堆信息從它不會在所有如何正確打印變量錯誤日誌PHP

<?php 

error_reporting(E_ALL); //to set the level of errors to log, E_ALL sets all warning, info , error 

ini_set("log_errors", true); 
ini_set("error_log", "/errorlog.log"); //send error log to log file specified here. 

include ("connection.php"); 

$city = $_POST['city']; 

$state = $_POST['state']; 

$results = array(); 
if($query = $db->query("SELECT business_id, BusinessName, date, post". 
"FROM WolfeboroC.posts". 
"JOIN WolfeboroC.users ON users.recid = posts.business_id". 
"WHERE city= '$city' && state='$state' ". 
"ORDER BY date DESC LIMIT 0, 500")) 
{ 
    while($record = $query->fetch_assoc()) 
    { 

打印任何東西數據庫,並返回它的結果

$results[] = $record; 
    } 
    $query->close(); 
} 


echo json_encode($results); 

這是我嘗試變量打印到錯誤日誌文件

error_log(print_r($results)); 

?> 
+0

我懷疑PHP有權寫入'/'。你應該選擇一個更好的日誌文件位置。也許'__DIR__。 「/ errorlog.log'' – Phil

+0

什麼呢__ __ DIR做,我的文件是777 – user2354835

+0

https://www.google.com.au/search?q=php+__DIR__。我很懷疑你的錯誤日誌坐在根目錄 – Phil

回答

19

print_rphp manual)將打印數組,並且不會返回值,所以基本上你使用的是錯誤的。

正確的方法是使用布爾型 函數的第二個參數,該函數確定函數是否打印輸出或將返回該輸出。

error_log(print_r($results,true)); 

編輯 如果您的服務器管理嚮導或的cPanel,有一個內置的選項來查看Apache的錯誤日誌。檢查您的自定義錯誤是否出現。如果是這樣,那麼errorlogs文件有問題。