I ran into the same problem, tested PDO support in the same way, same result.
The following script (which I wrote) can help ensure that our settings are in order:
<?php include("../new-project/app/Config/database.php"); $config= new DATABASE_CONFIG(); $name = 'default'; $settings=$config->{$name}; $dsn = 'mysql:dbname='.$settings['database'].';host='.$settings['host']; $user = $settings['login']; $password = $settings['password']; try { $dbh = new PDO($dsn, $user, $password); echo "Connection succeeded with dsn: ". $dsn . "\n"; $sql = 'SELECT id, title FROM posts'; echo "Here is the contents of the table `posts:"; foreach ($dbh->query($sql) as $row) { print $row['id'] . "\t" . $row['title'] . "\n"; } } catch (PDOException $e) { echo 'PDO error: ' . $e->getMessage(); } ?>
And it works great:
mich@dennet :~/www/learn/cakePHP/tools$ php test-pdo.php Connection succeeded with dsn: mysql:dbname=test;host=localhost Here is the contents of the table `posts:1 The title 3 Title strikes back 4 Once again is back
FYI, here is the version information:
mich@dennet :~/www/learn/cakePHP/tools$ php --version PHP 5.4.9-4ubuntu2.3 (cli) (built: Sep 4 2013 19:32:25) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies with Xdebug v2.3.0dev, Copyright (c) 2002-2012, by Derick Rethans
Will there be a problem with the paths? Here is my baked interaction:
mich@dennet :~/www/learn/cakePHP/new-project$ /usr/local/bin/cake -app /home/mich/www/learn/cakePHP/new-project/app bake Welcome to CakePHP v2.4.1 Console --------------------------------------------------------------- App : app Path: /home/mich/www/learn/cakePHP/new-project/app/ ... What would you like to Bake? (D/M/V/C/P/F/T/Q) > m --------------------------------------------------------------- Bake Model Path: /home/mich/www/learn/cakePHP/new-project/app/Model/ --------------------------------------------------------------- Use Database Config: (default/forbaking) [default] > Error: Database connection "Mysql" is missing, or could not be created. #0 /usr/local/share/cakePHP/cakephp/lib/Cake/Model/Datasource/DboSource.php(262): Mysql->connect() #1 /usr/local/share/cakePHP/cakephp/lib/Cake/Model/ConnectionManager.php(107): DboSource->__construct(Array) #2 /usr/local/share/cakePHP/cakephp/lib/Cake/Console/Command/Task/ModelTask.php(927): ConnectionManager::getDataSource('default') #3 /usr/local/share/cakePHP/cakephp/lib/Cake/Console/Command/Task/ModelTask.php(864): ModelTask->getAllTables(NULL) #4 /usr/local/share/cakePHP/cakephp/lib/Cake/Console/Command/Task/ModelTask.php(953): ModelTask->listAll(NULL) #5 /usr/local/share/cakePHP/cakephp/lib/Cake/Console/Command/Task/ModelTask.php(205): ModelTask->getName() #6 /usr/local/share/cakePHP/cakephp/lib/Cake/Console/Command/Task/ModelTask.php(93): ModelTask->_interactive() #7 /usr/local/share/cakePHP/cakephp/lib/Cake/Console/Command/BakeShell.php(111): ModelTask->execute() #8 /usr/local/share/cakePHP/cakephp/lib/Cake/Console/Shell.php(435): BakeShell->main() #9 /usr/local/share/cakePHP/cakephp/lib/Cake/Console/ShellDispatcher.php(210): Shell->runCommand(NULL, Array) #10 /usr/local/share/cakePHP/cakephp/lib/Cake/Console/ShellDispatcher.php(68): ShellDispatcher->dispatch() #11 /usr/local/share/cakePHP/cakephp/app/Console/cake.php(37): ShellDispatcher::run(Array) #12 {main}
I also tried:
mich@dennet :/usr/local/share/cakePHP/cakephp$ app/Console/cake bake
without any success.
Now I suspect that the data source itself ...
NTN
Michelle
rockyroad
source share