【问题标题】:redbean php: Fatal error: Uncaught exception 'PDOException' with message 'Could not connect to databaseredbean php:致命错误:未捕获异常“PDOException”,消息“无法连接到数据库”
【发布时间】:2013-06-14 14:31:25
【问题描述】:

我有一个很奇怪的问题:

将一个小应用程序部署到产品服务器后,我收到以下错误:

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 机器中的 localhost 而 PROD 是 Windows。但是这有什么关系呢?

【问题讨论】:

    标签: php redbean


    【解决方案1】:

    所以问题是windows服务器没有安装PDO mysql驱动。

    【讨论】:

    • 谢谢!我遇到了同样的问题。
    【解决方案2】:

    在 linux ubuntu 中: sudo apt-get install php5-sqlite

    然后重启你的 apache (sudo /etc/init.d/apache2 restart)

    【讨论】:

      【解决方案3】:

      我收到了同样的错误,但运行 Ubuntu 16.04 必须更改为:

      sudo apt-get install php7.0-sqlite
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-14
        • 2014-03-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多