[zf2] Erreur au niveau de la connexion au BD [Résolu]

Nouvelle_Informaticienne 129 Messages postés mercredi 20 avril 2016Date d'inscription 27 novembre 2017 Dernière intervention - 27 nov. 2017 à 10:07 - Dernière réponse :  Mieux de ne pas répondre que de répondre mal
- 27 nov. 2017 à 12:49
Bonjour,

Donc voila mon problème, j'ai commencé un projet sur zend framework 2 avec le squelette et le tuto du site officiel de zend.

J'utilise Oracle et je suis le tuto à la lettre, pas d'erreurs jusqu'à l'étape "Listing albums" , mais voila au moment de la connexion à la base de données avec PDO, j'ai cette erreur là :

SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)


au niveau du fichier :

/home/www/hajar/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Driver/Pdo/Connection.php:281


je ne sais pas du tout l'origine de cette erreur ! Donc voila je ne sais plus quoi faire si vous pouviez m'aider ce serait super.

Merci !


Afficher la suite 
129Messages postés mercredi 20 avril 2016Date d'inscription 27 novembre 2017 Dernière intervention

6 réponses

Répondre au sujet
jordane45 19201 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 10 décembre 2017 Dernière intervention - 27 nov. 2017 à 11:14
0
Utile
5
Bonjour,

Tu nous dis :

J'utilise Oracle


et le message d'erreur indique :

Can't connect to local MySQL


pourrais tu nous montrer ta chaine de connexion ?
Tu utilises une bdd mysql ou une bdd oracle ? Si oracle, quelle version ?

Tu travailles en local ou sur un serveur ?
Ta bdd est sur le même serveur que ton site php ou un serveur distant ?
Si tu es en local, tu utilises "localhost" ? Si oui, essaye avec "127.0.0.1"


Si ta bdd est bien ORACLE et non MYSQL, as tu changé, dans ton fichier autoload/global.php, la configuation pour pointer sur le driver OCI8 (et non PDO ) ?
return array(
     'db' => array(
'driver'         => 'OCI8',
        'connection_string' => 'localhost/orcl',
        'character_set' => 'AL32UTF8',
),
     'service_manager' => array(
         'factories' => array(


voici une doc sur le sujet :
https://blogs.oracle.com/opal/getting-started-with-php-zend-framework-2-for-oracle-db

.
Nouvelle_Informaticienne 129 Messages postés mercredi 20 avril 2016Date d'inscription 27 novembre 2017 Dernière intervention - 27 nov. 2017 à 12:04
merci pour votre réponse.
voici le fichier que j'ai modifié global.php


return array(
'db' => array(
'driver' => 'OCI8',
'dsn' => 'mysql: dbname=RPI_TEST;host=http:dsi-zend-test',
'driver_options' => array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
),
),
'service_manager' => array(
'factories' => array(
'Zend\Db\Adapter\Adapter'
=> 'Zend\Db\Adapter\AdapterServiceFactory',
),
),
);


Oui c'est la première fois que j'utilise Oracle,
Je travaille sur un serveur et non pas sur le local.
Normalement la BDD est sur le meme serveur
Je ne suis pas sur le Local

l'erreur maintenant est la suivante après une modification au niveau de global.php

Connection error


Dans lr fichier que je pense je n'ai pas touché !! :

/home/www/hajar/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Driver/Oci8/Connection.php:206
jordane45 19201 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 10 décembre 2017 Dernière intervention > Nouvelle_Informaticienne 129 Messages postés mercredi 20 avril 2016Date d'inscription 27 novembre 2017 Dernière intervention - 27 nov. 2017 à 12:06
Ne sais tu pas faire un copier/coller ?
As tu été voir la doc que je t'ai donné ?
Nouvelle_Informaticienne 129 Messages postés mercredi 20 avril 2016Date d'inscription 27 novembre 2017 Dernière intervention - 27 nov. 2017 à 12:17
Je sais bien faire des copier / coller mais n'oubliez pas que j'apprend Oracle et Zend du coup je préfère comprendre et tester, pour au moins comprendre un peu surtout que je débute avec Oracle et Zend.

Je suis entrain de voir la doc que vous m'avez passé.

Merci !
jordane45 19201 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 10 décembre 2017 Dernière intervention > Nouvelle_Informaticienne 129 Messages postés mercredi 20 avril 2016Date d'inscription 27 novembre 2017 Dernière intervention - 27 nov. 2017 à 12:21
Enfin quand même....
Je te donne ça
     'db' => array(
'driver'         => 'OCI8',
        'connection_string' => 'localhost/orcl',
        'character_set' => 'AL32UTF8',
),

et toi tu nous montres ça ....
db' => array(
        'driver'         => 'OCI8',
        'dsn'            => 'mysql: dbname=RPI_TEST;host=http:dsi-zend-test',
        'driver_options' => array(
            PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
        )

Même sans faire de copier/coller.... si tu cherches à comprendre... tu commences par comparer entre ce que tu as écrits et ce qu'on t'indique... c'est tout de même le minimum....

Bonne continuation.
Mieux de ne pas répondre que de répondre mal - 27 nov. 2017 à 12:49
Merci mais j ai comparé entre les deux et je me suis dis peut etre le local host dans votre code designe la nom de serveur et je l ai remplacé par le nom de serveur .. j ai fais l erreur de copier http avec le nom de serveur, j ai verifie que c'est bien OCI8 comme vous avez dit ! Et j ai gardé les autres lignes là ou vous avez rien mentionné! Si je ne cherche pas a comprendre et a apprendre et je ne vais pas poser ma questiin sur le forum et attendre des explorations ! Et aussi des ( des decouragements )
Merci
Commenter la réponse de jordane45