Connexion mysql Mac OS 10.6

Eléphanteau du PHP | 11 Messages

27 mars 2010, 22:29

Bonjour à tous,

Je suis passé de mac os 10.5 à 10.6 et depuis quand j'essaye une connexion avec mysql (mysql_connect) j'obtiens le message suivant

"Safari ne parvient pas à ouvrir la page « http://127.0.0.1/~bioencapsulation/Blocknotes/ » car le serveur a inopinément interrompu la connexion. Ceci arrive parfois lorsque le serveur est occupé. Attendez quelques minutes et essayez à nouveau."

Et pourtant ... phpmyadmin se connecte sans problème. Firefox donne une page blanche (pas de code source).

J'ai posé la question sur plusieurs forums sans réponses. J'ai réinstallé mon système pas d'amélioration ... Je suis au désespoir.

Un conseil est le bienvenu ...

Merci d'avance

Denis

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

28 mars 2010, 01:20

Bonjour,

Si phpmyadmin fonctionne normalement alors c'est que tes serveurs Apache, PHP et MySQL fonctionnent correctement.
=> Le problème vient probablement de ton code.

Regarde dans les logs voir si il n'y a pas quelque chose d'anormal.
Et sinon, commence par le début en faisant un :
<?php
print "Hello World";
?>
Puis si ça marche une connexion à la BDD, puis si ça marche, teste ta requête, etc... jusqu'à trouver la cause du bug que tu rencontres.
Quand tout le reste a échoué, lisez le mode d'emploi...

Invité
Invité n'ayant pas de compte PHPfrance

28 mars 2010, 12:56

@rthur,

oui, le php fonctionne, mysql fonctionne, apache fonctionne. J'ai vérifié avec différents tests tels que celui que tu proposes.

Le problème semble apparaitre dés que je fais une requète " $link = mysql_connect( _HOST_ , _USER_ , _PWD_ ) ;" . Les _xxx_ sont définis juste avant.

Où sont stocké les logs ? je l'ai su mais oublier.

Merci d'avance

Denis

Eléphanteau du PHP | 11 Messages

28 mars 2010, 15:53

Pour faire avancer le débat

dans phpmyadmin > conf.inc.php j'ai
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
/* Select mysqli if your server has it */
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['AllowNoPassword'] = true;

Je suis reparti de rien pour contruire une connexion et je suis arriver à
<?php
define("_HOST_", "localhost");
define("_USER_", "Root");
define("_PWD_", "");
define ("_DB_", "Blocknote");

mysql_connect( _HOST_ , _USER_ , _PWD_ ) ;

if ( ! $connection )
die ("connection impossible");
?>

Qui me répond "connection impossible" .... et là je suis bloqué.

Bon dimanche

Denis

ViPHP
ViPHP | 5462 Messages

28 mars 2010, 17:15

tas quelle version de mysql ?

Eléphanteau du PHP | 11 Messages

29 mars 2010, 08:38

Ma version de mysql est 5.1.45.

La situation empire ... quand je veux ouvrir phpmyadmin, il s'ouvre mais sans donner les tables et me donne un avertissement

"Certaines fonctionnalités ayant trait aux tables reliées sont désactivées. Pour une analyse du problème, cliquez ici."

Si je clique ...

$cfg['Servers'][$i]['pmadb'] ... en erreur [ Documentation ]
$cfg['Servers'][$i]['relation'] ... en erreur [ Documentation ]
Fonctions relationnelles: désactivé

$cfg['Servers'][$i]['table_info'] ... en erreur [ Documentation ]
Affichage infobulle: désactivé

$cfg['Servers'][$i]['table_coords'] ... en erreur [ Documentation ]
$cfg['Servers'][$i]['pdf_pages'] ... en erreur [ Documentation ]
Génération de schémas en PDF: désactivé

$cfg['Servers'][$i]['column_info'] ... en erreur [ Documentation ]
Commentaires de colonnes: désactivé
Transformation: désactivé

$cfg['Servers'][$i]['bookmarktable'] ... en erreur [ Documentation ]
Requêtes en signets: désactivé

$cfg['Servers'][$i]['history'] ... en erreur [ Documentation ]
Historique SQL: désactivé

$cfg['Servers'][$i]['designer_coords'] ... en erreur [ Documentation ]
Concepteur: désactivé

$cfg['Servers'][$i]['tracking'] ... en erreur [ Documentation ]
Suivi: désactivé

J'ai l'impression que je ne suis pas sorti du problème ... probablement je vais encore une fois ré-installer mon ordinateur, pièce par pièce ... ce qui va me faire perdre un bout de temps.

Mais tout conseil est le bien venu.

Denis

ViPHP
ViPHP | 5462 Messages

29 mars 2010, 09:54

fait un petit fichier avec ca et lance le
<pre>
<?php
    set_exception_handler('printf');
    $pdo = new PDO('mysql:host=127.0.0.1;', 'root', '');

Eléphanteau du PHP | 11 Messages

29 mars 2010, 10:21

Merci de me répondre.

J'ai un problème avec ton code car je ne reçois que

