Конфигурация:
Ubuntu 18.04 x64 КриптоПро CSP 5.0.11455 КриптоПро ЭЦП SDK 2.0 PHP 7.3.12
Последовательность необходимых действий:
Установить пакеты:
# apt-get install libboost-dev php-dev libxml2-dev
Скачать архив с исходниками PHP и распаковать этот архив:
tar xvf php-7.3.12.tar.gz
Скачать архив с КриптоПро CSP 5.0, распаковать этот архив:
tar xvf linux-amd64_deb.tgz
и установить минимальный набор пакетов КриптоПро CSP:
cd linux-amd64_deb # ./install.sh
Скачать архив с КриптоПро ЭЦП SDK, распаковать этот архив:
tar xvf cades_linux_amd64.tar.gz
и установить следующие пакеты:
cd cades-linux-amd64 # dpkg -i \ cprocsp-pki-cades_2.0.0-1_amd64.deb \ lsb-cprocsp-devel_5.0.11535-4_all.deb \ cprocsp-pki-phpcades_2.0.0-1_amd64.deb
Перейти в директорию с исходниками PHP:
cd ~/php-7.3.12
и выполнить:
./configure --prefix=/opt/php
В файле:
/opt/cprocsp/src/phpcades/Makefile.unix
указать путь к директории с исходниками PHP в переменной PHPDIR.
Скопировать файл патча для PHP 7 в директорию с исходниками расширения:
# cp ./php7_support.patch /opt/cprocsp/src/phpcades
Установить g++-6 и сделать g++-6 версией для g++ по умолчанию:
# apt-get install g++-6 # update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 10 # update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 10 # update-alternatives --config g++
Перейти в директорию с исходниками расширения:
cd /opt/cprocsp/src/phpcades
и выполнить команды:
# patch -p0 < ./php7_support.patch # eval `/opt/cprocsp/src/doxygen/CSP/../setenv.sh --64`; make -f Makefile.unix
Вывести путь к расширениям PHP:
php -i | grep extension_dir
Создать в директории с расширениями символическую ссылку на собранную библиотеку libphpcades.so:
В файле php.ini добавить расширение:
extension=libphpcades.so