我正在使用DDEV开发OXID Esales项目。使用起来非常舒适,但是现在我必须安装Ioncube Loader。我怎样才能做到这一点?我必须将.so文件放入容器内的php方向,并扩展php.ini。但是我不知道怎么办? 有人可以帮我吗?
项目: OXID电子销售
答案 0 :(得分:0)
每次执行ddev start
时,您都可以在Web容器中手动执行此操作,但这听起来并不有趣。
相反,我们会将所有必需的更改合并到附加的Dockerfile see docs中。
将这些内容放入项目的.ddev / web-build / Dockerfile中,然后它将(一次)使用ioncube .so loader和所需的PHP配置来构建ddev-webserver映像。如您所说,这是针对PHP 7.1的,您需要将PHP_VERSION更改为其他版本。
ARG BASE_IMAGE
FROM $BASE_IMAGE
# Install the ioncube loader - set the PHP_VERSION to what you need
ENV PHP_VERSION=7.1
RUN mkdir -p /usr/local/lib && curl -sSlL -o /tmp/ioncube.tar.gz https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz && tar -x --strip-components=1 -C /usr/local/lib -f /tmp/ioncube.tar.gz ioncube/ioncube_loader_lin_${PHP_VERSION}.so
# The ioncube_loader has to be the very first thing in the php.ini, so insert it there.
ENV PHP_INI_PATH=/etc/php/${PHP_VERSION}/fpm/php.ini
RUN (echo 'zend_extension = /usr/local/lib/ioncube_loader_lin_${PHP_VERSION}.so' && cat ${PHP_INI_PATH}) > ${PHP_INI_PATH}.new && mv ${PHP_INI_PATH}.new ${PHP_INI_PATH}