Add PHP 8.3 #15

Merged
nupplaPhil merged 1 commit from toddy/friendica-docker-ci:stable into stable 2024-03-15 22:45:02 +01:00
2 changed files with 47 additions and 0 deletions

30
php8.3/Dockerfile Normal file
View file

@ -0,0 +1,30 @@
FROM debian:bookworm
# install the PHP extensions we need
# see https://friendi.ca/resources/requirements/
RUN set -ex; \
apt-get update; \
DEBIAN_FRONTEND=noninteractive apt-get install -q -y wget gnupg2 apt-transport-https lsb-release ca-certificates mariadb-client; \
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg; \
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list; \
apt-get update; \
DEBIAN_FRONTEND=noninteractive apt-get install -q -y php8.3-gd git curl openssl \
php8.3-cli php8.3-curl php8.3-mysql wget make \
php8.3-redis php8.3-intl php8.3-memcached php8.3-memcache \
php8.3-apcu php8.3-xdebug php8.3-xml php8.3-zip php8.3-dev php8.3-mbstring; \
Review

Why do we install the XDebug extension only to disable it later?

Why do we install the XDebug extension only to disable it later?
Review

Great question. 🙂

I've just copied the files from PHP 8.2 and adapted them for PHP 8.3, so this slipped through. However, from a quick look at the other Dockerfiles, this is done in every one of them from PHP 7.3 up to PHP 8.2.

If there's no reason to enable the XDebug module, we could remove it from all Dockerfiles. I'm leaving that decision to someone who knows better about the Docker setup for Friendica.

Great question. 🙂 I've just copied the files from PHP 8.2 and adapted them for PHP 8.3, so this slipped through. However, from a quick look at the other Dockerfiles, this is done in every one of them from PHP 7.3 up to PHP 8.2. If there's no reason to enable the XDebug module, we could remove it from all Dockerfiles. I'm leaving that decision to someone who knows better about the Docker setup for Friendica.
Review

Paging @nupplaPhil for the general setup.

Paging @nupplaPhil for the general setup.
apt-get autoremove -y; apt-get autoclean; apt-get clean; \
rm -rf /tmp/* /var/tmp/* /var/lib/apt/lists/*;
RUN phpenmod curl pdo pdo_mysql xml gd zip opcache mbstring posix ctype iconv intl
RUN set -ex; \
curl -O -L https://phar.phpunit.de/phpunit-9.phar; \
chmod +x phpunit-9.phar; \
mv phpunit-9.phar /usr/local/bin/phpunit;
RUN set -ex; \
curl -O -L https://getcomposer.org/download/1.10.15/composer.phar; \
chmod +x composer.phar; \
mv composer.phar /usr/local/bin/composer;
RUN phpdismod xdebug
ADD php.ini /etc/php/8.3/cli/conf.d/friendica.ini

17
php8.3/php.ini Normal file
View file

@ -0,0 +1,17 @@
memory_limit = 768M
phar.readonly = 0 ; only for building phar files on CI - should be disabled on production environments
; Opcache
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
apc.enabled=1
apc.enable_cli=1
error_reporting=-1
log_errors_max_len=0
zend.assertions=1
assert.exception=1
xdebug.show_exception_trace=0