2009-02-24 17 views
0

J'utilise WAMP comme serveur, et j'ai besoin d'exécuter svn, qui se trouve dans mon répertoire Windows: C:/Program Files/Subversion/bin/WAMP - problème shell_exec() PHP

Le problème, c'est que lorsque je lance le programme php à partir du serveur, il ne produira pas de sortie. Cela fonctionne à partir de la ligne de commande, ce qui me fait penser que c'est un problème d'autorisation avec WAMP. Cependant, après lui avoir donné un pouvoir illimité, il n'exécutera toujours pas les commandes svn à moins que je ne l'appelle depuis la ligne de commande.

J'ai essayé de l'appeler avec le chemin complet de svn, et c'est un chemin régulier. D'autres commandes comme "dir" fonctionnent bien.

Pour clarifier ma question: Comment puis-je exécuter svn à partir de php via WAMP?

+0

De plus, appelez-vous 'svn' avec son chemin complet? –

+0

Les deux chemin complet et juste avec svn, les deux ont le même résultat. – Coltin

+0

Veuillez coller la ligne réelle où vous essayez d'exécuter 'svn'. –

Répondre

1

PHP a un whole bunch de fonctions qui traitent explicitement avec les dépôts svn et ne nécessite pas l'utilisation de fonctions de type system().

Puisque vous avez dit que vous ne pouvez pas utiliser les différentes fonctions svn, procédez comme suit:

<?php 
    $cmd = 'set PATH'; 
    echo '<pre>' , shell_exec($cmd) , '</pre>'; 
?> 

Voyez ce qui retourne (cherchez la variable d'environnement PATH). Voyez ce que PATH contient.

Vous pouvez avoir à ajouter le dossier Subversion à votre PATH:

<?php 
    $cmd = 'set PATH=%PATH%;"C:\Program Files\Subversion\bin\"; svn up'; 
    shell_exec($cmd); 
?> 

Si tout va bien, la définition du chemin résoudra votre problème.

+0

Vous devez installer un module svn, ce qui n'est pas possible dans mon environnement. – Coltin

+0

non, ils ne le font pas, voir ma réponse ci-dessous. – dusoft

+0

'set PATH' renvoie mon chemin avec le dossier Subversion à la fin. J'ai essayé pour le diable en ajoutant le dossier Subversion au chemin, mais cela n'a pas fonctionné. Merci d'avoir essayé d'aider, je l'apprécie. – Coltin

1

J'ai trouvé ce problème aussi, et peut résoudre ce problème, assurez-vous d'utiliser le nom d'utilisateur et mot de passe (si besoin)

par ex. svn update "\ mon \ projet \" --username [myusername] --password [mypassword]

Sinon, toujours pas de sortie et svn attendez vous entrez cela.

P.S. Quand je me connecte et lance svn sur cmd, il ne demande pas de nom d'utilisateur et mot de passe mais quand je cours sur PHP vous en avez besoin. J'espère que cela va résoudre votre problème.