Jawaban di atas berfungsi dengan baik untuk apache default yang sudah diinstal sebelumnya pada mac. Dalam kasus saya, saya menggunakan Apache (pada High Sierrra) yang diinstal melalui Homebrew. Inilah prosedur yang saya gunakan untuk menemukan log kesalahan saya:
>ps -ef |grep httpd
Ini memberikan output dengan garis-garis seperti ini:
502 10587 10586 0 11:11AM ?? 0:00.00 /usr/local/opt/httpd/bin/httpd -k start
Itu memberi Anda lokasi executable httpd. Sekarang jalankan:
>/usr/local/opt/httpd/bin/httpd -V
Mengganti di lokasi httpd Anda dapat dieksekusi. Anda akan mendapatkan sesuatu seperti ini (disingkat)
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"
Jadi "DEFAULT_ERRORLOG" di logs/error_log
- tetapi relatif terhadap apa?
Sekarang buka "SERVER_CONFIG_FILE"
Di sana, saya menemukan dua entri yang mungkin membantu:
ServerRoot "/usr/local/opt/httpd"
ErrorLog "/usr/local/var/log/httpd/error_log"
Jadi dalam beberapa kasus, DEFAULT_ERRORLOG mungkin relatif terhadap ServerRoot. Dalam kasus saya, ada ErrorLog ditentukan secara eksplisit (baris kedua) dan di situlah kesalahan saya terjadi.