2013-06-18 3 views
2

У меня очень странная проблема:redbean PHP: Фатальная ошибка: Uncaught исключение «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 скриптов:

// это один бросает ошибку

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. Кроме того, 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 
Смежные вопросы