2

我想使用SQLite3with Agile Toolkit。我在包含 SQLite 驱动程序的文档atk4中找到了它,但我找不到任何关于如何连接到SQLite DB.

我尝试使用Pear:DB DSN 文档中的格式将随附的示例应用程序的数据库连接更改atk4为SQLite :MySql

$config['dsn']='sqlite:////var/www/webdev/atk4_example.db';

但我不断收到找不到驱动程序 PDO 错误:

Application Error: Database Connection Failed
BaseException, code: 0
Additional information:
    * PDO error: could not find driver
    * DSN: :host=;dbname=;charset=utf8

/var/www/webdev/atk4/lib/DB.php:94

SQLitePDO驱动程序似乎已正确安装在服务器上。phpinfo() 和PHP/PDO/SQLite3示例页面都确认它有效。

我正在学习敏捷工具包、PHP 和一般 Web 开发,所以我可能会遗漏一些微不足道的东西。

4

1 回答 1

1

您可以在 config.php 中尝试以下语法吗?

$config['dsn']='sqlite://username:password@hostname/dbname';

另外请检查您的 php.ini 中是否启用了 MySQL(是的,MySQL 不是 SQLite)扩展。如果没有,请尝试启用它并再次测试。如果 SQLite 与启用的 MySQL 扩展一起工作,那么我想我在 DB.php 中发现了小错误并且可以修复它。

此外,看起来您可以将以下格式的 DSN 参数作为数组传递,也许这样会更好:

$config['dsn'] = array(
    'sqlite:host=hostname;dbname=dbname;charset=utf8',
    'username',
    'password'
);

请尝试上述两种解决方案,并让我知道它们是否有效。我现在无法自己测试,因为我不在我正在开发的计算机上。

于 2013-05-29T06:56:12.870 回答