mirror of
https://github.com/archtechx/tenancy.git
synced 2025-12-12 11:34:03 +00:00
PHP 8.5 support
This commit adds support for building a docker image based on PHP 8.5 (RC). It also removes some unused code in tests that was triggering deprecation warnings. For similar deprecation warnings coming from testbench we have a temporary patch script until this is resolved upstream. This commit also adds logic to the DisallowSqliteAttach feature leveraging the new native setAuthorizer() method, instead of loading a compiled extension. We also remove the unused `php` parameter from ci.yml
This commit is contained in:
parent
91f6c61fcd
commit
fadf1001f8
7 changed files with 53 additions and 25 deletions
30
Dockerfile
30
Dockerfile
|
|
@ -1,10 +1,8 @@
|
|||
ARG PHP_VERSION=8.4
|
||||
|
||||
FROM php:${PHP_VERSION}-cli-bookworm
|
||||
SHELL ["/bin/bash", "-c"]
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
git unzip libzip-dev libicu-dev libmemcached-dev zlib1g-dev libssl-dev sqlite3 libsqlite3-dev libpq-dev mariadb-client
|
||||
RUN apt-get update
|
||||
|
||||
RUN apt-get install -y gnupg2 \
|
||||
&& curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg \
|
||||
|
|
@ -12,18 +10,40 @@ RUN apt-get install -y gnupg2 \
|
|||
&& apt-get update \
|
||||
&& ACCEPT_EULA=Y apt-get install -y unixodbc-dev msodbcsql18
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
git unzip libzip-dev libicu-dev libmemcached-dev zlib1g-dev libssl-dev sqlite3 libsqlite3-dev libpq-dev mariadb-client
|
||||
|
||||
RUN apt autoremove && apt clean
|
||||
|
||||
RUN pecl install apcu && docker-php-ext-enable apcu
|
||||
RUN pecl install pcov && docker-php-ext-enable pcov
|
||||
RUN pecl install redis && docker-php-ext-enable redis
|
||||
RUN pecl install redis-6.3.0RC1 && docker-php-ext-enable redis
|
||||
RUN pecl install memcached && docker-php-ext-enable memcached
|
||||
RUN pecl install pdo_sqlsrv && docker-php-ext-enable pdo_sqlsrv
|
||||
RUN docker-php-ext-install zip && docker-php-ext-enable zip
|
||||
RUN docker-php-ext-install intl && docker-php-ext-enable intl
|
||||
RUN docker-php-ext-install pdo_mysql && docker-php-ext-enable pdo_mysql
|
||||
RUN docker-php-ext-install pdo_pgsql && docker-php-ext-enable pdo_pgsql
|
||||
|
||||
RUN if [[ "${PHP_VERSION}" == *"8.5"* ]]; then \
|
||||
mkdir sqlsrv \
|
||||
&& cd sqlsrv \
|
||||
&& pecl download pdo_sqlsrv-5.12.0 \
|
||||
&& tar xzf pdo_sqlsrv-5.12.0.tgz \
|
||||
&& cd pdo_sqlsrv-5.12.0 \
|
||||
&& sed -i 's/= dbh->error_mode;/= static_cast<pdo_error_mode>(dbh->error_mode);/' pdo_dbh.cpp \
|
||||
&& 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 \
|
||||
&& phpize \
|
||||
&& ./configure --with-php-config=$(which php-config) \
|
||||
&& make -j$(nproc) \
|
||||
&& cp modules/pdo_sqlsrv.so $(php -r 'echo ini_get("extension_dir");') \
|
||||
&& cd / \
|
||||
&& rm -rf /sqlsrv; \
|
||||
else \
|
||||
pecl install pdo_sqlsrv; \
|
||||
fi
|
||||
|
||||
RUN docker-php-ext-enable pdo_sqlsrv
|
||||
|
||||
RUN mv "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini"
|
||||
RUN echo "apc.enable_cli=1" >> "$PHP_INI_DIR/php.ini"
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue