Skip to content

Latest commit

 

History

History
59 lines (51 loc) · 2.17 KB

File metadata and controls

59 lines (51 loc) · 2.17 KB

Сборка расширения для языка PHP

Dockerfile

В качестве примера сборки в репозитории представлен Dockerfile.

Для построения образа и проверки работы расширения необходимо:

  1. В директории с Dockerfile поместить папку с пакетами из архива с КриптоПро CSP:
    cp -r ~/linux-amd64_deb/ .
  2. Собрать образ:
    docker build -t phpcades-build .
  3. Запустить контейнер с собранным образом:
    docker run -it -w /phpcades/samples/ phpcades-build
    
  4. Сгенерировать тестовый сертификат с привязкой к закрытому ключу:
    /opt/cprocsp/bin/amd64/cryptcp -createcert -dn "CN=test" -provtype 80 -cont '\\.\HDIMAGE\test' -ca https://cryptopro.ru/certsrv
    
  5. Выполнить пример:
    php test_extension.php
    

Ubuntu

Сборка производится на Ubuntu 24.04 + КриптоПро CSP 5.0.13000 + PHP 8.3

  1. Установить необходимые пакеты для сборки:
    sudo apt install cmake build-essential libboost-all-dev php-dev
    
  2. Скачать архив с КриптоПро 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
    
  3. Скачать исходный код phpcades
    git clone https://github.com/CryptoPro/phpcades.git
    cd phpcades/src
    
  4. Задать значение переменной PHP_INCLUDE_DIR в файле CMakeLists.txt (папка с php.h).
  5. Выполнить сборку:
    mkdir build
    cd build
    cmake ..
    make -j$(nproc)