Saya mencoba mengatur host virtual di Mac OS X. Saya telah memodifikasi httpd.conf dan me-restart server, tetapi belum berhasil membuatnya berfungsi. Selain itu, saya perhatikan bahwa itu tidak melayani file dalam DocumentRoot yang disebutkan di httpd.conf (Libraries / WebServer / Documents), tetapi dalam direktori yang berbeda (/ usr / local / apache2 / htdocs). Saya tidak melihat folder ini disebutkan di mana pun di httpd.conf. Lebih jauh, PHP berfungsi, tetapi baris "LoadModule php5_module" dikomentari. Ini membuat saya berpikir menggunakan file .conf lain. Bagaimana saya bisa mengetahui konfigurasi mana yang sebenarnya dimuat?
Pembaruan: Saya baru saja menghapus bahwa httpd.conf dan apache berperilaku sama setelah restart, jadi pasti tidak menggunakannya!
sumber
/usr/sbin/httpd -D FOREGROUND -f /Library/Server/Web/Config/apache2/httpd_server_app.conf -D WEBSERVICE_ON
Ada pertanyaan serverfault lain mengenai ini . Jika Anda menggunakan server berbasis debian yang dapat Anda gunakan
apache2ctl
untuk menentukan file config mana yang sedang digunakan:Lebih lanjut tentang ini:
Cara mengetahui apache httpd.conf yang digunakan saat runtime
sumber
Mencoba
dan Anda harus (mungkin) mendapatkan output seperti
Selain itu, bagaimana tepatnya Anda me-restart server? Hanya ingin tahu kalau-kalau Anda entah bagaimana sebenarnya tidak membaca ulang file konfigurasi.
sumber
-f
bendera di dalamnyaKarena beberapa konfigurasi menggunakan aplikasi Server, minuman atau apa pun, dan karena satu liner FTW:
Perintah ini melakukan hal berikut:
Diuji pada Sierra & El Capitan
sumber
$
penting (ini bukan prompt baris perintah dalam kasus ini). Jika mengubah pernyataan di parens menjadi perintah, yang kami melewati-V
bendera. Membiarkannya menghasilkan: "kesalahan sintaks dekat token tak terduga` -V '".Pertama, periksa yang merupakan skrip startup untuk Apache. Untuk macOS, seharusnya / Library / LaunchDaemons. Itu mungkin termasuk direktori kerja, atau informasi serupa.
Anda juga dapat men-debug proses yang berjalan itu sendiri dengan dtruss. Anda dapat terhubung ke proses yang sedang berjalan menggunakan
dtruss -p <pid>
. Kemudian, jika Anda HUP itu, Anda mungkin dapat meneliti output untuk melihat dari mana ia mengambil konfigurasi. Sebagai alternatif, mulai saja Apache dengan menelepon dtruss secara langsungdtruss start_apache_command
.Anda selalu bisa melakukan pencarian di seluruh sistem untuk httpd.conf
find / -name httpd.conf
.sumber