|
1 | 1 | ARG PHP_VERSION=8.4 |
2 | | - |
3 | 2 | FROM php:${PHP_VERSION}-cli-bookworm |
4 | 3 | SHELL ["/bin/bash", "-c"] |
5 | 4 |
|
6 | | -RUN apt-get update && apt-get install -y --no-install-recommends \ |
7 | | - git unzip libzip-dev libicu-dev libmemcached-dev zlib1g-dev libssl-dev sqlite3 libsqlite3-dev libpq-dev mariadb-client |
| 5 | +RUN apt-get update |
8 | 6 |
|
9 | 7 | RUN apt-get install -y gnupg2 \ |
10 | 8 | && curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg \ |
11 | 9 | && curl https://packages.microsoft.com/config/debian/12/prod.list > /etc/apt/sources.list.d/mssql-release.list \ |
12 | 10 | && apt-get update \ |
13 | 11 | && ACCEPT_EULA=Y apt-get install -y unixodbc-dev msodbcsql18 |
14 | 12 |
|
| 13 | +RUN apt-get install -y --no-install-recommends \ |
| 14 | + git unzip libzip-dev libicu-dev libmemcached-dev zlib1g-dev libssl-dev sqlite3 libsqlite3-dev libpq-dev mariadb-client |
| 15 | + |
15 | 16 | RUN apt autoremove && apt clean |
16 | 17 |
|
17 | 18 | RUN pecl install apcu && docker-php-ext-enable apcu |
18 | 19 | RUN pecl install pcov && docker-php-ext-enable pcov |
19 | | -RUN pecl install redis && docker-php-ext-enable redis |
| 20 | +RUN pecl install redis-6.3.0RC1 && docker-php-ext-enable redis |
20 | 21 | RUN pecl install memcached && docker-php-ext-enable memcached |
21 | | -RUN pecl install pdo_sqlsrv && docker-php-ext-enable pdo_sqlsrv |
22 | 22 | RUN docker-php-ext-install zip && docker-php-ext-enable zip |
23 | 23 | RUN docker-php-ext-install intl && docker-php-ext-enable intl |
24 | 24 | RUN docker-php-ext-install pdo_mysql && docker-php-ext-enable pdo_mysql |
25 | 25 | RUN docker-php-ext-install pdo_pgsql && docker-php-ext-enable pdo_pgsql |
26 | 26 |
|
| 27 | +RUN if [[ "${PHP_VERSION}" == *"8.5"* ]]; then \ |
| 28 | + mkdir sqlsrv \ |
| 29 | + && cd sqlsrv \ |
| 30 | + && pecl download pdo_sqlsrv-5.12.0 \ |
| 31 | + && tar xzf pdo_sqlsrv-5.12.0.tgz \ |
| 32 | + && cd pdo_sqlsrv-5.12.0 \ |
| 33 | + && sed -i 's/= dbh->error_mode;/= static_cast<pdo_error_mode>(dbh->error_mode);/' pdo_dbh.cpp \ |
| 34 | + && sed -i 's/zval_ptr_dtor( &dbh->query_stmt_zval );/OBJ_RELEASE(dbh->query_stmt_obj);dbh->query_stmt_obj=NULL;/' php_pdo_sqlsrv_int.h \ |
| 35 | + && phpize \ |
| 36 | + && ./configure --with-php-config=$(which php-config) \ |
| 37 | + && make -j$(nproc) \ |
| 38 | + && cp modules/pdo_sqlsrv.so $(php -r 'echo ini_get("extension_dir");') \ |
| 39 | + && cd / \ |
| 40 | + && rm -rf /sqlsrv; \ |
| 41 | +else \ |
| 42 | + pecl install pdo_sqlsrv; \ |
| 43 | +fi |
| 44 | + |
| 45 | +RUN docker-php-ext-enable pdo_sqlsrv |
| 46 | + |
27 | 47 | RUN mv "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini" |
28 | 48 | RUN echo "apc.enable_cli=1" >> "$PHP_INI_DIR/php.ini" |
29 | 49 |
|
|
0 commit comments