我有一个相当基本的问题:我似乎无法将CakePHP连接到我的SQLite数据库.令人惊讶的是,我没有在互联网上找到很多关于它的信息,尽管我可能会查找错误的关键字.不过,这是我的连接代码:
var $default = array( 'driver' => 'sqlite', 'connect' =>'sqlite_popen', 'persistent' => false, 'host' => 'localhost', 'port' => '', 'login' => '', 'password' => '', 'database' => '/home/MY_USER_NAME/public_html/my_database.sqlite', 'schema' => '', 'prefix' => '', 'encoding' => '' );
但是,Cake只说"Cake无法连接到数据库".另外,我不知道在哪里可以看到"真实"日志(即从SQLite"驱动程序"返回的错误).所以,我遇到了一个死胡同.我该怎么办?
提前致谢.
从CakePHP 2.0开始,Sqlite 3支持开箱即用.
确保在PHP配置中启用了sqlite:
phpinfo();
在里面app/Config/databases.php
你可以像这样定义Sqlite数据库:
public $default = array( 'datasource' => 'Database/Sqlite', 'persistent' => false, 'database' => 'my_database_name', 'prefix' => '', 'encoding' => 'utf8', );
现在检查你的app/webroot/my_database_name.sqlite
文件.
CakePHP尚未正式支持SQLite3 ...可能是因为附加到此bug /增强的文件有效.
https://trac.cakephp.org/ticket/3003
获取该文件的最新版本,使用任何较新的补丁进行更新,将其上载到您的cake/libs/model/datasources/dbo
目录并在database.php文件中进行配置.
我正在使用一个名为dbo_sqlite3.php的文件
我的配置文件使用它来进行驱动程序设置:
'driver' => 'sqlite3',
如何使用SQLite3 CakePHP:
质量要求:
CakePHP版本1.3
数据源插件
脚步:
解压缩Datasources插件.
编辑dbo_sqlite3.php并添加:
App::import('Datasource','DboSource');
......就在"阶级"定义之前.
在database.php文件中使用以下配置:
var $default = array( 'datasource' => 'Datasources.DboSqlite3', 'login' => '', 'password' => '', 'database' => '/full/path/to/db.sqlite');
完成.