Cgi-fcgi PHP SDK Linux

Здравствуйте. Успешно написал сервисы на подписание архива, проверку архива и получение сертификата из архива, а также проверку сертификата используя ваш SDK. Все получилось, спасибо за пример и документацию по API в архиве с SDK. Запуск сервисов делал через PHP CLI (консольная отработка)

Начал внедрять сервиса в WEB (cgi-fcgi), иначе говоря захотел увидеть результат отработки сервисов в браузере, но возникла ошибка:

Fatal error: Uncaught Error: Call to undefined function KalkanCrypt_Init()

Используется связка PHP 7.4.2 | NGINX | PHP-FPM

Переменная окружения “LD_LIBRARY_PATH” экспортирована глобально

/etc/environment

а также в nginx была добавлена вручную

fastcgi_param LD_LIBRARY_PATH "/opt/kalkancrypt/:/opt/kalkancrypt/lib/engines";

В PHP скрипте она доступна

echo getenv('LD_LIBRARY_PATH');exit;

но ошибка о том, что функция отсутствует все равно возникает, притом через CLI все штатно отрабатывает

В phpinfo веб версии в списке отсутствует расширение kalkancrypt

phpinfo();

тогда как в CLI она присутствует

php -m | grep kalkancrypt

Я что то делаю не так, или SDK не подразумевает запуск вне CLI? Спасибо!

Здравствуйте!

Подразумевает. Только тестирование производилось под Apache+PHP. Все работало.

Дополнительные настройки для Apache:
  1. Переменная окружения была добавлена в /etc/apache2/envvars
  2. extension=kalkancrypt добавлено в etc/php/7.4/apache2/php.ini
  3. В /etc/php/7.4/mods-available добавил файл 10-kalkancrypt.ini

Вопрос, какая ошибка выходит в логах php при перезагрузке nginx и при phpinfo();??

Спасибо за ответ. Ошибок никаких совершенно нету, но в phpinfo модуль в списке не фигурирует.

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

Selection_391

Оставлю веб сервер Apache, для меня этот момент не критичен. Благодарю за обратную связь

Сделал так под RHEL

  • сделал файл /etc/ld.so.conf.d/kalkancrypt.conf
  • добавил строки
    /opt/kalkancrypt
    /opt/kalkancrypt/lib/engines
  • сохранил файл
  • выполнил ldconfig

Затем проверил ссылки
ldd kalkancrypt.so

1 Симпатия

Здравствуйте.

А как всё же запустить под nginx?

Добрый день!
Тестирование на nginx не производилось. Вам необходимо найти нужный “env”, куда прописать “LD_LIBRARY_PATH”