Po uruchomieniu phpinfo()
i dyrektywy o błędzie error_log po prostu powiedziano: error_log
. Do czego odnosi się ten plik? tj. jaka byłaby pełna ścieżka do błędu ?Gdzie są rejestrowane błędy PHP, jeśli dyrektywa error_log mówi po prostu "error_log"?
Odpowiedz
Otwórz plik php.ini Sprawdź ścieżkę przed error_log
nie powinno zdobyć downvoted, bo to jest właściwe wykorzystanie zgodnie z przeznaczeniem. Ludzie powinni używać dostarczonych narzędzi w taki sposób, w jaki zostały zaprojektowane, i tylko obracać własne rozwiązanie, jeśli jest ono niedostępne lub nie jest dostarczane. Na tej stronie jest zbyt wiele osób, które zakładają, że tylko dlatego, że nie rozwiązały swojego konkretnego problemu (i wszystkich jego powiązanych, ale nieudokumentowanych problemów), są automatycznie błędne. To nie jest złe, a jeśli to nie działa, twój serwer jest źle skonfigurowany, co jest Twoim prawdziwym problemem. – mopsyd
Dodałbym jednak, że dzienniki można również zdefiniować w apache.conf lub vhost.conf. – mopsyd
cytatem from the documentation:
error_log ciąg
Nazwa pliku, w którym błędy skrypt powinien być zalogowanych. Plik powinien być zapisywalny przez użytkownika serwera WWW. Jeśli używany jest dziennik specjalnej wartości , błędy są wysyłane do rejestratora systemowego . W systemie Unix oznacza to syslog (3) i Windows NT, co oznacza dziennik zdarzeń . Rejestrator systemu nie jest obsługiwany w systemie Windows 95. Patrz także: syslog(). Jeśli ta dyrektywa nie jest ustawiona, błędy są wysyłane do rejestratora błędów SAPI . Na przykład jest to dziennik błędów w Apache lub stderr w CLI.
Więc, jeśli wartość nie jest ustawiony (który jest domyślny) zostanie wysłany do rejestratora błędów rodzic, który jest Apache (jeśli prowadzony przez niego) lub stderr
jeśli uruchomić skrypt w linii poleceń .
Jeśli używasz skryptu za pomocą apache, będziesz musiał przejrzeć dziennik błędów apache, zwykle w /var/log/apache
lub /var/log/httpd
, w zależności od twojej dystrybucji. Możesz sprawdzić plik konfiguracyjny Apache dla dokładnej lokalizacji.
Edit:
Właśnie zauważyłem, że błędnie zinterpretowali swoje pytanie, myślę, że masz na myśli error_log
ma wartość rzeczywistą error_log
?
Właśnie przeprowadziłem testy. Kiedy ustawię error_log
na wartość taką jak php_errors.log
PHP nadal zapisuje komunikaty o błędach w dzienniku błędów apache. Zachowuje się tak, jakby wartość była pusta. Po ustawieniu wartości na pełną ścieżkę (np. /tmp/php_errors.log
), zapisuje ona błędy do określonego pliku.
Więc domyślam się, że w twoim przypadku zapisuje błędy w pliku dziennika błędów apache.
Oczywiście można ustawić własny plik dziennika jest dodanie
ini_set("error_log", "/tmp/php_errors.log");
do plików PHP, gdzie jest to potrzebne (jeśli nie została wyłączona przez administratora).
nie ma '/ apache' w'/var/log'. ale istnieje 'error_log' w'/usr/local/apache/logs', ale nie ma żadnych błędów PHP. kiedy uruchamiam moją stronę PHP, otrzymuję pusty ekran i chcę znać błąd składni. 'display_errors' jest wyłączone w' php.ini'. – Ryan
powinieneś móc włączyć 'display_errors' w swoim pliku php. Po prostu dodaj 'ini_set (" display_errors ", 1);' na początku. –
wspaniały pomysł przyjaciela – Ryan
Gdy wartość po prostu mówi error_log
(lub error_log = error_log
w pliku php.ini
), oznacza to, że błędy zostaną zapisane do pliku o nazwie error_log
w tym samym katalogu, w którym wystąpił błąd.
Tak więc, jeśli masz plik o nazwie index.php
w /home/user/public_html/ który zgłasza błąd, błąd zostanie zapisany do: /home/user/public_html/error_log.
Jeśli masz plik o nazwie resize.php
w /home/user/public_html/admin/images/ który zgłasza błąd, to błędy będą zapisywane: /home/user/public_html/admin/images/error_log
Źródło: Display and log errors for PHP
- 1. Gdzie błędy PHP są rejestrowane na serwerze Ubuntu?
- 2. Odpowiednik PHP error_log dla logów informacyjnych?
- 3. PHP error_log wypisywanie wierszy jako literałów "\ n" na Mac OSX
- 4. Metoda PHP error_log nie zapisuje błędów w moim pliku dziennika błędów
- 5. Globalnie rejestrowane błędy jQuery (błędy Event & DOM)
- 6. Gdzie są błędy w dziennikach IIS 7.5?
- 7. Gdzie są rejestrowane próby połączenia z serwerem SQL?
- 8. Jak uzyskać błędy wyświetlania PHP? (Dodałem ini_set i error_reporting, ale po prostu daje 500 na błędy)
- 9. Dlaczego są rejestrowane zduplikowane wiadomości
- 10. . Pliki spc nie są rejestrowane w TFS
- 11. wstawić, jeśli nie istnieje, po prostu wybierz w mysql
- 12. Polecenie Sed: jak wymienić, jeśli istnieje, po prostu wstawić?
- 13. Wyłącz ostrzeżenia i błędy na php/mysql
- 14. W git scalania, jak po prostu zastąpić wersję z wersją git mówi, że jest konflikt z?
- 15. NPM: jak po prostu uruchomić po instalacji?
- 16. Gdzie są niezainicjowane zmienne globalne po uruchomieniu?
- 17. Do czego służy dyrektywa @selector? Dlaczego nie po prostu użyć nazwy metody?
- 18. NamedPipeServerStream.EndWaitForConnection() po prostu zawiesza się po użyciu
- 19. Jeśli parametr upload_tmp_dir nie ma wartości ... gdzie są moje pliki tymczasowe? - eksperymenty
- 20. Sprawdź błędy składni PHP?
- 21. Jakie są opcje dla dyrektywy gzip_proxied? Dyrektywa
- 22. Gdzie są adnotacje JDBC4?
- 23. Pozwalanie na wykonywanie wielu zapytań PHP, jeśli wystąpią błędy
- 24. Pobierz dziennik błędów PHP z PHP
- 25. Nginx + FastCGI + PHP (php-fpm) nie rejestruje złapanych błędów/ostrzeżeń
- 26. plUpload - Błędy po stronie serwera nie są wyświetlane
- 27. PHP nie wyświetlając błędy
- 28. Jak zmienić temat wiadomości e-mail dotyczącej błędu php?
- 29. Jeśli tabela istnieje, upuść, a następnie utwórz go, jeśli nie istnieje, po prostu stwórz go
- 30. po prostu zatrzymaj metodę asynchroniczną
system operacyjny jest Linux – Ryan