[Apache][MySQL] error_log: [crit] (70023)This function has not been implemented on this platform: DBD: driver for [DBDriver unset] not available

在 apache web server 的 …/apache/logs/error_log 檔案如果很大,並且一直重複看到以下錯誤訊息:

[crit] (70023)This function has not been implemented on this platform: DBD: driver for [DBDriver unset] not available

錯誤原因:
因為安裝 Apache 時預設以下兩個 modules 是開啟的:
LoadModule authn_dbd_module modules/mod_authn_dbd.so
LoadModule dbd_module modules/mod_dbd.so

如果 dbd-mysql package 沒有安裝,則在 MySQL 使用 dbd 相關函式時就會產生上面的錯誤訊息而被 apache 記錄到 error_log 檔案中。

如果確定不會用到 DBD 機制的話,解決方法可以是修改 …/apache/conf/httpd.conf 檔案:
#LoadModule authn_dbd_module modules/mod_authn_dbd.so
#LoadModule dbd_module modules/mod_dbd.so

也就是將上面這兩個 modules 註解掉不使用,然後重跑 apache server:
…/bin/apachectl stop ; …/bin/apachectl start

這樣 error_log 檔案中就不會再出現上面的錯誤資訊了。

說明:
以上停用 dbd 相關的 modules 並不會影響到 PHP 去存取 MySQL 的資料庫,相關的資料庫存取行為應該都還是能正常運作。

你喜歡這篇文章嗎? 馬上分享它:

相關文章:

  1. 將MySQL升級成4.1版遇到 ‘Warning: mysql_connect() [function.mysql-connect]: Client does not support authentication protocol requested by server; consider upgrading MySQL client in …..’ 錯誤訊息要如何解?
  2. [SEO][架站] 使用 Apache 的 ReWrite 設定讓 URL 變短(short URL)、變成靜態樣式
  3. 安裝 PHP 時出現error: Cannot find MySQL header files under yes的錯誤訊息
  4. [MySQL] 解決MySQL server has gone away問題
  5. [WEB][PHP] 關於網站線上人數統計的實做
This entry was posted in MySQL, PHP, 架站, 解決 and tagged , , . Bookmark the permalink.

Leave a Reply