<pre>
<?php
set_exception_handler('printf');
$pdo = new PDO('mysql:host=127.0.0.1;', 'root', '');

J'ai ajouté

?>
</pre>

La réponse est (en regardant le code)
<pre>
<pre>

ce qui ne nous avance pas beaucoup.

Je vais réinstaller phpmyadmin.

Amicalement

Denis

ViPHP
ViPHP | 5462 Messages

29 mars 2010, 10:26

t'es sur que PHP est activer sur le serveur

fait :
<?php
    phpinfo();

Eléphanteau du PHP | 11 Messages

29 mars 2010, 10:57

phpinfo fonctionne san problème (PHP Version 5.3.0)

j'ai réinstallé phpMyAdmin-2.11.10-all-languages-utf-8-only (fonctionne sans problème) mais phpMyAdmin-3.3.1-all-languages me donne un message lors du login "La configuration interdit une connexion sans mot de passe (voir AllowNoPassword)". Sur les anciennes version, on modifiait config.sample.inc.php en config.inc.php et on autorisait le AllowNoPassword. Mais j'ai bien peur que dans cette version cela pose des problèmes (voir ci-dessus).

Mais cela prouve que mysql marche bien.

C'est donc vraiment un bug lié à un fichier d "initialisation" qui doit être utilisé lors de mes requètes mais pas par phpmyadmin. Ou bien au contraire phpmyadmin fait une initialisation que je ne fait pas. Mais quoi ?

Merci de ta patience

Denis

ViPHP
ViPHP | 5462 Messages

29 mars 2010, 11:02

dans ton PHP.ini met le
error_reporting a : E_ALL | E_STRICT
(tu redémarres ton serveur en décochant et recochant la case partage)

quelle extension mysql son installé (mysql, mysqli, PDO) ?

Eléphanteau du PHP | 11 Messages

29 mars 2010, 11:37

Voilà j'ai modifié

error_reporting a : E_ALL | E_STRICT (j'ai enlevé le ; devant)

Toujours rien.

Par contre, je ne sais pas ou voir quelles extensions sont installées.

Depuis php phpmyadmin-2.11.10-all-languages-utf-8-only, j'ai trouvé Version du client MySQL: mysqlnd 5.0.5-dev - 081106 - $Revision: 1.3.2.27 $

mais aussi un message dans le bas "La version de votre bibliothèque MySQL (mysqlnd 5.0.5-dev - 081106 - $Revision: 1.3.2.27 $) diffère de la version de votre serveur MySQL (5.1.45). Ceci peut occasionner un comportement imprévisible."

Peut-être une piste, mais alors comment corriger cela ? Peut-être désinstaller mysql (How ?) puis reinstaller une version plus propre.

Au moins c'est bon d'avoir des réponses, cela fait réfléchir.

Amicalement

Denis

ViPHP
ViPHP | 5462 Messages

29 mars 2010, 11:50

fallais pas enlever le ";"
c'est plus bas qui faut modifié la valeur

Eléphanteau du PHP | 11 Messages

29 mars 2010, 11:58

Bon, on apprend tous les jours ... même quand on est plus très jeune.

Voilà j'ai remis en l'état le fichier puis modifier plus bas, redémarrer apache, redémarrer safari (au cas où) et ... rien

C'est vraiment bizarre mais le code est-il bien

<?php
set_exception_handler('printf');
$pdo = new PDO('mysql:host=127.0.0.1;', 'root', '');
?>

Il n'apparait pas bien sur mon écran (ni sur le télépchargement)

Denis

Eléphanteau du PHP | 11 Messages

29 mars 2010, 12:11

En regardant php.ini, j'ai vu que j'avais des display_startup_errors et error_log à Off, j'ai mis à On.

J'ai aussi ajouté à ton test les lignes suivantes

<?php
define("_HOST_", "ldenis-poncelet-6.local");
define("_USER_", "root");
define("_PWD_", "");
define ("_DB_", "Blocknote");

mysql_connect( _HOST_ , _USER_ , _PWD_ ) ;

if ( ! $connection )
die ("connection impossible");


?>

et j'obtiens en regardant le code source

Warning: mysql_connect(): php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known in /Users/Bioencapsulation/Sites/test_mysql.php on line 25

Warning: mysql_connect(): [2002] php_network_getaddresses: getaddrinfo failed: nodename nor servn (trying to connect via tcp://ldenis-poncelet-6.local:0) in /Users/Bioencapsulation/Sites/test_mysql.php on line 25

Warning: mysql_connect(): php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known in /Users/Bioencapsulation/Sites/test_mysql.php on line 25

Notice: Undefined variable: connection in /Users/Bioencapsulation/Sites/test_mysql.php on line 27
connection impossible

la ligne 25 est mysql_connect( _HOST_ , _USER_ , _PWD_ ) ;

Ce que je ne comprends pas c'est que sur la page safari elle même le message n'est pas lisible (Waig S s _co ....) et j'ai un peu le même problème avec le code sur ce site. Mais si je copie et colle ce texte il devient visible. Par contre dans firefox, le message apparait en clair.

Je pense que l'on avance ... mais franchement je ne sais pas si c'est grand pas.

Denis