2009-02-24 3 views
0

Я использую WAMP как сервер, и у меня есть необходимость выполнения SVN, которые можно найти в моем Windows, каталоге: C:/Program Files/Subversion/bin/WAMP - PHP shell_exec() проблема

Проблема в том, что когда я запускаю php-программу с сервера, она не будет выводить результат. Он работает из командной строки, что заставляет меня думать, что это проблема с разрешениями WAMP. Однако после предоставления неограниченной мощности он все равно не выполнит команды svn, если я не вызову его из командной строки.

Я пробовал называть его полным путем к svn, и это обычный путь. Другие команды, такие как «dir», работают нормально.

Чтобы уточнить мой вопрос: как я могу выполнить svn из php через WAMP?

+0

Также вы называете 'svn' полным путем? –

+0

И полный путь, и только с svn, оба имеют одинаковый результат. – Coltin

+0

Пожалуйста, вставьте фактическую строку, где вы пытаетесь выполнить 'svn'. –

ответ

1

PHP имеет функции whole bunch, которые явно работают с svn-репозиториями и не требуют использования каких-либо функций типа system().

Так как вы сказали, что вы не можете использовать различные Svn функции, попробуйте выполнить следующие действия:

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

посмотреть, что возвращает (обратите внимание на переменную окружения PATH). Посмотрите, что содержит PATH.

Вы, возможно, придется добавить папку Subversion в ваш PATH:

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

Будем надеяться, что установка PATH будет решить вашу проблему.

+0

Те, кому требуется установить модуль svn, что невозможно в моей среде. – Coltin

+0

нет, они этого не видят, см. Мой ответ ниже. – dusoft

+0

«set PATH» возвращает мой путь с папкой Subversion в конце. Я попытался наброситься на это, добавив папку Subversion в путь снова, но это не сработало. Спасибо за попытку помочь, я ценю это. – Coltin

1

Я нашел эту проблему тоже, и могут решить эту проблему, убедитесь, что вы используете имя пользователя и пароль (если необходимо)

например. SVN обновление "\ My \ Проект \" --username [MyUserName] --password [мойпароль]

Если нет, то нет вывода и СВН еще ждут ввода этого.

P.S. Когда я вхожу в систему и запускаю svn на cmd, он не запрашивает имя пользователя и пароль, но когда я запускаю PHP, вам это нужно. Надеюсь, он решит вашу проблему.