2009-08-28 8 views
3

Exécution de PHP sous IIS sur mon système Win XP Pro. Je ne peux pas déboguer mes scripts facilement parce que PHP écrit dans le journal des erreurs que je spécifie. Voici les entrées de php.ini pertinentes (je pense):PHP error_log: N'écrira pas dans le fichier spécifié

 
error_reporting = E_ALL & E_STRICT 
display_errors = Off 
log_errors = On 
error_log = "c:/php5/log/php.log" 

J'ai eu les barres obliques allant de Windows/DOS chemin avant. Dans les deux cas, il n'a pas écrit dans le fichier php.log dans ce répertoire. Le fichier journal est accessible en écriture pour IUSR_SERVERNAME, le répertoire est accessible en écriture pour IUSR_SERVERNAME, le répertoire parent est accessible en écriture pour IUSR_SERVERNAME. Je suis sûr qu'il me manque quelque chose de stupide.

Des conseils?

+0

J'ai trouvé le problème. J'ai mis à jour ma réponse. Laissez-moi savoir comment ça se passe –

Répondre

4

Avez-vous essayé dans le fichier php lui-même?

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"); 

Mise à jour: Le problème est que vous utilisez une opération de bits et où vous devez utiliser un opérateur OR

Essayez cette

var_dump(E_ALL); 
var_dump(E_STRICT); 
var_dump(E_ALL | E_STRICT); 
var_dump(E_ALL & E_STRICT); 

sortie: int (6143) int (2048 int (8191) int (0)

Donc, fondamentalement, vous écrivez

error_reporting = 0 

Désactivation effective du rapport d'erreurs. Modifier le & pour | dans votre php.ini et vous devriez être ok.

+0

Un peu manque le point d'avoir dans le fichier INI, mais je vais essayer. – hapes

+0

Cela a enregistré les erreurs, au moins. – hapes

+1

php est une chienne parfois ... –

Questions connexes