|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 61 ![]() |
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 ? |
|
|
00
|
|
|
#2 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Ton script distant est executé par le serveur distant.
Visiblement sur celui-ci l'extension mysql n'est pas activée. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 61 ![]() |
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 ? |
|
|
00
|
|
|
#4 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Pas sur la première machine mais sur le serveur php.
Dans le php.ini il faut decommenter ou ajouter l'extenstion php_mysql. |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 61 ![]() |
J'ai cela dans mon php.ini sans commentaire, est ce l'extension dont vous parler ?
extension=php_mysql.dll extension=php_mysqli.dll |
|
|
00
|
|
|
#6 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Je n'ai peut etre pas tout suivi.
Est-ce que la machine hebergeant le fichier .php a un serveur php ? |
|
|
00
|
|
|
#7 | |||
|
Invité de passage
![]() Inscription : mars 2007 Messages : 61 ![]() |
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 :
Citation:
|
|||
|
|
00
|
|
|
#8 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Indique le php.ini :
http:\\adresseip\...\php.exe -c http:\\adresseip\...\php.ini |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 61 ![]() |
Si je mets le php.ini il me met la même erreur en local que sur la machine distante ???
|
|
|
00
|
|
|
#10 | |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 61 ![]() |
A distance j'ai la même erreur, j'ai aussi des warning:
Citation:
|
|
|
|
00
|
|
|
#11 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Oui forcemment, aucun chemin n'est bon.
Pourquoi vouloir utiliser php.exe via http ? |
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 61 ![]() |
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 |
|
|
00
|
|
|
#13 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Tu utilises \\machine ou http://machine ?
Le plus simple serait d'avoir un php.exe sur la machine 1. |
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 61 ![]() |
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 ? |
|
|
00
|
|
|
#15 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
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. |
|
|
00
|
|
|
#16 | ||
|
Invité de passage
![]() Inscription : mars 2007 Messages : 61 ![]() |
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 :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com