Установка на nginx ubuntu php. Не видит модуль

Выполнил все пункты из инструкции. Получаю ошибку

PHP Warning: PHP Startup: Unable to load dynamic library 'kalkancrypt.so' (tried: /usr/lib/php/20190902/kalkancrypt.so (libpcsclite.so.1: cannot open shared object file: No such file or directory)

Хотя файл по этому пути /usr/lib/php/20190902/kalkancrypt.so существует. При запуске test.php тоже не видит модуль и выдает ошибку.

Добрый день!
Установите библиотеку libpcsclite.so

после установки библиотеки ничего не изменилось

Вот это должно исправить ситуацию (там две зависимости от внешних библиотек):

sudo apt install -y libltdl7 libpcsclite1

Спасибо но не помогло, все происходит в докере образ ubuntu 20.04 может еще что то не хватает

Скиньте Dockerfile, чтобы не гадать.

Я сам для своих проектов успешно собирал докер-образы, правда версию ubuntu уже посвежее брал - 22.04. Или за основу брались образы Python/PHP актуальных версий.

пытаюсь его сюда скинуть выдает 500 ошибку, может ссылкой?

Ну давай хоть как-нибудь. Просто сложно очень понять, что у вас не так идет без примера.

https://drive.google.com/file/d/1oWzuuv8fYGVmX4Iuh_u37wrVQTVfV5oa/view?usp=drive_link
вот сам докер, почему не видит модуль я не понимаю, спасибо за помощь

Сейчас собрал образ по Вашему Dockerfile. Потом запустил, зашел в командную строку получившегося контейнера. При попытке выполнения php -v получаю:

PHP Warning: PHP Startup: Unable to load dynamic library ‘kalkancrypt.so’ (tried: /usr/lib/php/20220829/kalkancrypt.so (/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33’ not found (required by /usr/lib/php/20220829/kalkancrypt.so))

В Ubuntu 20.04 последняя доступная версия libc - 2.31. Вам сейчас надо решить по какому пути пойти:

  1. Пройти квест по обновлению glibc из стороннего репозитория или исходников
  2. Использовать следующий LTS релиз Ubuntu - 22.04, там этой проблемы нет.

Призываю сотрудников НУЦ, подготавливающих релизы, все таки описывать зависимости поставляемой ими библиотеки. Так было бы намного удобнее.

спасибо за ответ. поставил убунту 22.04

ldd (Ubuntu GLIBC 2.35-0ubuntu3.5) 2.35

к сожалению ничего не дало.

поставил 23.04 тоже самое

ldd (Ubuntu GLIBC 2.37-0ubuntu2.2) 2.37

я уже незнаю что пробовать, доставил все что мог, думал с правами что то не то, ну оказалось все в порядке

Вот Dockerfile, с которым все работает. За основу взял Ваш, но немного причесал и поменял версию Ubuntu.

kalkancrypt.so для теста был взят из версии SDK от 08.12.2023 по пути SDK 2.0/PHP_Linux/lib/v2.0.8/8.2/NTS/kalkancrypt.so.

Как проверить.

  1. Забираем себе этот файл.
  2. Собираем образ:
docker build . -t kalkancrypt_test
  1. Запускаем контейнер из этого образа:
docker run -d -p 8000:80 --name=kalkancrypt_test kalkancrypt_test
  1. Проверяем расширение kalkancrypt для PHP-интерпретатора в командной строке:
docker exec kalkancrypt_test php -m | grep kalkancrypt
  1. Проверяем расширение kalkancrypt для PHP в виде модуля apache2 - переходим в браузере на страницу http://localhost:8000/index.php и видим следующее:

kalkancrypt extension loaded.
kalkancrypt initialized successfully.