Назад | Перейти на главную страницу

Apache и mod_dbd Получение «DBD: mod_dbd несовместимо с APR в get_driver»

Я пытаюсь реализовать базовую аутентификацию с сервером Apache и плагином, прокси-часть работает отлично, но когда я пытаюсь выполнить предварительный запрос, который, как предполагается, запускает mod_authn_dbd и его зависимость, я получаю эту ошибку:

[Sat Sep 03 17:42:38 2011] [error] (OS 126)The specified module could not be found.  : DBD: failed to initialise
[Sat Sep 03 17:42:38 2011] [error] [client 192.168.16.2] Failed to acquire database connection to look up user 'admin'

вот моя конфигурация:

<VirtualHost 133.133.16.2:8090>
    ServerAdmin ed_mann@dont_spam_me.ok
    DBDriver mysql
    DBDParams "host=localhost port=3306 dbname=test user=root pass=root"

    DBDMin 1
    DBDKeep 8
    DBDMax 20
    DBDExptime 300

    <Proxy http://localhost:8080/jsp-examples/>
        Order Allow,Deny
        Allow from all
    AuthType basic
        AuthName "private area"
        AuthBasicProvider dbd
       # core authorization configuration
      Require valid-user

       # mod_authn_dbd SQL query to authenticate a user
       AuthDBDUserPWQuery \
       "SELECT password FROM users WHERE name = %s"
    </Proxy>
    RewriteEngine On
    RewriteRule ^(.*)$ http://localhost:8080/jsp-examples/$1 [P]

    DocumentRoot "D:/cpp/Projects/Game/workspace"
    ServerName localhost
    ErrorLog logs/dev30-error.log
    CustomLog logs/dev30-access.log common

    <Directory ""D:/cpp/Projects/Game/workspace">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.2/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride None

    #
    # Controls who can get stuff from this server.
    #
    Order allow,deny
    Allow from all

</Directory>

</VirtualHost>

что я делаю не так? mysql работает (phpMyadmin отлично работает), а прокси-сервер apache работает отлично.

Если вы используете 64-битную версию Windows и 64-битную версию MySQL, попробуйте изменить MySQL на 32-битную версию. Или вы можете поместить libmysql.dll из mysql 5.0 32bit в каталог apache bin. Можно получить mysql 5.0 из архивов mysql.org в виде zip-файла.