คำตอบข้างต้นใช้งานได้ดีสำหรับ apache เริ่มต้นที่ติดตั้งมากับเครื่อง mac ในกรณีของฉันฉันใช้ Apache (บน High Sierrra) ติดตั้งผ่าน Homebrew นี่คือขั้นตอนที่ฉันใช้เพื่อค้นหาบันทึกข้อผิดพลาดของฉัน:
>ps -ef |grep httpd
สิ่งนี้ให้ผลลัพธ์กับบรรทัดดังนี้:
502 10587 10586 0 11:11AM ?? 0:00.00 /usr/local/opt/httpd/bin/httpd -k start
ที่ให้ตำแหน่งของไฟล์เรียกทำงาน httpd ตอนนี้ทำงาน:
>/usr/local/opt/httpd/bin/httpd -V
การแทนที่ในตำแหน่งที่สามารถเรียกทำงาน httpd ได้ คุณจะได้รับสิ่งนี้ (ย่อ)
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"
ดังนั้น "DEFAULT_ERRORLOG" จึงเป็นlogs/error_log
- แต่เกี่ยวข้องกับอะไร
ตอนนี้เปิด "SERVER_CONFIG_FILE"
ฉันพบสองรายการที่อาจเป็นประโยชน์:
ServerRoot "/usr/local/opt/httpd"
ErrorLog "/usr/local/var/log/httpd/error_log"
ดังนั้นในบางกรณี DEFAULT_ERRORLOG อาจสัมพันธ์กับ ServerRoot ในกรณีของฉันมี ErrorLog ที่ระบุไว้อย่างชัดเจน (บรรทัดที่สอง) และนั่นคือข้อผิดพลาดของฉันที่เกิดขึ้น