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?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top