2013-06-18 46 views
2

我有一個很奇怪的問題:紅豆PHP:致命錯誤:未捕獲的異常「PDOException」有消息「無法連接到數據庫

部署一個小應用程序,以督促服務器,我收到以下錯誤後:

Fatal error: Uncaught exception 'PDOException' with message 'Could not connect to  database.' in D:\inetpub\vhosts\DOMAIN\httpdocs\app\db\rb.php:194 
Stack trace: 
#0 D:\inetpub\vhosts\DOMAIN\httpdocs\app\db\rb.php(338): RedBean_Driver_PDO->connect() 
#1 D:\inetpub\vhosts\DOMAIN\httpdocs\app\db\rb.php(5674): RedBean_Driver_PDO->setDebugMode(true, Object(RedBean_Logger_Default)) 
#2 D:\inetpub\vhosts\DOMAIN\httpdocs\app\db\test.php(7): RedBean_Facade::debug(true) 
#3 {main} thrown inD:\inetpub\vhosts\DOMAIN\httpdocs\app\db\rb.php on line 194 

我重複檢查主機,用戶,數據庫名稱和密碼,一切看起來不錯。

我甚至創造了2個PHP腳本:

//這一次引發錯誤

require('rb.php'); 
R::setup('mysql:host=localhost;dbname=DBNAME', 'DBUSER','DBPASS'); //mysql 
R::debug(true); 
$testRecord = R::load('test', 1); 
echo $testRecord->name; 

//這一個正常工作

mysql_connect('localhost', 'DBUSER', 'DBPASS') or die(mysql_error()); 
mysql_select_db('DBNAME') or die(mysql_error()); 
$result = mysql_query("SELECT * FROM test") 
or die(mysql_error()); 
$row = mysql_fetch_array($result); 
echo "Name: ".$row['name']; 

我缺少什麼這裏?請注意,這兩個腳本在localhost上工作正常。另外,在Linux機器上的本地主機,而PROD是Windows。但爲什麼這很重要?

回答

3

所以問題是,Windows服務器沒有安裝PDO MySQL驅動程序。

+0

謝謝!我遇到了同樣的問題。 – kralyk

3

在Linux操作系統Ubuntu: sudo apt-get install php5-sqlite

然後重新啓動你的Apache(須藤/etc/init.d/apache2重啓)

0

我收到了同樣的錯誤,但運行Ubuntu 16.04不得不更改爲:

sudo apt-get install php7.0-sqlite 
相關問題