Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/03/2011, 10h23   #1
Invité de passage
 
Inscription : mars 2007
Messages : 61
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 61
Points : 3
Points : 3
Par défaut Erreur exécution fichier php sur serveur distant

Je souhaite lancer une commande sur une machine distante qui utilise le serveur php d'une autre machine. Pour cela je lance la commande suivante:
http:\\adresseip\...\php.exe http\\adresseip\fichier.php, si je met un bête fichier php avec juste phpinfo() cela fonctionne mais ici j'exécute un fichier qui doit surement se connecter à la base de donnée mysql.

Et j'ai ceci comme message d'erreur:
Fatal error: Call to undefined function mysql_connect() in \\adresseip\...\adodb-mysql.inc.php

En local la même commande fonctionne.

J'ai lu sur d'autres forum que l'erreur apparaissait si cette variable du php.ini était en commentaire:
extension_dir = "c:/wamp/php/ext/"
Effectivement si je le met en commentaire j'ai la même erreur en local.

Je pensais qu'une fois lancé le php après tout était exécuter en local, mais peut être faut il que je mette une variable d'environnement sur la machine distante mais laquelle ?
Avez vous une idée pour résoudre ce problème, merci ?
bipbipman2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 10h57   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Ton script distant est executé par le serveur distant.
Visiblement sur celui-ci l'extension mysql n'est pas activée.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 11h06   #3
Invité de passage
 
Inscription : mars 2007
Messages : 61
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 61
Points : 3
Points : 3
Donc pour résumé j'ai une machine (sans php, sans mysql) et je lance la commande avec ip de l'autre machine sur laquelle se trouve le serveur php et mysql ainsi que les fichiers php.
Comment activé l'extension mysql sur la première machine, en renseignant une variable d'environnement ou en modifiant une variable dans le php.ini peut être avec l'adresse ip de la deuxième machine et non le chemin relatif ?
bipbipman2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 11h39   #4
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Pas sur la première machine mais sur le serveur php.
Dans le php.ini il faut decommenter ou ajouter l'extenstion php_mysql.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 11h49   #5
Invité de passage
 
Inscription : mars 2007
Messages : 61
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 61
Points : 3
Points : 3
J'ai cela dans mon php.ini sans commentaire, est ce l'extension dont vous parler ?
extension=php_mysql.dll
extension=php_mysqli.dll
bipbipman2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 11h55   #6
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Je n'ai peut etre pas tout suivi.
Est-ce que la machine hebergeant le fichier .php a un serveur php ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2011, 09h45   #7
Invité de passage
 
Inscription : mars 2007
Messages : 61
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 61
Points : 3
Points : 3
Machine1 pas de serveur php: lancement de la commande avec ip de la machine2, exécution qui fonctionne sauf si accès à mysql.

Machine2: serveur php/mysql, héberge aussi les fichiers php a exécuter.

PHP.ini:
Code :
1
2
extension=php_mysql.dll
extension=php_mysqli.dll
voilà erreur php:
Citation:
Fatal error: Call to undefined function mysql_connect() in \\adresseipmachine2\\www\...\adodb\drivers\adodb-mysql.inc.php on line 364
bipbipman2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2011, 11h43   #8
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Indique le php.ini :
http:\\adresseip\...\php.exe -c http:\\adresseip\...\php.ini
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2011, 14h12   #9
Invité de passage
 
Inscription : mars 2007
Messages : 61
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 61
Points : 3
Points : 3
Si je mets le php.ini il me met la même erreur en local que sur la machine distante ???
bipbipman2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2011, 14h30   #10
Invité de passage
 
Inscription : mars 2007
Messages : 61
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 61
Points : 3
Points : 3
A distance j'ai la même erreur, j'ai aussi des warning:
Citation:
PHP Startup: Unable to load dynamic librairy: c:/wamp/php/ext/php-mysql.dll et d'autes dll aussi, cela doit venir de là.
J'ai vérifié la dll est bien présente, je me demande en fait si il ne cherche pas cette dll sur machine1 ou lieu de la 2.
bipbipman2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2011, 14h44   #11
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Oui forcemment, aucun chemin n'est bon.

Pourquoi vouloir utiliser php.exe via http ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2011, 15h37   #12
Invité de passage
 
Inscription : mars 2007
Messages : 61
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 61
Points : 3
Points : 3
Machine1 : serveur svn
Machine2: serveur php/mysql

J'ai mis un .bat sur la machine 1 avec une commande qui exécute lors d'un commit pour exécuter un php de la machine 2 afin de savoir qu'un commit a été effectué et traiter ceci par php.

J'ai donc mis la commande suivante dans le bat:
\\ipmachine2\..\wamp\php\php.exe \\ipmachine2\..\wamp\...\fichier.php
bipbipman2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2011, 16h13   #13
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Tu utilises \\machine ou http://machine ?

Le plus simple serait d'avoir un php.exe sur la machine 1.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2011, 16h20   #14
Invité de passage
 
Inscription : mars 2007
Messages : 61
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 61
Points : 3
Points : 3
non je n'utilise pas le http, j'ai mis un fichier php juste avec phpinfo() pour tester. Pour le test j'ai mis cette commande dans console windows et j'obtiens bien un résultat, donc il arrive a exécuter du code php a distance sauf quand il fait un lien a mysql.
N'y a t'il pas une solution en précisant les PHPRC environnent variables ?

Je pourrai mettre seulement le fichier php.exe sur la première machine ?
bipbipman2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2011, 16h44   #15
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Soit tu utilises un php.exe local (il faut php.exe, un php.ini et quelques dll dependant de la version + les fichiers des extensions utilisées)
Soit tu utilises un php.ini alternatif avec les bons chemins.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2011, 17h04   #16
Invité de passage
 
Inscription : mars 2007
Messages : 61
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 61
Points : 3
Points : 3
Je vais essayer de créer un autre php.ini que je vais mettre sur la Machine1.
Et mettre les liens vers la machine2, par exemple:
Code :
1
2
extension_dir = "c:/wamp/php/ext/"  avant
extension_dir = "http://adresseipmachine2/c/wamp/php/ext/"
Comme cela ?
bipbipman2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h03.


 
 
 
 
Partenaires

Hébergement Web