【问题标题】:Uncaught exception 'PDOException' with message 'could not find driver'带有消息“找不到驱动程序”的未捕获异常“PDOException”
【发布时间】:2014-01-23 21:36:59
【问题描述】:

您好,我需要您的帮助

我有错误

Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in /home/rails/public_html/newidenty/server.php:12 Stack trace: 
#0 /home/rails/public_html/newidenty/server.php(12): PDO->__construct('mysql:dbname=ra...', 'rails_identy', 'rails_identy') 
#1 /home/rails/public_html/newidenty/registration.php(2): include('/home/rails/pub...') 
#2 {main} thrown in /home/rails/public_html/newidenty/server.php on line 12.

我正在使用 118.139.182.107/~rails/HTML/test.php 拥有 PHP 版本的所有信息 并显示 PDO 库。

我的主机提供者说他们在其中安装了 PDO 但遇到问题

我的代码是

<?php
    $dsn      = 'mysql:dbname=*****;host=localhost';
    $username = '*****';
    $password = '*****';

    // error reporting (this is a demo, after all!)
    ini_set('display_errors',1);error_reporting(E_ALL);

    // Autoloading (composer is preferred, but for this example let's just do this)
    require_once('oauth2-server-php/src/OAuth2/Autoloader.php');
    OAuth2\Autoloader::register();
    $PDO = new PDO("mysql:dbname=*****;host=localhost",$username,$password);
    // $dsn is the Data Source Name for your database, for exmaple "mysql:dbname=my_oauth2_db;host=localhost"
    $storage = new OAuth2\Storage\Pdo(array('dsn' => $dsn, 'username' => $username, 'password' => $password));

    // Pass a storage object or array of storage objects to the OAuth2 server class
    $server = new OAuth2\Server($storage);

    // Add the "Client Credentials" grant type (it is the simplest of the grant types)
    $server->addGrantType(new OAuth2\GrantType\ClientCredentials($storage));

    // Add the "Authorization Code" grant type (this is where the oauth magic happens)
    $server->addGrantType(new OAuth2\GrantType\AuthorizationCode($storage));

?>

请帮忙..

【问题讨论】:

  • @Flosculus 你能解释一下我不知道 $dsn 是什么
  • 对不起,我删除了我的评论,因为它是错误的。
  • 我认为这个错误意味着他们安装了 PDO,而不是它的 MySQL 驱动程序。
  • @Barmar 你可以通过118.139.182.107/~rails/HTML/test.php查看我的php_info
  • @Barmar 这意味着 PDO 只支持 Sqlite 不支持 Mysql

标签: php pdo oauth


【解决方案1】:

根据您显示的phpinfo(),仅安装了 PDO Sqlite 驱动程序。您需要告诉托管服务提供商安装 PDO MySQL 驱动程序。

【讨论】:

    猜你喜欢
    • 2015-01-03
    • 2015-03-12
    • 2012-06-11
    • 1970-01-01
    • 1970-01-01
    • 2014-05-01
    • 1970-01-01
    • 2012-04-22
    • 2012-07-08
    相关资源
    最近更新 更多