Docker“加载 Zend 扩展失败,无法打开共享对象文件:没有这样的文件或目录”

问题描述 投票:0回答:1

我之前使用Windows,下面的dockerfile工作正常,现在我切换到macos,虽然我仍然可以毫无问题地运行应用程序,但我无法让ioncube工作,每次都会收到以下错误。我已经尝试和搜索了很多东西,但我无法以一种非常奇怪的方式解决它,当我用

cat
编写相关目录时,文件存在并且在那里。

PHP Warning:  Failed loading Zend extension 'ioncube' (
tried: /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ioncube
(/usr/local/lib/php/extensions/no-debug-non-zts-20220829/ioncube: cannot open shared object file: No such file or directory),
/usr/local/lib/php/extensions/no-debug-non-zts-20220829/ioncube.so 
(/usr/local/lib/php/extensions/no-debug-non-zts-20220829/ioncube.so: cannot open shared object file: No such file or directory))
in Unknown on line 0
# args
ARG WP_VERSION=6.6
ARG PHP_VERSION=8.2

# Install WordPress with php version
FROM wordpress:${WP_VERSION}-php${PHP_VERSION}-apache

# args
ARG IONCUBE_VERSION=8.2

# Install xdebug
RUN pecl install xdebug && docker-php-ext-enable xdebug

# Install IonCube Loader
RUN cd /usr/local && mkdir -p /ioncube && cd /ioncube && \
    curl -o ioncube.tar.gz https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz && \
    tar xvzf ioncube.tar.gz -C /ioncube --strip-components=1 && rm ioncube.tar.gz && \
    cp ioncube_loader_lin_${IONCUBE_VERSION}.so ioncube.so && mv ioncube.so `php-config --extension-dir` && \
    echo "zend_extension=ioncube" > /usr/local/etc/php/conf.d/docker-php-ext-ioncube.ini

# Download packages
RUN apt-get update && \
    apt-get install -y --no-install-recommends \
        curl \
        git \
        unzip \
        libicu-dev \
        libgmp-dev

# Download composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

ENV COMPOSER_ALLOW_SUPERUSER=1
WORKDIR /var/www/html/wp-content/plugins

COPY ./tools ./tools
COPY ./tokenico ./tokenico
COPY ./tokenico-premium ./tokenico-premium

RUN cd ./tools && composer install

# Install LTS Node.js
RUN curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - && \
    apt-get install -y nodejs

# Install wp-cli
RUN curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar && \
    chmod +x wp-cli.phar && \
    mv wp-cli.phar /usr/local/bin/wp
    
RUN mkdir -p /var/www/html/wp-content/uploads
RUN chown -R www-data:www-data /var/www/html/wp-content/uploads

# Apache ServerName
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf

# Port
EXPOSE 80

# Run apache
CMD ["apache2-foreground"]
php wordpress docker dockerfile
1个回答
0
投票

我解决了问题,问题是我没有下载与处理器兼容的加载器版本,当我尝试使用加载器向导安装它时收到此警告。如果您使用非 x86 处理器(例如 Mac),则需要从下面的链接下载适合您的处理器的版本。

https://www.ioncube.com/loaders.php

© www.soinside.com 2019 - 2024. All rights reserved.