Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1543 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [Apache/PHP/MySQL] Newbie - Pb de connecxion distante (en local: OK)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Apache/PHP/MySQL] Newbie - Pb de connecxion distante (en local: OK)

n°1156574
Yoyo@
Posté le 21-07-2005 à 22:01:14  profilanswer
 

Salut,
 
J'ai récemment installé sur ma machine le trio Apache (2.0.54)/PHP (4.4.0)/MySQL (5.xx)
 
A priori, tout marche bien, je me suis fait une petite page PHP, se connectant à ma base MySQL, et elle affiche les données.
 
Cependant, j'ai voulu faire essayer cette même page à un ami, donc, à partir d'un ordinateur distant. Le début de la page (la partie PHP) s'affiche bien, mais au bout d'un certain timeout, il obtient l'errreur suivante:
 

Code :
  1. Warning: mysql_connect(): Can't connect to MySQL server on '127.0.0.1' (10061) in C:\Program Files\Apache Group\Apache2\BWTests\Test2SimpleTable.php on line 8
  2. Could not connect: Can't connect to MySQL server on '127.0.0.1' (10061)


 
A priori, en lancant la page, PHP n'arrive pas à se connecter à la base MySQL.
La chaîne de connection dans ma page PHP est la suivante:
 

Code :
  1. $link = mysql_connect('127.0.0.1', '', '') or die('Could not connect: ' . mysql_error());


 
A vrai dire, je ne me suis pas soucié pour le moment des users, etc. Je voulais juste opbtenir quelque chose de simple marchant pour tout le monde.
 
Je ne comprends pas pourquoi ca ne marcherait pas en utilisant un client distant, sachant que c'est PHP qui se connecte à la base, et non pas le client directement. Il ne devrait donc pas y avoir de différence, et le tout devrait marcher aussi bien de mon propre ordi (donc mon serveur) que d'un ordinateur distant?

mood
Publicité
Posté le 21-07-2005 à 22:01:14  profilanswer
 

n°1156589
sielfried
Posté le 21-07-2005 à 22:17:39  profilanswer
 

Effectivement ça paraît louche. Vous avez testé au même moment ? On sait jamais que t'ais stoppé mysql entre temps. :whistle:


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1156593
Yoyo@
Posté le 21-07-2005 à 22:19:36  profilanswer
 

On a testé 50 fois.
 
Est ce que quand PHP accède à MySQL, il lui donne par un moyen ou par un autre des infos sur le client, genre le login Windows, oua lors l'IP du client ou autre?

n°1156612
Yoyo@
Posté le 21-07-2005 à 22:40:19  profilanswer
 

Ny a til pa smoyen pour moi de voir ce qu'il se passe de maniere interne?
 
