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

  FORUM HardWare.fr
  Programmation
  PHP

  PHP, d'un serveur à un autre...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PHP, d'un serveur à un autre...

n°1295311
darkendorf
Posté le 31-01-2006 à 09:42:06  profilanswer
 

Bonjour,
Je possède une base mysql sur un serveur que je dois interroger depuis un autre serveur.
Malheureusement ce second serveur autorise les connections distantes uniquement sans identification, ce que je veux absolument éviter (sécurité...).
 
Quelle serait la meilleure solution ?
J'ai pensé à interroger la base en local sur le premier serveur et envoyer la réponse au second, avec un flux rss par exemple, mais n'y connaissant rien je préfère demander s'il n'y a pas un moyen plus simple auquel je n'aurais pas pensé.
 
merci d'avance  :)


Message édité par darkendorf le 31-01-2006 à 12:17:09
mood
Publicité
Posté le 31-01-2006 à 09:42:06  profilanswer
 

n°1295331
darkendorf
Posté le 31-01-2006 à 10:40:31  profilanswer
 

non ?
hem... alors, serait-il possible de faire passer le résultat de ma requête sql dans une variable $_POST[] et de la récupérer sur mon second serveur ?
ça me semble plus rapide ;)

n°1295349
anapajari
s/travail/glanding on hfr/gs;
Posté le 31-01-2006 à 11:06:04  profilanswer
 

Je comprends pas trop l'architecture de ton truc :D
 
Pourquoi est-ce que tu ne fais pas une sorte de "Webservice"? Tes pages sur le 2eme serveur appèlent des pages sur le 1er avec les bons paramètres et ça te renvoie les résultats ( le tout sous forme d'échange de flux XML histoire que ça soit drole).
Et si tu galères un peu sur les passages de params en POST tu peux toujours te servir de curl


Message édité par anapajari le 31-01-2006 à 11:06:30
n°1295360
darkendorf
Posté le 31-01-2006 à 11:16:32  profilanswer
 

en fait je cherche à faire ça vite :p
je dois faire une requête sur ma ma base avec juste un paramètre genre l'id, et en récupérer le résultat (sous forme de tableau).
le plus rapide = le mieux.
donc y'a-t-il un moyen de récupérer mon résultat en variable post (pas get !) ou même carrément la variable php ? (on peut rêver ;))

n°1295380
anapajari
s/travail/glanding on hfr/gs;
Posté le 31-01-2006 à 11:31:34  profilanswer
 

Un truc qu'il faut que tu comprennes c'est que les deux serveurs ne peuvent pas "communiquer entre eux" en php. ça reste du classique "Je demande un truc à mon serveur, il me retourne un flux".
Généralement ce flux est de l'html à afficher dans le navigateur, puisque c'est un navigateur qui demande la page.
Ton cas est un peu plus compliqué, c'est "un serveur" qui demande le resultat d'une page à un autre. Il n'empeche le resultat sera quand même un flux, impossible de conserver les variables d'un serveur à l'autre.
 
Donc voila comment je ferais...
Sur ton serveur ou se trouve la base tu fais un script qui prends un paramètre (ID), qui execute la requete avec celui-ci et qui retourne un flux XML ( parce que je préfère bosser avec et que c'est plus facile pour les tableaux, mais si ça te plait retourne un fichier texte ou ce que tu voudras. L'important c'est d'arriver à le parser facilement).
 
Sur ton serveur distant, tu utilises curl, tu appeles la page créée juste avant avec le bon paramètre ( en post, en get comme tu veux tu peux tout faire avec curl). Ce script va récuperer le flux retourné et tu parses ce flux pour recréer tes variables comme tu veux.
 

n°1295387
darkendorf
Posté le 31-01-2006 à 11:37:10  profilanswer
 

Okiii, donc je ne peux m'extraire du xml. ok.
 
Donc un flux rss (plus simple et me convient amplement) serait appréciable.
Existe-t-il une librairie intégrée par défaut à php permettant de créer et parser ceci sans avoir à activer un module php ? (le fameux serveur refusant d'interroger une base distante et vérouillé avec peu d'options... une m***e absolue)

n°1295393
anapajari
s/travail/glanding on hfr/gs;
Posté le 31-01-2006 à 11:44:52  profilanswer
 

DOM c'est le mieux.
Maintenant si c'est pour faire super simple et que tu as PHP5 simpleXML peut-être suffisant
 
Mais encore un fois le XML n'a rien d'obligatoire, tu peux déjà commencer par un fichier texte!!!

n°1295395
darkendorf
Posté le 31-01-2006 à 11:45:30  profilanswer
 

j'ai trouvé ceci:
 
Serveur BD

Code :
  1. print($ligne1."\n" );
  2. print($ligne2);


dans mon script sur le serveur avec base de donnée
 
 
Serveur 'client'

Code :
  1. $arrstr = file('http://ma/page/requête/sur/serveur/distant.php');


 
qui me récupère une table donc que je peux interroger ainsi :
 

Code :
  1. $ligne1 = $arrstr[1];


 
cela me semble une bonne alternative assez rapide, est-ce que c'est valide ?


Message édité par darkendorf le 31-01-2006 à 11:46:47
n°1295408
anapajari
s/travail/glanding on hfr/gs;
Posté le 31-01-2006 à 11:54:11  profilanswer
 

oui ça marche aussi mais par contre tu pourras pas passer tes variables en post, seuleument en get!!!

n°1295411
darkendorf
Posté le 31-01-2006 à 11:58:29  profilanswer
 

mon but : faire vite ;)
 
