У меня возникла проблема с включением Argon2 для хеширования паролей. Я собираю PHP из исходного кода Amazon Linux 2, но после завершения сборки и компиляции PHP константа PASSWORD_ARGON2I
не определена, и алгоритм недоступен.
Я пробовал множество разных способов компиляции PHP с использованием разных библиотек, но ни один из них не дал мне алгоритма Argon2, который мне нужен. Ниже я перечислю некоторые шаги, которые я предпринял:
1) Предоставление флага --with-sodium
Компиляция с этим флагом завершается, но выполнение тестового сценария, включающего функцию password_hash()
, показывает, что Argon2I недоступен.
2) Компиляция с флагом --with-password-argon2
Это не удается скомпилировать из-за отсутствия библиотеки, что можно увидеть в ошибке ниже.
checking for Argon2 support... yes
checking for Argon2 library... not found
configure: error: Please ensure the argon2 header and library are installed
Исходя из этого, я предполагаю, что мне не хватает библиотеки, необходимой для работы флага, поэтому я установил Libsodium . Повторная попытка имеет тот же результат.
3) Далее я устанавливаю еще несколько зависимостей по рекомендации из туториала. Это: - argon2 - libargon2-0 - libargon2-0-dev
Это дает мне инструмент cli argon2
, который работает, однако повторная компиляция PHP не работает с теми же ошибками.
На данный момент я не уверен, каков мой следующий шаг, любая помощь будет принята с благодарностью.