为什么不能用 PDO 创建 sqlite 数据库?

Why can't create the sqlite db with PDO?

我在debian7.

<?php
echo "creating a databse \n";
try {
    $dbh=new PDO('sqlite:voting.db');
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $dbh->exec('
    CREATE TABLE tally(
    QID varchar(32) NOT NULL,
    AID integer NOT NULL,
    votes integer NOT NULL,
    PRIMARY KEY(QID,AID)
    )');


} catch (Exception $e) {
    echo "error!!:$e";
    exit;

}
echo "db created successfully!";
?>

我想用代码创建我的 sqlite 数据库 voting.db,它 运行 跨越错误信息:

creating a databse error!!:exception 'PDOException' with message 'could not find driver' in /var/www/sqlite1.php:4
Stack trace: #0 /var/www/sqlite1.php(4):
PDO->__construct('sqlite:voting.d...') #1 {main}

如何解决?

您没有 PDO sqlite 扩展,因为它没有安装and/or因为它没有启用。

在 ArchLinux 上:

su
pacman -S php-sqlite
sed -i 's|.*\(extension.*pdo.*sqlite.*\)||' /etc/php/php.ini

在 Debian 上,您应该执行类似的步骤。我认为以下命令应该足够了:

su -c 'apt-get install php5-sqlite'