В качестве примера сборки в репозитории представлен Dockerfile.
Для построения образа и проверки работы расширения необходимо:
- В директории с Dockerfile поместить папку с пакетами из архива с КриптоПро CSP:
cp -r ~/linux-amd64_deb/ .
- Собрать образ:
docker build -t phpcades-build . - Запустить пример в контейнере с собранным образом:
docker run phpcades-build php samples/test_extension.php
Сборка производится на Ubuntu 24.04 + КриптоПро CSP 5.0.13000 + PHP 8.3
- Установить необходимые пакеты для сборки:
sudo apt install cmake build-essential libboost-all-dev php-dev - Скачать архив с КриптоПро CSP,
распаковать этот архив и установить КриптоПро CSP, а также пакеты lsb-cprocsp-devel, cprocsp-pki-cades, cprocsp-legacy:
tar xvf linux-amd64_deb.tgz cd linux-amd64_deb sudo ./install.sh lsb-cprocsp-devel cprocsp-legacy cprocsp-pki-cades - Скачать исходный код phpcades
git clone https://github.com/CryptoPro/phpcades.git cd phpcades - Выполнить сборку:
make - Создать в директории с расширениями символическую ссылку на собранную библиотеку libphpcades.so
php_exts=$(php -i | grep '^extension_dir' | cut -d' ' -f3 | xargs) && \ ln -s $(realpath build/src/libphpcades.so) $php_exts - В файле php.ini добавить расширение
extension=libphpcades.so