PHP error_log: N'écrire dans le fichier spécifié
Question
L'exécution PHP sous IIS sur mon Win XP Pro. Je ne peux pas facilement déboguer mes scripts PHP car obtenir à écrire dans le journal des erreurs que je précise. Voici les (je pense) pertinentes entrées de php.ini:
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 aller la façon dont Windows / DOS 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 IUSR_SERVERNAME, le répertoire est inscriptible par IUSR_SERVERNAME, le répertoire parent est inscriptible par IUSR_SERVERNAME. Je suis sûr que je manque quelque chose de stupide.
Des conseils?
La solution
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
Essayer 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
En effet de désactiver les rapports d'erreur. Modifiez le & pour un | dans votre php.ini et vous devriez être ok.