2013-10-21 18 views
8

Sto cercando di stampare correttamente una variabile nel log degli errori in modo da sapere se la mia query mysql ha funzionato ma non viene stampata sul mio file log log. ho impostato tutto su sotto ho impostato errori a vero e detto che il file da stampare ma non stampa nullaCome stampare correttamente la variabile nel log degli errori 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()) 
    { 

ho definito risultati qui la sua una query mysql che recupera un po 'di informazioni dal banca dati e lo restituisce nei risultati

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


echo json_encode($results); 

Questo è dove si tenta di stampare la variabile nel file di log degli errori

error_log(print_r($results)); 

?> 
+0

Dubito che PHP disponga delle autorizzazioni per scrivere in '/'. Si dovrebbe scegliere una posizione migliore del file di registro. Forse '__DIR__. '/ errorlog.log'' – Phil

+0

cosa fa __ DIR __ fa e il mio file è 777 – user2354835

+0

https://www.google.com.au/search?q=php+__DIR__. Dubito fortemente che il registro degli errori si trovi nella directory radice – Phil

risposta

19

print_r (php manual) stamperà la matrice e non restituirà un valore, quindi in pratica lo stai usando male.

Il modo corretto utilizza il secondo parametro della funzione che è booleano che determina se la funzione stamperà l'output o lo restituirà.

error_log(print_r($results,true)); 

EDIT Se il server dispone DirectAdmin o cPanel, c'è un built-in opzione per vedere i log di errore di Apache. Controlla se il tuo errore personalizzato appare lì. Se è così, c'è un problema con il file errorlogs.

Problemi correlati