Вопрос

Я использую WAMP в качестве сервера, и мне нужно выполнить svn, который можно найти в моем каталоге Windows:C:/Program Файлы/Subversion/bin/

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

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

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

Это было полезно?

Решение

вместо этого используйте бесплатные классы svn, для них не требуется svn module:http://www.phpclasses.org/browse/package/3427.ht http://code.google.com/p/phpsvnclient/

Другие советы

PHP имеет целая куча функций, которые явно имеют дело с репозиториями 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 );
?>

Надеюсь, установка ПУТИ решит вашу проблему.

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

например.обновление svn "\мой\проект\" --имя пользователя [имя моего пользователя] --пароль [мой пароль]

Если нет, то вывода нет, и svn все еще ждет, пока вы введете это.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top