Я пытаюсь установить расширение PHP для kerebos auths (https://pecl.php.net/package/krb5), на моем OSX, я скачал расширение и сейчас пытаюсь его установить, но получаю сообщение об ошибке 2 дублирования. Я также установил автоконфигурацию для запуска ./configure, у меня она еще не была установлена по умолчанию.
Я пытался следовать руководству по установке:
+ When compiling this extension as shared module:
- run phpize in the extension directory
- run ./configure (optionally add --with-krb5kadm if you need this functionality)
- run make && make install
- optional: enable your new extension in you php.ini
И когда я пытаюсь сделать && сделать установку я получаю эту ошибку:
duplicate symbol _krb5_ce_ccache in:
.libs/krb5.o
.libs/negotiate_auth.o
duplicate symbol _krb5_ce_ccache in:
.libs/krb5.o
.libs/gssapi.o
ld: 2 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [krb5.la] Error 1
Я заметил, что оба файла (krb5.o и gssapi.o), по-видимому, зашифрованы из представления командной строки nano = /, поэтому я сделал проверку в krb5.c ,gotiate_auth.c и gssapi.c (обе ссылки для этих файлов находятся здесь видеть http://pastebin.com/zNdGzLFj)
Кто-нибудь знает, как это исправить?
Я попытался сделать это в папке Download, и я не смог сделать это в то время (не знаю почему), затем я сделал это в Documents, и это решило.
Эта первая команда не содержит команды в файле установки, она была предоставлена автором расширения:
# This will put the current development source into the folder php_krb5
svn co https://svn.php.net/repository/pecl/krb5/trunk/ php_krb5
# Go there
cd php_krb5
# Build and install
phpize
./configure
make && make install
Также аргумент —with-krb5kadm отвечает за флаги, разрешающие привязки для API администрирования MIT kerberos (что
позволяет управлять принципалами, политиками и т. д.).
Чтобы активировать этот плагин, мне пришлось искать krb5.so, скопировать это местоположение, а затем найти php.ini, а затем добавить эту строку в этот файл:
extension=/usr/lib/php/extensions/no-debug-non-zts-20100525/krb5.so
Место, которое вы видите, относится к моей системе, ваше может быть другим.
Чтобы проверить, правильно ли вы выбрали свой krb5.so (у меня было 3), вы можете подтвердить это, выполнив:
php -m
В этом списке вы увидите, что krb5, если вы хорошо добавите krb5.so.
Спасибо большое Мориц Бехлер !!!
Других решений пока нет …