Configuration
使用會話 cookie 模組編譯 Apache 2.4.9
我使用以下配置編譯了我的 Apache 建構:
./configure \ --prefix=/usr/local/apache2 \ --sysconfdir=/etc/apache2 \ --enable-so \ --enable-info \ --enable-session \ --enable-session-cookie \ --enable-lua \ --enable-luajit \ --enable-proxy \ --enable-mods-shared=all \ --with-included-apr make sudo make install
完成上述過程後,當我嘗試啟動我的伺服器時
/usr/local/apache2/bin/apachectl -k start
我收到以下錯誤:
httpd:第 136 行的語法錯誤
/etc/apache2/httpd.conf
:無法載入modules/mod_session_cookie.so
到伺服器/usr/local/apache2/modules/mod_session_cookie.so
::未定義符號:ap_hook_session_save
在檢查**
httpd.conf
**文件時,我看到以下內容:135 #LoadModule session_module modules/mod_session.so 136 LoadModule session_cookie_module modules/mod_session_cookie.so 137 LoadModule session_dbd_module modules/mod_session_dbd.so
其中數字描述文件中的行號。在取消註釋第135行並再次嘗試顯示:
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
我認為沒關係。但是伺服器還沒有啟動。
apachectl -V
給出:Server version: Apache/2.4.9 (Unix) Server built: Apr 13 2014 22:48:17 Server's Module Magic Number: 20120211:31 Server loaded: APR 1.5.0, APR-UTIL 1.5.3 Compiled using: APR 1.5.0, APR-UTIL 1.5.3 Architecture: 32-bit Server MPM: event threaded: yes (fixed thread count) forked: yes (variable process count) 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/apache2" -D SUEXEC_BIN="/usr/local/apache2/bin/suexec" -D DEFAULT_PIDLOG="logs/httpd.pid" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types" -D SERVER_CONFIG_FILE="/etc/apache2/httpd.conf"
該問題與我的編譯設置無關。伺服器沒有啟動,因為我的下面的語句被評論了
httpd.conf
:LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
取消註釋上述解決了該問題。
取消註釋該行:
LoadModule session_module modules/mod_session.so
正在解決問題。@httpd-2.4.38
如果 mod_session.so 在 httpd.conf 中處於活動狀態,mod_session_cookie.so 和 mod_socache_shmcb.so 仍然可以載入