donc : ça ira !!!
 
pour éviter les problèmes, je vais juste tester qui appelle ma page, si c'est mon script, depuis le bon serveur : je répond, sinon je redirige : affaire résolue.
Un grand merci pour m'avoir aiguillé.
 
je garde vos réponses sous le bras, je vais bien me mettre au xml un jour :)

mood
Publicité
Posté le 31-01-2006 à 11:58:29  profilanswer
 

n°1295429
darkendorf
Posté le 31-01-2006 à 12:18:27  profilanswer
 

la bonne blague :
Warning: file(): URL file-access is disabled in the server configuration
 
je commence à l'avoir mauvaise avec ces c****rds
 
cela risque de me bloquer plein d'autre solutions avec j'ai l'impression...

n°1295484
anapajari
s/travail/glanding on hfr/gs;
Posté le 31-01-2006 à 13:24:28  profilanswer
 

ma solution avec curl marche toujours :o

n°1295538
darkendorf
Posté le 31-01-2006 à 14:44:26  profilanswer
 

curl n'est pas inclus, et bien évidemment ne peux pas l'être...
 
DOM y est par contre !
je potasse ça, mais si t'as un exemple succint ça m'aiderait car comme je le disais plus tôt, il me faut faire ça... au plus vite...
 
mon problème ici, c'est que je ne peux pas appeler une page distante (file désactivé), donc je ne peux pas appeler mon script générant mon xml...

n°1295547
darkendorf
Posté le 31-01-2006 à 14:53:34  profilanswer
 

je crois qu'il va me falloir repenser mon tout...
 
je te décris mon application :
 
sur le fameux serveur de m**** je dois :
- vérifier les pages existantes dans un dossier
- vérifier en base les pages qu'il me faut générer
- comparer entre existant/base
- supprimer les pages périmées
- ajouter les nouvelles pages
- créer un fichier qui liste toutes les pages existantes
 
tout cela fonctionnait (en locale) jusqu'à ce que je me rende compte que je ne pouvais interroger ma base distante depuis ce serveur...
 
je suis donc obligé de partager mon 'application' pour obtenir le même résultat :
- l'interrogation doit se faire sur un serveur quelconque mais pas sur celui qui en a besoin... bien sûr... donc le mieux c'est sur le serveur de  bases de données directement.
- la vérification et la modification des fichiers doit bien entendu se faire sur le serveur de m... (je me répète ? :p)
 
... c'était tout simple au début... sniff.


Message édité par darkendorf le 31-01-2006 à 14:54:09

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

  PHP, d'un serveur à un autre...

 

Sujets relatifs
[PHP] connexion bdd différente selon page locale ou sur serveur ?Je suis debutant et mon serveur PHP marche pas....
Php et serveur cs ?lancer un script PHP depuis serveur
[PHP] Aller sur un serveur local avec un proxyFtp_*list sur serveur windows en PHP 5
[PHP] problème pour echanger des donnees avec un serveur SOAPCron PHP et serveur mutualisé
[PHP/MySQL] Serveur ne traite pas l'info ?[PHP/MySQL] Réplication de base sur serveur distant
Plus de sujets relatifs à : PHP, d'un serveur à un autre...


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