I have a rather basic problem: I can't seem to connect CakePHP to my SQLite database. Surprisingly, I didn't find lots of information about it on the internet, though I may be looking up the wrong keywords. Nevertheless, this is my connection code:
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' => ''
);
Still, Cake only says "Cake is NOT able to connect to the database". Also, I don't know where to see the "real" logs (i.e., the error returned from the SQLite "driver"). So, I hit a dead-end. What should I do?
Thanks in advance.
As of CakePHP 2.0, Sqlite 3 is supported out of the box.
Be sure that sqlite is enabled in your PHP configuration:
phpinfo();
Inside app/Config/databases.php
you can define Sqlite database like this:
public $default = array(
'datasource' => 'Database/Sqlite',
'persistent' => false,
'database' => 'my_database_name',
'prefix' => '',
'encoding' => 'utf8',
);
Now check your app/webroot/my_database_name.sqlite
file.
SQLite3 is not officially supported yet by CakePHP... probably because the file attached to this bug/enhancement works.
https://trac.cakephp.org/ticket/3003
Grab the latest version of the file, update it with any newer patches, upload it to your cake/libs/model/datasources/dbo
directory and configure it in your database.php file.
I am using a file called dbo_sqlite3.php
My configuration file uses this for the driver setting:
'driver' => 'sqlite3',
How to CakePHP with SQLite3:
Requirments:
Steps:
Unpack the Datasources plugin in place.
Edit dbo_sqlite3.php and add:
App::import('Datasource','DboSource');
...just before the 'class' definition.
Use the following configuration in your database.php file:
var $default = array(
'datasource' => 'Datasources.DboSqlite3',
'login' => '',
'password' => '',
'database' => '/full/path/to/db.sqlite');
Done.
Are you trying to connect to a SQLite 3 database? CakePHP doesn't support them yet.
Other than that, you might want to try adding the leading /
in your path. Seems like you're trying to do an absolute path but without the leading slash it's not going to do what you think it's going to do.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With