PHP error_log: non scriverà al file specificato
Domanda
PHP in esecuzione con IIS sul mio sistema Win XP Pro. Non posso eseguire il debug i miei script facilmente, perché ottenere PHP per scrivere nel log degli errori specificata. Qui ci sono le rilevanti (credo) le voci php.ini:
error_reporting = E_ALL & E_STRICT display_errors = Off log_errors = On error_log = "c:/php5/log/php.log"
Ho avuto le barre che vanno il modo in cui Windows / DOS prima. In entrambi i casi, non ha scritto al file php.log in quella directory. Il file di registro è scrivibile da IUSR_SERVERNAME, la directory è scrivibile dal IUSR_SERVERNAME, la directory genitore è scrivibile da IUSR_SERVERNAME. Sono sicuro che mi manca qualcosa di stupido.
Qualche consiglio?
Soluzione
Hai provato nel file php in sé?
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 0);
ini_set('log_errors', 1);
ini_set('error_log', "c:/php5/log/php.log");
Aggiornamento: Il problema è che si sta utilizzando un bit a bit e dove si dovrebbe usare un OR bit a bit
Prova questo
var_dump(E_ALL);
var_dump(E_STRICT);
var_dump(E_ALL | E_STRICT);
var_dump(E_ALL & E_STRICT);
uscita: int (6143) int (2048) int (8191) int (0)
Quindi, in pratica si sta scrivendo
error_reporting = 0
In effetti spegnendo la segnalazione degli errori. Modificare il & per il | nel tuo php.ini e si dovrebbe essere ok.