Я создал расширение Saxon / C PHP в образе PHP -FPM docker. Текущее имя расширения - ext-saxon/c
, в то время как PhpStorm
и composer
ожидают, что имя расширения будет ext-saxonc
. Можно ли изменить / переопределить это в процессе сборки Saxon или в PhpStorm?
Когда я использую код в PhpStorm, я получаю следующая ошибка:
Чтобы PhpStorm знал о расширении Saxon, я должен вручную включить его в настройках PHP Runtime, потому что это интерпретатор не распознает автоматически:
Но теперь я получаю сообщение о том, что расширение ext-saxonc
PHP отсутствует в моем composer.json
file.
В моем файле composer.json
я могу сделать следующее:
"require": {
"ext-saxon/c": "*",
}
Но я не могу сделать ниже, потому что это расширение не распознается как установленное.
"require": {
"ext-saxonc": "*",
}
Мой docker код для создания расширения:
FROM php:7.4.5-fpm
ARG saxon='libsaxon-HEC-setup64-v1.2.1'
RUN set -eux; \
apt-get update && apt-get install -y --no-install-recommends wget; \
cd /tmp && wget --quiet https://www.saxonica.com/saxon-c/${saxon}.zip; \
unzip ${saxon}.zip; \
./${saxon} -batch -dest /tmp/saxon; \
cp /tmp/saxon/libsaxonhec.so /usr/lib/; \
cp -r /tmp/saxon/rt /usr/lib; \
ldconfig; \
cd /tmp/saxon/Saxon.C.API/; \
phpize; \
./configure --enable-saxon; \
make -j$(nproc); \
make install; \
docker-php-ext-enable saxon; \
rm -rf /tmp/${saxon} /tmp/${saxon}.zip /tmp/saxon /var/lib/apt/lists/*;