Bonjour,
Je suis actuellement face a un probl�me de taille puisque cela fait plus de trois jours que je ne trouver pas de solution, m�me apr�s avoir consulter google...
Explications:
Je suis en train de cr�er un site web avec php/mysql. Et n'ayant pas acc�s directement aux serveurs apache et mysql, je me suis installer sur mon PC un WAMPSERVER histoire de d�velopper tranquille et ensuite tous transf�rer sur le serveur d�dier UNIX (RedHat).
J'utilise PDO pour la connexion a mysql.
Mon WAMPSERVER est a jour, (trop peut �tre...):
-APACHE 2.2.17
-PHP 5.3.4
-MySql 5.1.53
Tous marche a la perfection sur ce serveur.
Puis est venu le temps de basculer sur le redhat pour test et mise en ligne...
Probl�me:
J�obtiens ici un des probl�me les plus �trange auquel j'ai jamais �t� confronte:
toutes les pages se connectant via PDO a mysql foire et reste blanche sans rien afficher (m�me avec des echo ni m�me du HTML) j�obtiens de mani�re compl�tement al�atoire certaines erreurs venant de PDO.
version sur le serveur:
-Mysql 5.0.77
-PHP 5.1.6
-Apache 2.2.3
bien que les version soit diff�rente PDO est installer avec les drivers.
Petit code que j'ai trouver sur le site:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13 foreach(get_loaded_extensions() as $extension) { if(strpos(strtolower($extension), 'pdo') !== FALSE) { echo $extension.'<br/>'; } } //Affiche PDO pdo_mysql pdo_sqlite
En voila un exemple:
code de la ligne correspondante (mais ca ne vien pas de la je crois donc):
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5 Warning: PDO::prepare() [function.PDO-prepare]: SQLSTATE[HY000]: General error: constructor arguments must be passed as an array in /www3/OOV/oov/actu/postActu_PDO.php on line 36 Warning: PDO::prepare() [function.PDO-prepare]: SQLSTATE[HY000]: General error: failed to instantiate user-supplied statement class in /www3/OOV/oov/actu/postActu_PDO.php on line 36 Fatal error: Call to a member function execute() on a non-object in /www3/OOV/oov/actu/postActu_PDO.php on line 83
code de la connexion:
Code : S�lectionner tout - Visualiser dans une fen�tre � part $res = $mysqlcnx->query("SELECT * FROM actualites ORDER BY Priority");
Je me tue a essayer de trouver une solution, j'ai aussi jeter un �il au log sql:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10 try { $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $pdo_options[PDO::ATTR_PERSISTENT] = false; $mysqlcnx = new PDO("mysql:host=localhost;dbname=newsoov", '$login', '$mdp', $pdo_options); } catch (Exception $e) { die("An error occured: " . $e->getMessage()); }
qui aparait a chaque tentative de connection... doc internet pas tres bavard la dessus (je meme tester ce que Mysql preconnise dans ce genre de cas...)
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2 110722 16:50:57 [Warning] Aborted connection 2 to db: 'dbName' user: 'userName' host: 'localhost' (Got an error reading communication packets)
J'ai aussi fait des tests sur le retour de la fonction PDO et il me retourne un objet PDO, vide...:
affiche:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11 var_dump($mysqlcnx); print_r($mysqlcnx); if ($mysqlcnx == NULL) { ECHO "NULL"; } else { ECHO "PAS NULL"; }
Help please, je suis dans le caca!
Code : S�lectionner tout - Visualiser dans une fen�tre � part object(PDO)#1 (0) { } PDO Object ( ) NULL
P.S.: le serveur RedHat est en loopback, le 'localhost', c'est normal.
Partager