DBD: не удается загрузить файл драйвера apr_dbd_mysql.so

Я использую Apache 2 на виртуальной машине, на которой запущен стек LAMP (mysql версии 5.6). Когда я пытаюсь перезапустить сервер, я получаю следующее сообщение об ошибке:

DBD: Can't load driver file apr_dbd_mysql.so

Я убедился, что файл apr_dbd_mysql.so находится внутри каталога модулей apache (../apache2/modules/). Однако это не решает проблему.

Хотите знать, могу ли я загрузить его через httpd.conf? если да, то как его загрузить?

Может ли кто-нибудь помочь мне исправить эту ошибку?

Спасибо

0
задан 15 November 2015 в 20:07
2 ответа

Я потратил почти две недели на решение одной и той же проблемы, выдергивая волосы от отчаяния, пока не нашел следующее решение, которое помогло мне. Как я понял, у этой проблемы может быть много причин, поэтому решение только для одной из них. Попробуйте следующее:

Когда вы устанавливали пакет apr_dbd_mysl, он должен был создать общие объекты ( apr_dbd_mysql-1.so, apr_dbd_mysql.so ) в / usr / lib64 / apr-util-1 / . Я полагаю, вам сказали скопировать их в ... apache2 / modules , что у меня тоже не сработало. Что действительно работало, так это копирование всего каталога apr-util-1 с объектами внутри в / usr / local / apache2 / lib .

Итак, в конце вы иметь:

ls / usr / local / apache2 / lib / apr-util-1 / apr_dbd_mysql-1.so apr_dbd_mysql.so

Надеюсь, это сработает!

1
ответ дан 4 December 2019 в 16:46

Мне помогло решение @Konaras. Спасибо NB :переместите весь /usr/lib64/apr-util-1/, чтобы httpd загрузил драйвер базы данных. со следующей конфигурацией, например:

   # mod_dbd configuration
# UPDATED to include authentication caching
DBDriver pgsql
DBDParams "dbname=apacheauth user=apache password=xxxxxx"

DBDMin  4
DBDKeep 8
DBDMax  20
DBDExptime 300

<Directory "/usr/www/myhost/private">
  # mod_authn_core and mod_auth_basic configuration
  # for mod_authn_dbd
  AuthType Basic
  AuthName "My Server"

  # To cache credentials, put socache ahead of dbd here
  AuthBasicProvider socache dbd

  # Also required for caching: tell the cache to cache dbd lookups!
  AuthnCacheProvideFor dbd
  AuthnCacheContext my-server

  # mod_authz_core configuration
  Require valid-user

  # mod_authn_dbd SQL query to authenticate a user
  AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"
</Directory>
0
ответ дан 20 November 2021 в 21:04

Теги

Похожие вопросы