В Подверсии я могу быть пользователем кроме своего имени для входа в систему?

Неустранимая ошибка: вызов неопределенной функции XXX

Случается, когда вы пытаетесь вызвать функцию, которая еще не определена. Общие причины включают отсутствующие расширения и включают в себя объявление условной функции, функцию в объявлении функции или простые опечатки.

Пример 1 - Декларация условной функции

$someCondition = false;
if ($someCondition === true) {
    function fn() {
        return 1;
    }
}
echo fn(); // triggers error

В этом случае fn() никогда не будет объявлено, потому что $someCondition не соответствует действительности.

Пример 2 - Функция в объявлении функции

function createFn() 
{
    function fn() {
        return 1;
    }
}
echo fn(); // triggers error

В этом случае fn будет объявлен только после вызова createFn(). Обратите внимание, что последующие вызовы createFn() вызовут ошибку об обновлении существующей функции.

Вы также можете увидеть это для встроенной функции PHP. Попробуйте найти функцию в официальном руководстве и проверьте, к какому «расширению» (к нему принадлежит PHP-модуль), и какие версии PHP поддерживают его.

В случае отсутствующее расширение, установите это расширение и включите его в php.ini. Обратитесь к Инструкции по установке в Руководстве по PHP для расширения вашей функции. Возможно, вы также сможете включить или установить расширение с помощью диспетчера пакетов (например, apt в Debian или Ubuntu, yum в Red Hat или CentOS ) или панель управления в среде общедоступного хостинга.

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

В случае отсутствия включено, обязательно включите файл, объявляющий функцию перед вызовом функции.

В случае опечаток исправить опечатку.

Вопросы, относящиеся

246
задан Carrie Kendall 27 April 2015 в 06:48
поделиться

7 ответов

Большинство команд Подрывной деятельности берет --username опция определить имя пользователя, которое Вы хотите использовать для репозитория. Подрывная деятельность помнит последнее имя пользователя репозитория и пароль, используемый в каждой рабочей копии, что означает, среди прочего, что, если Вы используете svn checkout --username myuser, Вы никогда не должны определять имя пользователя снова.

, Поскольку Kamil Kisiel говорит , когда Подрывная деятельность получает доступ к репозиторию непосредственно от файловой системы (то есть, URL репозитория имеет форму file:///path/to/repo или file://file-server/path/to/repo), это использует Ваши полномочия файловой системы получить доступ к репозиторию. И когда Вы подключение через SSH туннелирование (svn+ssh://server/path/to/repo), SVN использует Ваши полномочия FS на сервер , как определено Вашим входом в систему SSH. В тех случаях, svn checkout --username может не работать на Ваш репозиторий.

278
ответ дан Rakete1111 23 November 2019 в 03:04
поделиться

Подрывная деятельность обычно просит у меня мое "Имя пользователя подрывной деятельности", если это приводит использование к сбою моего зарегистрированного имени пользователя. Так, когда я (обычно) буду ленив, я просто позволю ему попросить у меня моего пароля, и я совершу нападки, входят и ожидают имени пользователя, запрашивают и используют мое имя пользователя Подрывной деятельности.

Иначе, решением Michael является хороший способ определить имя пользователя сразу же.

11
ответ дан Beau Simensen 23 November 2019 в 03:04
поделиться

Я верю, используете ли Вы метод file:// для доступа к репозиторию подрывной деятельности, изменения всегда выполняются при пользователе, который получает доступ к репозиторию. Необходимо использовать метод, который поддерживает аутентификацию, такую как http:// или svn://.

См. http://svnbook.red-bean.com/en/1.5/svn-book.html#svn.serverconfig.choosing

6
ответ дан Kamil Kisiel 23 November 2019 в 03:04
поделиться

Используя Подрывную деятельность или с модулем Apache или с svnserve. Я был в состоянии выполнить операции как многочисленные пользователи, использующие --username.

Каждый раз, когда Вы вызываете команду Subversion как 'новый' пользователь, Ваш $HOME/.subversion/auth/<authentication-method>/, каталогу будут кэшировать новую запись для того пользователя (предполагающий, что Вы в состоянии аутентифицировать с правильным паролем или методом аутентификации для сервера, с которым Вы связываетесь как тот конкретный пользователь).

6
ответ дан Rob Kielty 23 November 2019 в 03:04
поделиться

TortoiseSVN всегда запрашивает имя пользователя. (если Вы не говорите его не)

-1
ответ дан recursive 23 November 2019 в 03:04
поделиться

Я полагаю, что можно установить SVN_USER переменная среды для изменения имени пользователя SVN.

-3
ответ дан Sophie Alpert 23 November 2019 в 03:04
поделиться

Для svn over ssh попробуйте:

svn list svn+ssh://[user_name]@server_name/path_to_repo  

svn запросит у вас пароль user_name .

70
ответ дан 23 November 2019 в 03:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: