2009-09-21 6 views
0

J'essaye d'écrire un peu de php pour mettre à jour un repo svn sur un serveur exécutant xampplite sous windows. (Ceci est un serveur de développement, pas une de production.)comment exécuter un fichier de commandes en PHP sous xampp sur windows

Voici mon php:

<?php 
passthru("update.bat"); 
// I also tried exec() & putting the svn command in directly 
?> 

update.bat est assis dans le même dossier que le script php

Voici le contenu de la mise à jour .bat:

svn up c:\path\to\my\repo 

Lorsque j'exécute le fichier de commandes par lui-même, cela fonctionne. Quand je lance via php, je reçois ce imprimé au navigateur:

C:\path\to\script\folder>svn up c:\path\to\my\repo 

qui semble bon, mais le projet est pas mis à jour.

Répondre

1

Voici la nouvelle update.bat:

svn up --username <usr> --password <pwd> c:\path\to\the\repo 
0

Essayez this astuce sur php.net/function.exec

+0

je peux l'obtenir pour exécuter un fichier de commandes plus simple (par exemple « écho salut »), mais la mise à jour svn est toujours me éludant. – sprugman

+0

On dirait que quelque chose est vicieux dans votre environnement. Essayez de comparer le phpinfo() pour votre environnement de ligne de commande à phpinfo() pour le processus Web. – TML

0

L'autre option est de manually compile le php svn extension (il n'y a pas de DLL Windows), mais vous avez aussi besoin des bibliothèques svn premier. L'ajout du nom d'utilisateur et du mot de passe au lot a fait la différence.

+0

J'espère vraiment que je peux éviter cette solution. (On dirait que l'overkill.) – sprugman

Questions connexes