PHP error_log: no voy a escribir en el archivo especificado
Pregunta
Ejecutar PHP bajo IIS en mi sistema Windows XP Pro. No puedo depurar mis guiones fácilmente debido a que PHP para escribir en el registro de errores especifico. Aquí están las entradas pertinentes php.ini (creo):
error_reporting = E_ALL & E_STRICT display_errors = Off log_errors = On error_log = "c:/php5/log/php.log"
Yo tenía las barras que van en la forma en que Windows / DOS antes. En cualquiera de los casos, no se escribe en el archivo de php.log en ese directorio. El archivo de registro puede ser escrito por IUSR_SERVERNAME, el directorio puede ser escrito por IUSR_SERVERNAME, el directorio padre puede ser escrito por IUSR_SERVERNAME. Estoy seguro de que me falta algo estúpido.
¿Algún consejo?
Solución
¿Has probado en el propio archivo php?
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");
Actualización: El problema es que está utilizando un AND bit a bit donde se debe utilizar un OR
Probar
var_dump(E_ALL);
var_dump(E_STRICT);
var_dump(E_ALL | E_STRICT);
var_dump(E_ALL & E_STRICT);
salida: int (6143) int (2048) int (8191) int (0)
Así que, básicamente, que está escribiendo
error_reporting = 0
Efectivamente apagar el informe de errores. Y cambiar el para una | en su php.ini y que debe estar bien.