Докер не собирается из-за отсутствия в ODBC sqlext.hApache

Ответить
Anonymous
 Докер не собирается из-за отсутствия в ODBC sqlext.h

Сообщение Anonymous »

Пытаюсь собрать образ Docker из последней версии 8.3-apache.
Сборка систематически завершается сбоем из-за отсутствия файла при попытке собрать файлы PHP ODBC с помощью команды "RUN docker-php-ext-install odbc".
ODBC требуется в небольшом PHP-скрипте, который я использую для получения данных с Microsoft SQL Server. Есть ли какая-либо альтернатива, которую я могу использовать для этого, которая делает не требуется расширение PHP ODBC?
Точное сообщение об ошибке:
113.9 configure: error: ODBC header file '/usr/local/incl/sqlext.h' not found!
------
failed to solve: process "/bin/sh -c docker-php-ext-install pdo pdo_mysql mysqli intl zip gd opcache xsl gd odbc" did not complete successfully: exit code: 1

Вот мой полный файл Dockerfile, если это может помочь:
FROM php:8.3-apache

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

# Install system dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
git \
unzip \
libicu-dev \
libzip-dev \
libpng-dev \
libxml2-dev \
libxslt-dev \
unixodbc \
unixodbc-dev \
gpg \
curl \
wget \
build-essential \
gnupg2 \
ca-certificates \
libapache2-mod-fcgid \
locales coreutils apt-utils git \
&& rm -rf /var/lib/apt/lists/*

# Install composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer

WORKDIR /var/www/html
COPY . .

ENV COMPOSER_ALLOW_SUPERUSER=1
RUN git config --global --add safe.directory /var/www/html

# Install PHP dependencies and optimize
RUN composer install --no-dev --no-scripts --optimize-autoloader \
&& composer dump-autoload --optimize \
&& composer dump-env prod

# Install Microsoft ODBC driver and SQLSRV extension
RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg
RUN curl https://packages.microsoft.com/config/d ... /prod.list > /etc/apt/sources.list.d/mssql-release.list
RUN apt-get update && ACCEPT_EULA=Y apt-get install -y msodbcsql18

# Install the SQLSRV and PDO_SQLSRV PHP extensions
RUN pecl install sqlsrv pdo_sqlsrv \
&& docker-php-ext-enable sqlsrv pdo_sqlsrv

# Install MS SQL client dependencies
RUN apt-get install -y msodbcsql18

# SQLSRV and PDO_SQLSRV extensions configuration
RUN echo "extension=sqlsrv.so" >> /usr/local/etc/php/conf.d/docker-php-ext-sqlsrv.ini
RUN echo "extension=pdo_sqlsrv.so" >> /usr/local/etc/php/conf.d/docker-php-ext-pdo-sqlsrv.ini
RUN echo "extension=odbc.so" >> /usr/local/etc/php/conf.d/odbc.ini

# PHP extensions
RUN docker-php-ext-install \
pdo \
pdo_mysql \
mysqli \
intl \
zip \
gd \
opcache \
xsl \
gd \
odbc

# Set permissions for the application files
RUN chown -R www-data:www-data /var/www/html

# Configure PHP OPcache
RUN { \
echo 'opcache.memory_consumption=128'; \
echo 'opcache.interned_strings_buffer=8'; \
echo 'opcache.max_accelerated_files=4000'; \
echo 'opcache.revalidate_freq=0'; \
echo 'opcache.fast_shutdown=1'; \
echo 'opcache.enable_cli=1'; \
} > /usr/local/etc/php/conf.d/opcache-recommended.ini

# Copy Apache VirtualHost configuration
COPY vhost.conf /etc/apache2/sites-available/000-default.conf

EXPOSE 80

# Run Apache in the foreground
CMD ["apache2-foreground"]```


Подробнее здесь: https://stackoverflow.com/questions/793 ... g-sqlext-h
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Apache»