Bonjour, Je crois que cette question doit être fréquente et peut être, même, bien vous ennuyez. Mille pardons.
Je n'arrive pas à trouver la solution de la connexion à ma bdd, le fichier database.php est bien configuré comme précisé sur la vidéo, mais pas de connexion possible.
Je suis sous mageia3 (distribution linux) je ne sais pas quel fichier et quelle ligne modifier pour résoudre ce problème.
Merci de votre aide.

6 réponses


papulus
Auteur
Réponse acceptée

Bonjour, je confirme ma nullitude.
urpmi php-pdo_mysql
m'a installer le pilote pdo pour mysql.
merci à vous pour vos conseils.

Hum... On a pas beaucoup d'information dis donc... - Revérifies la syntaxe de ton fichier database.php (linux /!\ problème de casse / une ligne que tu as décommenté sans faire expreès etc...) - Regardes si dans ton php.ini l'extension pdo_mysql.so est dé-commentée**

papulus
Auteur

Bonjour, j'ai reverifié le database.php

public $default = array(
        'datasource' => 'Database/Mysql',
        'persistent' => false,
        'host' => 'localhost',
        'login' => 'root',
        'password' => 'pass',
        'database' => 'fred',
        'prefix' => '',
        'encoding' => 'utf8',
    );

j'ai 2 utilisateurs possible root ou fred.
j'ai essayé ça

$hostname = "localhost";
$username = "root";
$password = "pass";
try { 
  $db = new PDO("mysql:host=$hostname;dbname=fred", $username, $password);
  echo "Connected to database"; 
}
catch(PDOException $e) { 
  echo $e->getMessage(); 
}
echo "<br />début de connexion<br />";
$connect = mysql_connect("localhost","fred","pass") or die("Connexion impossible");
mysql_select_db("fred",$connect) or die("je ne trouve pas fred sur localhost");
echo "fin de connexion";

La connexion en pdo ne trouve pas les drivers, et la connexion classique ne se fait même pas, même pas un affichage du 'die', pas même le dernier echo "fin de connexion".
voici un extrait de mon php.ini (/etc/php.ini)

[Pdo]
; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off"
; http://php.net/pdo-odbc.connection-pooling
;pdo_odbc.connection_pooling=strict
;pdo_odbc.db2_instance_name
[Pdo_mysql]
; If mysqlnd is used: Number of cache slots for the internal result set cache
; http://php.net/pdo_mysql.cache_size
pdo_mysql.cache_size = 2000
; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.
; http://php.net/pdo_mysql.default-socket
pdo_mysql.default_socket=

je n'ai pas l'extension pdo_mysql.so
et phpmyadmin fonctionne très bien.

fais un phpinfo() et un locate pdo_mysql.so pour voir ou on en est :s

Je suis désolé mais je ne suis pas très bon en réseau et ton problème m'a tout l'air d'être un probleme serveur et non sur cakephp...

Jai eu ça sur Mac et je l'ai résolu de cette manière : http://stackoverflow.com/questions/19280245/cakephp-database-connection-mysql-is-missing-or-could-not-be-created. Vu que MacOS et Linux partagent la même base UNIX, cela fonctionnera peut être pour toi.

papulus
Auteur

Je confirme que cakephp n'y est pour rien, tu as raison coloo, c'est mon installation qui n'est pas bonne. après une réinstallation de php je me connecte en traditionel, mais toujours pa en pdo. Malgré tout ... ça avance.
j'ai essayé en precisant le socket, mais ce n'est toujours pas ça.
Ca va marcher ... un jour...
merci