2009-10-09 15 views
14

Potrzebuję mieć wszystkie błędy PHP zarejestrowane w pliku na moim polu CentOS. Myślę, że robię wszystko, co powinienem. Tu jest mój plik .htaccess:Rejestrowanie błędów PHP nie działa przez .htaccess

 
php_flag display_errors off 
php_flag log_errors On 
php_flag error_log /var/www/vhosts/hostname/logs/fo_errors.log 
  • W moim php.ini, mam error_reporting = E_ALL ustawiony.
  • Apache nie analizuje .htaccess
  • /var/www/vhosts/hostname/logs/fo_errors.log ma właściciela ustawionego na apache:apache i ma uprawnienia do zapisu.

Nie mam pomysłów .. Czy ktoś może pomóc?

Dzięki

Odpowiedz

14

Prawdopodobnie chcesz użyć php_value nie php_flag kiedy ustawić ścieżkę dziennika. php_flag służy tylko do ustawiania właściwości konfiguracji boolowskiej.

php_flag display_errors off 
php_flag log_errors On 
php_value error_log /var/www/vhosts/hostname/logs/fo_errors.log 
+0

Doh-uh! Potrzebowałem drugiej pary oczu, żeby to zobaczyć. Dzięki Tom. –

+0

Czy ktoś może edytować tę odpowiedź i dodać poprawiony htaccess? Może to być przydatne dla innych. –

22

spróbuj dodać następującą stronę testową do korzenia internetowej:

<?php 
// debug.php 
echo "<pre>"; 
echo "log_errors = [", ini_get('log_errors'), "]\n"; 
echo "error_log = [", ini_get('error_log'), "]\n"; 
echo "writeable? ", is_writable(ini_get('error_log')) ? 'Yes' : 'No', "\n"; 
echo "</pre>"; 
error_log("Test from error_log()"); 
user_error("Test error from user_error()"); 

przejdź do /debug.php i powinny być widoczne następujące dane wyjściowe:

log_errors = [1] 
error_log = [/var/www/vhosts//logs/fo_errors.log] 
Writeable? Yes 

Warto także zobaczyć pojawiać dwa komunikaty w pliku dziennika za każdym razem, gdy odwiedzasz stronę.

+5

+1, szczególnie dla 'is_writable'. –