繁体   English   中英

通过mod_authn_dbd使用MySQL进行Apache身份验证失败

[英]Apache authentication using MySQL via mod_authn_dbd fails

我试图使用存储在mysql数据库中的user:password使用基本身份验证来限制对目录的访问。 在启用mod_authn_dbd的情况下启动Apache服务时,它将创建约60至70个MySQL进程,所有进程均具有“ sleep”命令。 但是,这些错误会出现在整个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>

好像您遇到了Bug#45995与php + mysql冲突mod_authn_dbd

相关文章中所述 ,这是由apache apr-util mysql驱动程序和php mysql驱动程序之间的冲突引起的。 如果不使用php-mysql,则可以将其卸载,或者如果不使用,则可以将apr和apr-util降级至1.3或更低版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM