Bonjour,
J'ai créé une application sous CakePHP en partant du tutoriel "créer un site avec CakePHP". Cette application fonctionne parfaitement en local mais une fois sur l'hébergeur (OVH), impossible de me connecter à la DB. Pourtant, mes identifiants sont correct (je les ai testé plusieurs fois).
Lorsque j'essaie d'accéder au site, j'ai ceci:

(J'ai remplacé mes identifiants par "username", "login", "password" et "database")

Quelqu'un aurait-il une solution ?

Notice (8): Use of undefined constant ‘login’ - assumed '‘login’' [CORE/Cake/Model/ConnectionManager.php, line 67]
Notice (8): Use of undefined constant password - assumed ‘‘password’’ [CORE/Cake/Model/ConnectionManager.php, line 67]
Notice (8): Use of undefined constant ‘database’ - assumed '‘database’' [CORE/Cake/Model/ConnectionManager.php, line 67]
Fatal Error (256): [MissingConnectionException] Database connection "SQLSTATE[28000] [1045] Access denied for user '‘database'@'10.0.64.155' (using password: YES)" is missing, or could not be created.
#0 /home/username/www/dev/cakephp/lib/Cake/Model/Datasource/DboSource.php(244): Mysql->connect()
#1 /home/username/www/dev/cakephp/lib/Cake/Model/ConnectionManager.php(99): DboSource->__construct(Array)
#2 /home/username/www/dev/cakephp/lib/Cake/Model/Model.php(3234): ConnectionManager::getDataSource('default')
#3 /home/username/www/dev/cakephp/lib/Cake/Model/Model.php(2452): Model->getDataSource()
#4 /home/username/www/dev/cakephp/app/Controller/PagesController.php(14): Model->find('all', Array)
#5 [internal function]: PagesController->menu()
#6 /home/username/www/dev/cakephp/lib/Cake/Controller/Controller.php(476): ReflectionMethod->invokeArgs(Object(PagesController), Array)
#7 /home/username/www/dev/cakephp/lib/Cake/Routing/Dispatcher.php(106): Controller->invokeAction(Object(CakeRequest))
#8 /home/username/www/dev/cakephp/lib/Cake/Routing/Dispatcher.php(88): Dispatcher->_invoke(Object(PagesController), Object(CakeRequest), Object(CakeResponse))
#9 /home/username/www/dev/cakephp/lib/Cake/Core/Object.php(88): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse), Array)
#10 /home/username/www/dev/cakephp/app/View/Elements/menu.ctp(1): Object->requestAction(Array)
#11 /home/username/www/dev/cakephp/lib/Cake/View/View.php(598): include('/home/username/...')
#12 /home/username/www/dev/cakephp/lib/Cake/View/View.php(320): View->_render('/home/username/...', Array)
#13 /home/username/www/dev/cakephp/app/View/Layouts/default.ctp(17): View->element('menu', Array, Array)
#14 /home/username/www/dev/cakephp/lib/Cake/View/View.php(598): include('/home/username/...')
#15 /home/username/www/dev/cakephp/lib/Cake/View/View.php(414): View->_render('/home/username/...')
#16 /home/username/www/dev/cakephp/lib/Cake/View/View.php(376): View->renderLayout('

?
render('error500', NULL)
#18 /home/username/www/dev/cakephp/lib/Cake/Error/ExceptionRenderer.php(281): Controller->render('error500')
#19 /home/username/www/dev/cakephp/lib/Cake/Error/ExceptionRenderer.php(194): ExceptionRenderer->_outputMessageSafe('error500')
#20 [internal function]: ExceptionRenderer->_cakeError(Object(MissingBehaviorClassException))
#21 /home/username/www/dev/cakephp/lib/Cake/Error/ExceptionRenderer.php(170): call_user_func_array(Array, Array)
#22 /home/username/www/dev/cakephp/lib/Cake/Error/ErrorHandler.php(127): ExceptionRenderer->render()
#23 [internal function]: ErrorHandler::handleException(Object(MissingBehaviorClassException))
#24 {main} [CORE/Cake/Error/ErrorHandler.php, line 136]

Merci d'avance !

14 réponses


Carouge10
Réponse acceptée

Remplacer les ‘ par des '

Bonsoir,

Essayer de ne pas remplacer "database", mais de laisser "localhost".

Mass
Auteur

Je vien d'essayer mais ça ne fonctionne pas

Bonjour,

dans la déclaration de la connexion , tu n'as pas oublié des guillemets? Tu as pas d'accent dans le login ? , l'encodage est bon ?

Mass
Auteur

Non tout est correct, j'ai copié/collé directement depuis phpmyadmin pour être sûr mais rien n'y fait

Possibilité de voir le fichier "database.php" du dossier app/config ?

Mass
Auteur

bien sûr, voici les données de connexion, je n'ai pas touché au reste :
(encore une fois j'ai remplacé mes identifiants par user, login, password et database. Ces identifiant fonctionne lorsque je me connecte à phpmyadmin)

class DATABASE_CONFIG {

    public $default = array(
        'datasource' => 'Database/Mysql',
        'persistent' => false,
        'host' => 'user.mysql.db',
        'login' => ‘login’,
        'password' => ‘password’,
        'database' => ‘database’,
        'prefix' => '',
        'encoding' => 'utf8',
    );
Mass
Auteur

CA MARCHE ! Merci infiniment !! :-))

Vous utiliser quel logiciel pour éditer vos fichiers php ?

Bonsoir.
Marques ton sujet comme résolu alors.
Merci.

Mass
Auteur

Carouge10, j'éditais avec TextEdit directement sur le ftp mais à partir de maintenant, j'éditerai mes fichiers avec Sublime Text et les renverrai sur le ftp.

Lartak, en vrai noob, je ne trouve pas où se trouve la cloture de sujet :/

Il doit y avoir un lien au niveau des posts des autres utilisateurs, et tu cliques au niveau de celui qui à permis de résoudre ton problème.
Pour info, ça ne clôture pas ton sujet, mais ça le marque comme résolu, cela permet aux autres utilisateur de savoir que l'auteur du sujet à pu avoir une solution à son problème et pour ceux qui ont le même problème que l'auteur de retrouver plus facilement un sujet qui leur permettra de résoudre le leur ou en tout cas d'avoir une/des piste(s).

Mass
Auteur

J'ai trouvé ^^ merci

Ok, de rien. :)