В качестве примера сборки в репозитории представлен Dockerfile.
Для построения образа и проверки работы расширения необходимо:
- В директории с Dockerfile поместить папку с пакетами из архива с КриптоПро CSP:
cp -r ~/linux-amd64_deb/ .
- Собрать образ:
docker build -t phpcades-build . - Запустить контейнер с собранным образом:
docker run -it -w /phpcades/samples/ phpcades-build - Сгенерировать тестовый сертификат с привязкой к закрытому ключу:
/opt/cprocsp/bin/amd64/cryptcp -createcert -dn "CN=test" -provtype 80 -cont '\\.\HDIMAGE\test' -ca https://cryptopro.ru/certsrv - Выполнить пример:
php 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/src - Задать значение переменной PHP_INCLUDE_DIR в файле CMakeLists.txt (папка с php.h).
- Выполнить сборку:
mkdir build cd build cmake .. make -j$(nproc)