Sinon, je démarre mon serveur MySQL n faisant un mysqld --skip-grant-tables, comme ca, je suis sur qu'il n'y a pas de probleme de login (de toute facon, si y avait un pb de login, je n'aurais pas ce message)
 
Est ce que ca ne pourrait pas etre un pb de port? Genre il utilise un port différent de connection quand l'appel est lancé dun client externe?


Message édité par Yoyo@ le 22-07-2005 à 07:36:47
n°1156628
sielfried
Posté le 21-07-2005 à 22:48:47  profilanswer
 

A mon avis ton truc bloque les requêtes externes sur le port 3306. T'aurais pas 2K server ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1156744
Yoyo@
Posté le 22-07-2005 à 07:23:55  profilanswer
 

Alors:
 
Je suis sous WinXP Pro.
 
Et j'ai un firewall (routeur Wifi Firewall Netgear)
 
Ce que je ne comprends pas, c'est que tu me parles de "requetes externes", mais si je ocmprends bien, c'est bien PHP qui lance une requete sous MySQL. Les deux étant installés sur la même machine, pourquoi parler de requête externe?

n°1156791
sielfried
Posté le 22-07-2005 à 09:33:31  profilanswer
 

Je sais pas exactement comment marche MySQL avec PHP, il me semble juste avoir déjà entendu parler d'un problème similaire et c'était une histoire de port 3306 bloqué ou dans le genre.
 
Sinon t'as essayé avec localhost au lieu de 127.0.0.1 ? Je viens de trouver ça après une petite recherche :
 
If you are asking, can I setup my test server just like the production server and run the same exact scripts without having to modify the mysql_connection information, the answer is Yes, if the server parameter in your mysql_connect function for your connection is localhost. Whenever you specify "localhost" or "localhost:port" as server, the mysql client library will override this and try to connect to a local socket (named pipe on Windows). If you want to use TCP/IP, use "127.0.0.1" instead of "localhost".


Message édité par sielfried le 22-07-2005 à 09:33:57

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1156794
Yoyo@
Posté le 22-07-2005 à 09:36:35  profilanswer
 

On vient encore de réessayer ce matin.
 
Et dans mon error.log (serveur Apache), voici ce que j'ai:
 

Code :
  1. [Fri Jul 22 09:25:29 2005] [error] [client xx.xx.xx.xx] PHP Warning:  mysql_connect(): Can't connect to MySQL server on '127.0.0.1' (10061) in C:\\Program Files\\Apache Group\\Apache2\\BWTests\\Test2SimpleTable.php on line 9
  2. [Fri Jul 22 09:25:41 2005] [error] [client xx.xx.xx.xx] PHP Warning:  mysql_connect(): Can't connect to MySQL server on 'Localhost' (10061) in C:\\Program Files\\Apache Group\\Apache2\\BWTests\\Test3SimpleTableWithLayout.php on line 31


 
Donc, en fait, sur Test2, j'essaie avec 127.0.0.1 et sur Test3, j'essaie avec localhost, mais le résultat est le même.
 
Sinon, j'ai ouvert mon port 3306 (Port Forwarding), mais rien n'y fait.


Message édité par Yoyo@ le 22-07-2005 à 09:38:16
n°1156795
Yoyo@
Posté le 22-07-2005 à 09:41:17  profilanswer
 

Sinon, en testant depuis chez moi, quand je fais un  
 
http://monIP/Tests/Test3SimpleTableWithLayout.php
 
ou un
 
http://127.0.0.1/Tests/Test3SimpleTableWithLayout.php
 
Ca marche pareil, c'est à dire parfaitement.

n°1156841
Yoyo@
Posté le 22-07-2005 à 10:15:25  profilanswer
 

Je viens d'essayer avec une autre personne se connectant chez moi depuis la Suisse, et ca ne marche toujours pas.
 
Puis là, je viens d'essayer avec mon 2ème ordi (connecté sur mon routeur en Wifi), en tapant les requetes:
 

Code :
  1. http://192.168.0.2/Tests/Test2SimpleTable.php


 
et
 

Code :
  1. http://192.168.0.2/Tests/Test3Simp [...] Layout.php


 
Sachant que 192.168.0.2 est l'IP interne de l'ordi sur lequel se trouve le serveur, et ça marche parfaitement...
 
Je n'arrive vraiment pas à concevoir pourquoi ca ne marche pas. Car la seule différence entre les différents tests est que les tests effectués avec les ordis de mon réseau marchent bien, alors que ceux effectués depuis l'extérieur ne marchent pas.
 
Mais la connection PHP-MySQL est interne au serveur non? PHP ne repasse pas par l'ordinateur client pour se connecter à MySQL? Ca ne rimerait à rien??

mood
Publicité
Posté le 22-07-2005 à 10:15:25  profilanswer
 

n°1156991
Yoyo@
Posté le 22-07-2005 à 11:50:08  profilanswer
 

Bon, en observant le log MySQL, et en demandant à des  amis d'essayer, je constate que la même chose est loggée, que ce soit moi ou eux qui tentent de se connecter (mais avec eux, ça ne marche pas)
 
Voici le log:
 

Code :
  1. 050722 11:44:00      19 Connect     ODBC@localhost as anonymous on
  2.       19 Init DB     mydb
  3.       19 Query       SELECT * FROM facet LIMIT 100
  4.       19 Quit


 
Ce script montre donc que la requête MySQL est bel et bien lancée alors que du point de vue client, il apparait qu'il n'y a pas de connection:
 

Code :
  1. Warning: mysql_connect(): Can't connect to MySQL server on '127.0.0.1' (10061) in C:\Program Files\Apache Group\Apache2\BWTests\Test2SimpleTable.php on line 8
  2. Could not connect: Can't connect to MySQL server on '127.0.0.1' (10061)


 
Bref, je n'arrive vraiment pas à comprendre... :(


Message édité par Yoyo@ le 22-07-2005 à 11:50:28
n°1157084
Yoyo@
Posté le 22-07-2005 à 12:39:44  profilanswer
 

Bon, finalement, il s'avère que la connexion marche, amsi que l'affichage de la table ne marche pas.
 
Je trouvais ca bizarre que dans le log MySQL, il montrait la requête...
 
Donc, a priori, MySQL renvoie les enregistrements à Apache/PHP, mais ceux ci ne sont pas retournés au client, et il y a juste une progress bar hyper lente, sans message d'erreur. (je parle toujours ici des clients distants)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [Apache/PHP/MySQL] Newbie - Pb de connecxion distante (en local: OK)

 

Sujets relatifs
[HTML/PHP] Récupérer une donnéeImage sous PHP
[PHP] tester si c'est un dossierTransfert de données Excel vers une base MySQL
PHP fait n'importe quoi avec les XML dès qu'ils dépassent 200 ko ?[PHP] Liste déroulant et variable
[MySQL] Lister les tables de manière flexible (tri, etc...)Modélisation d'une base de donnée sous MySQL
[MySQL / STUNNEL] Problème de connexion[Mysql] Insert -> auto increment
Plus de sujets relatifs à : [Apache/PHP/MySQL] Newbie - Pb de connecxion distante (en local: OK)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR