4
我試圖限制訪問使用用戶的基本身份驗證的目錄:存儲在mysql數據庫中的密碼。啓動mod_authn_dbd啓動Apache服務後,它會創建大約60到70個MySQL進程,它們都具有「睡眠」命令。然而,這些錯誤出現在整個Apache日誌,並作爲該錯誤的結果的認證間歇性失敗:通過mod_authn_dbd使用MySQL的Apache身份驗證失敗
[Mon Aug 19 21:38:15 2013] [error] (20014)Internal error: DBD: failed to initialise
[Mon Aug 19 21:38:15 2013] [crit] (20014)Internal error: DBD: child init failed!
[Mon Aug 19 21:38:15 2013] [error] (20014)Internal error: DBD: Can't connect to mysql
我試圖調整MySQL連接限制和DBD參數來解決這個問題,但沒有成功。
這是我目前的配置,敏感信息刪除:
<IfModule mod_authn_dbd.c>
DBDriver mysql
DBDParams "host=localhost port=3306 dbname=SITE_USERS user=DBUSER pass=DBPASS"
DBDExptime 300
DBDMin 1
DBDMax 10
</IfModule>
<Directory "/home/mysite/public_html/protected">
AuthCookieName CookieAuth
AuthCookieBase64 On
AuthType Basic
AuthName "Registered User"
AuthBasicProvider dbd
AuthDBDUserPWQuery "SELECT password FROM users WHERE username = %s"
Require valid-user
AllowOverride None
Order allow,deny
Allow from all
</Directory>