Как я могу включить систему php (пользователь: apache) для добавления файла и фиксации изменений в SVN? - PullRequest
0 голосов
/ 09 июня 2011

Я делаю форму загрузки файла.Я также хочу добавить изображения, которые я загрузил в SVN, и затем зафиксировать это изменение.

Что-то вроде:

system('svn add *', $ret1);
system('svn commit -m "the files were added and committed"', $ret2);

echo '<hr />add: ' . $ret1';
echo '<hr />commit: ' . $ret2';

Проблема в том, что php работает как «apache» и поэтому можетне вносить изменения в SVN.Я поступил правильно и искал похожий вопрос и нашел этот , но я не знаю, какой пароль я должен использовать там.Использование моего имени / пароля ssh не работает, имеет ли моя учетная запись svn свою собственную?

Ответы [ 3 ]

1 голос
/ 06 сентября 2011

svn --username --password позволит вам запускать транзакцию svn как угодно. Надеюсь, это поможет!

1 голос
/ 09 июня 2011

Вы должны понимать, что следует избегать использования прямых системных вызовов, насколько это возможно, особенно если сценарий находится в общедоступном веб-пространстве, защищен .htaccess или нет.

Я настоятельно предлагаю вам заглянуть в этот раздел руководства и по возможности создать свой сценарий с использованием этих функций.

  • Надеюсь, вы используете 'nux', и в большинстве случаев запуск и запуск в большинстве дистрибутивов столь же прост, как и sudo apt-get php5-svn.

    Счастливый кодирующий друг

0 голосов
/ 09 июня 2011

имеет ли моя учетная запись svn свою собственную?

Да, у вашего сервера svn есть собственная учетная запись, которая обычно не связана с учетной записью в вашей системе.Вы должны знать это, потому что вам нужно иметь его для подключения к серверу SVN и выполнения коммитов.

Вы можете изолировать свой скрипт, выполнив сначала тестирование команд, которые вы хотите выполнить из PHP в оболочке, чтобы подтвердить имя пользователяи пароль.

Но то, что было написано в ответе stefgosselin, также верно: позаботьтесь о системных командах.Убедитесь, что вы работаете в правильных рабочих каталогах.И я не думаю, что это хорошая идея - слепо фиксировать пользовательские загрузки без действительно правильной проверки в первую очередь (не знаю, насколько вы реализовали безопасность, просто так).Лучше безопасно, чем потом сожалеть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...