Các câu trả lời ở trên hoạt động rất tốt cho apache mặc định được cài đặt sẵn trên mac. Trong trường hợp của tôi, tôi đang sử dụng Apache (trên High Sierrra) được cài đặt qua Homebrew. Đây là quy trình tôi đã sử dụng để xác định vị trí nhật ký lỗi của mình:
>ps -ef |grep httpd
Điều này cung cấp một đầu ra với các dòng như thế này:
502 10587 10586 0 11:11AM ?? 0:00.00 /usr/local/opt/httpd/bin/httpd -k start
Điều đó cung cấp cho bạn vị trí của httpd thực thi. Bây giờ chạy:
>/usr/local/opt/httpd/bin/httpd -V
Thay thế ở vị trí thực thi httpd của bạn. Bạn sẽ nhận được một cái gì đó như thế này (rút ngắn)
Server compiled with....
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=256
-D HTTPD_ROOT="/usr/local/Cellar/httpd/2.4.29_1"
-D SUEXEC_BIN="/usr/local/opt/httpd/bin/suexec"
-D DEFAULT_PIDLOG="/usr/local/var/run/httpd/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="/usr/local/etc/httpd/mime.types"
-D SERVER_CONFIG_FILE="/usr/local/etc/httpd/httpd.conf"
Vậy "DEFAULT_ERRORLOG" nằm trong logs/error_log
- nhưng liên quan đến cái gì?
Bây giờ hãy mở "SERVER_CONFIG_FILE"
Ở đó, tôi tìm thấy hai mục có thể hữu ích:
ServerRoot "/usr/local/opt/httpd"
ErrorLog "/usr/local/var/log/httpd/error_log"
Vì vậy, trong một số trường hợp, DEFAULT_ERRORLOG có thể liên quan đến ServerRoot. Tuy nhiên, trong trường hợp của tôi, đã có ErrorLog được chỉ định rõ ràng (dòng thứ hai) và đó là nơi lỗi của tôi xảy ra.