电竞比分网-中国电竞赛事及体育赛事平台

分享

提示連接數(shù)據(jù)庫(kù)失敗

 上善若水1967 2011-04-07

由于最近工作的關(guān)系,需要研究Moodle系統(tǒng),它是一個(gè)線上學(xué)習(xí)的教學(xué)平臺(tái),是一個(gè)PHP的免費(fèi)開源項(xiàng)目,目前Windows下的最新版是Moodle 1.9.8,推薦使用MySql數(shù)據(jù)庫(kù),畢竟PHP+MySQL組合一起會(huì)更佳,但由于我目前還在MS的.Net陣營(yíng),所以期待使用熟悉的MSSQL數(shù)據(jù)庫(kù),這樣也能跟現(xiàn)有的.Net系統(tǒng)進(jìn)行很好的整合,并有利于以后的維護(hù)。

配置好PHP運(yùn)行環(huán)境

Moodle官網(wǎng)下載最新的安裝包,解壓后里就包含了Apache和PHP的運(yùn)行文件,而且都是不需要重新安裝的綠色版,如果想自動(dòng)運(yùn)行則可手動(dòng)添加進(jìn)Windows后臺(tái)服務(wù),進(jìn)入Apache主目錄的bin目錄下,使用cmd命令安裝Apache后臺(tái)服務(wù):httpd.exe -k install。

PHP連MSSQL數(shù)據(jù)庫(kù)

確保Apache運(yùn)行PHP沒問(wèn)題后,再需要修改PHP主目錄下的php.ini配置文件,以支持MSSQL數(shù)據(jù)庫(kù)的連接。為了更好的進(jìn)行調(diào)試顯示錯(cuò)誤,先分別修改php.ini里的display_errors = On和log_errors = On顯示錯(cuò)誤信息,配置過(guò)程主要參考官網(wǎng)說(shuō)明文檔:http://docs./en/Installing_MSSQL_for_PHP,直到最后運(yùn)行test.php提示連接數(shù)據(jù)庫(kù)成功。

修改Moodle的config.php

先copy一份moodle安裝目錄下的config-dist.php文件,并另存為config.php。按照官網(wǎng)說(shuō)明將$CFG->的dbtype、dbhost、dbname分別配置好,如果mssql為sql2005數(shù)據(jù)庫(kù),則dbhost應(yīng)該包含實(shí)例名如:127.0.0.1\SQL2005。dbname可為空,將生成表結(jié)構(gòu)到系統(tǒng)默認(rèn)的master數(shù)據(jù)庫(kù)內(nèi),建議先創(chuàng)建一個(gè)空數(shù)據(jù)庫(kù)后再指定dbname。修改$CFG->的wwwroot、dirroot、dataroot配置,根據(jù)你本機(jī)的Apache配置而進(jìn)行修改正確。

提示連接數(shù)據(jù)庫(kù)失敗Error: Database connection failed.

Error: Database connection failed.

It is possible that the database is overloaded or otherwise not running properly.

The site administrator should also check that the database details have been correctly specified in config.php

這是我今天遇到的最多的錯(cuò)誤信息,主要還是連接SQLSERVER數(shù)據(jù)庫(kù)的問(wèn)題,總結(jié)問(wèn)題原因主要為如下幾點(diǎn):

  1. 確保已下載了php_dblib.dll文件放在PHP主目錄的ext目錄下,并修改了php.ini增加extension=php_dblib.dll行,啟動(dòng)PHP時(shí)候如果提示Unable to load dynamic library './php_dblib.dll' - 找不到指定的模塊,則修改php.ini的extension_dir為正確的絕對(duì)路徑。
  2. 確保C:\freetds.conf文件已正確的創(chuàng)建。
  3. 檢查config.php內(nèi)的$CFG->dbtype、dbhost、dbname數(shù)據(jù)庫(kù)連接信息已經(jīng)正確的配置好。
  4. 檢查SQL Server服務(wù)端配置,如登陸賬號(hào)權(quán)限、是否允許TCP/IP連接、是否開啟了SQLBrowser(SQL Server Browser)服務(wù)。

Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server

這個(gè)警告很奇怪,是我在配置Moodle用戶使用外部數(shù)據(jù)庫(kù)時(shí),登陸出現(xiàn)的錯(cuò)誤信息。當(dāng)我使用外部的MSSQL2005數(shù)據(jù)庫(kù)表來(lái)檢驗(yàn)用戶名和密碼時(shí),明明設(shè)置的外部數(shù)據(jù)庫(kù)表里有這條記錄,卻老是提示登錄無(wú)效,請(qǐng)重試,運(yùn)行test.php也提示Successful connection能成功連接到數(shù)據(jù)庫(kù),后面將外部數(shù)據(jù)庫(kù)的登陸用戶名設(shè)置為sa,問(wèn)題解決。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多