chore(php) #57 : bump PHP version to 8.4

This commit is contained in:
2025-07-08 11:33:13 +02:00
parent 1f49b3f56f
commit 746ca35b69
13 changed files with 271 additions and 104 deletions

4
.gitignore vendored
View File

@ -39,3 +39,7 @@ composer.phar
npm-debug.log
yarn-error.log
###< symfony/webpack-encore-bundle ###
###> phpstan/phpstan ###
phpstan.neon
###< phpstan/phpstan ###

View File

@ -4,7 +4,7 @@
"minimum-stability": "stable",
"prefer-stable": true,
"require": {
"php": ">=7.2.5",
"php": "^8.4",
"ext-ctype": "*",
"ext-iconv": "*",
"doctrine/annotations": "^1.13",
@ -80,6 +80,7 @@
}
},
"require-dev": {
"rector/rector": "^2.1",
"symfony/debug-bundle": "5.4.*"
}
}

254
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "203398b3a4f3ff689ff3341c02460f23",
"content-hash": "647d67f62039f006d5d0115d9874991e",
"packages": [
{
"name": "clue/stream-filter",
@ -974,16 +974,16 @@
},
{
"name": "predis/predis",
"version": "v2.3.0",
"version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/predis/predis.git",
"reference": "bac46bfdb78cd6e9c7926c697012aae740cb9ec9"
"reference": "f49e13ee3a2a825631562aa0223ac922ec5d058b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/predis/predis/zipball/bac46bfdb78cd6e9c7926c697012aae740cb9ec9",
"reference": "bac46bfdb78cd6e9c7926c697012aae740cb9ec9",
"url": "https://api.github.com/repos/predis/predis/zipball/f49e13ee3a2a825631562aa0223ac922ec5d058b",
"reference": "f49e13ee3a2a825631562aa0223ac922ec5d058b",
"shasum": ""
},
"require": {
@ -992,6 +992,7 @@
"require-dev": {
"friendsofphp/php-cs-fixer": "^3.3",
"phpstan/phpstan": "^1.9",
"phpunit/phpcov": "^6.0 || ^8.0",
"phpunit/phpunit": "^8.0 || ^9.4"
},
"suggest": {
@ -1014,7 +1015,7 @@
"role": "Maintainer"
}
],
"description": "A flexible and feature-complete Redis client for PHP.",
"description": "A flexible and feature-complete Redis/Valkey client for PHP.",
"homepage": "http://github.com/predis/predis",
"keywords": [
"nosql",
@ -1023,7 +1024,7 @@
],
"support": {
"issues": "https://github.com/predis/predis/issues",
"source": "https://github.com/predis/predis/tree/v2.3.0"
"source": "https://github.com/predis/predis/tree/v2.4.0"
},
"funding": [
{
@ -1031,7 +1032,7 @@
"type": "github"
}
],
"time": "2024-11-21T20:00:02+00:00"
"time": "2025-04-30T15:16:02+00:00"
},
{
"name": "psr/cache",
@ -2250,16 +2251,16 @@
},
{
"name": "symfony/deprecation-contracts",
"version": "v3.5.1",
"version": "v3.6.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
"reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6"
"reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",
"reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62",
"reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62",
"shasum": ""
},
"require": {
@ -2272,7 +2273,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
"dev-main": "3.5-dev"
"dev-main": "3.6-dev"
}
},
"autoload": {
@ -2297,7 +2298,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.1"
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0"
},
"funding": [
{
@ -2313,7 +2314,7 @@
"type": "tidelift"
}
],
"time": "2024-09-25T14:20:29+00:00"
"time": "2024-09-25T14:21:43+00:00"
},
{
"name": "symfony/dotenv",
@ -2544,16 +2545,16 @@
},
{
"name": "symfony/event-dispatcher-contracts",
"version": "v3.5.1",
"version": "v3.6.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
"reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f"
"reference": "59eb412e93815df44f05f342958efa9f46b1e586"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7642f5e970b672283b7823222ae8ef8bbc160b9f",
"reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f",
"url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586",
"reference": "59eb412e93815df44f05f342958efa9f46b1e586",
"shasum": ""
},
"require": {
@ -2567,7 +2568,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
"dev-main": "3.5-dev"
"dev-main": "3.6-dev"
}
},
"autoload": {
@ -2600,7 +2601,7 @@
"standards"
],
"support": {
"source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.1"
"source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.6.0"
},
"funding": [
{
@ -2616,7 +2617,7 @@
"type": "tidelift"
}
],
"time": "2024-09-25T14:20:29+00:00"
"time": "2024-09-25T14:21:43+00:00"
},
{
"name": "symfony/expression-language",
@ -2813,16 +2814,16 @@
},
{
"name": "symfony/flex",
"version": "v2.5.0",
"version": "v2.8.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/flex.git",
"reference": "8ce1acd9842abe0e9b4c4a0bd3f259859516c018"
"reference": "423c36e369361003dc31ef11c5f15fb589e52c01"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/flex/zipball/8ce1acd9842abe0e9b4c4a0bd3f259859516c018",
"reference": "8ce1acd9842abe0e9b4c4a0bd3f259859516c018",
"url": "https://api.github.com/repos/symfony/flex/zipball/423c36e369361003dc31ef11c5f15fb589e52c01",
"reference": "423c36e369361003dc31ef11c5f15fb589e52c01",
"shasum": ""
},
"require": {
@ -2861,7 +2862,7 @@
"description": "Composer plugin for Symfony",
"support": {
"issues": "https://github.com/symfony/flex/issues",
"source": "https://github.com/symfony/flex/tree/v2.5.0"
"source": "https://github.com/symfony/flex/tree/v2.8.1"
},
"funding": [
{
@ -2877,7 +2878,7 @@
"type": "tidelift"
}
],
"time": "2025-03-03T07:50:46+00:00"
"time": "2025-07-05T07:45:19+00:00"
},
{
"name": "symfony/form",
@ -3714,7 +3715,7 @@
},
{
"name": "symfony/polyfill-intl-grapheme",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
@ -3772,7 +3773,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.32.0"
},
"funding": [
{
@ -3792,16 +3793,16 @@
},
{
"name": "symfony/polyfill-intl-icu",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-icu.git",
"reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78"
"reference": "763d2a91fea5681509ca01acbc1c5e450d127811"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78",
"reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78",
"url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/763d2a91fea5681509ca01acbc1c5e450d127811",
"reference": "763d2a91fea5681509ca01acbc1c5e450d127811",
"shasum": ""
},
"require": {
@ -3856,7 +3857,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.32.0"
},
"funding": [
{
@ -3872,11 +3873,11 @@
"type": "tidelift"
}
],
"time": "2024-09-09T11:45:10+00:00"
"time": "2024-12-21T18:38:29+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
@ -3937,7 +3938,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.32.0"
},
"funding": [
{
@ -3957,19 +3958,20 @@
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341"
"reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341",
"reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493",
"reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493",
"shasum": ""
},
"require": {
"ext-iconv": "*",
"php": ">=7.2"
},
"provide": {
@ -4017,7 +4019,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.32.0"
},
"funding": [
{
@ -4033,11 +4035,11 @@
"type": "tidelift"
}
],
"time": "2024-09-09T11:45:10+00:00"
"time": "2024-12-23T08:48:59+00:00"
},
{
"name": "symfony/polyfill-php73",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php73.git",
@ -4093,7 +4095,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php73/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-php73/tree/v1.32.0"
},
"funding": [
{
@ -4113,16 +4115,16 @@
},
{
"name": "symfony/polyfill-php80",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
"reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8"
"reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
"reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608",
"reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608",
"shasum": ""
},
"require": {
@ -4173,7 +4175,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-php80/tree/v1.32.0"
},
"funding": [
{
@ -4189,11 +4191,11 @@
"type": "tidelift"
}
],
"time": "2024-09-09T11:45:10+00:00"
"time": "2025-01-02T08:10:11+00:00"
},
{
"name": "symfony/polyfill-php81",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php81.git",
@ -4249,7 +4251,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-php81/tree/v1.32.0"
},
"funding": [
{
@ -5951,16 +5953,16 @@
},
{
"name": "symfony/var-exporter",
"version": "v6.4.20",
"version": "v6.4.22",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-exporter.git",
"reference": "998df255e9e6a15a36ae35e9c6cd818c17cf92a2"
"reference": "f28cf841f5654955c9f88ceaf4b9dc29571988a9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/var-exporter/zipball/998df255e9e6a15a36ae35e9c6cd818c17cf92a2",
"reference": "998df255e9e6a15a36ae35e9c6cd818c17cf92a2",
"url": "https://api.github.com/repos/symfony/var-exporter/zipball/f28cf841f5654955c9f88ceaf4b9dc29571988a9",
"reference": "f28cf841f5654955c9f88ceaf4b9dc29571988a9",
"shasum": ""
},
"require": {
@ -6008,7 +6010,7 @@
"serialize"
],
"support": {
"source": "https://github.com/symfony/var-exporter/tree/v6.4.20"
"source": "https://github.com/symfony/var-exporter/tree/v6.4.22"
},
"funding": [
{
@ -6024,7 +6026,7 @@
"type": "tidelift"
}
],
"time": "2025-03-13T09:55:08+00:00"
"time": "2025-05-14T13:00:13+00:00"
},
{
"name": "symfony/web-profiler-bundle",
@ -6256,16 +6258,16 @@
},
{
"name": "twig/twig",
"version": "v3.20.0",
"version": "v3.21.1",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
"reference": "3468920399451a384bef53cf7996965f7cd40183"
"reference": "285123877d4dd97dd7c11842ac5fb7e86e60d81d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/3468920399451a384bef53cf7996965f7cd40183",
"reference": "3468920399451a384bef53cf7996965f7cd40183",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/285123877d4dd97dd7c11842ac5fb7e86e60d81d",
"reference": "285123877d4dd97dd7c11842ac5fb7e86e60d81d",
"shasum": ""
},
"require": {
@ -6319,7 +6321,7 @@
],
"support": {
"issues": "https://github.com/twigphp/Twig/issues",
"source": "https://github.com/twigphp/Twig/tree/v3.20.0"
"source": "https://github.com/twigphp/Twig/tree/v3.21.1"
},
"funding": [
{
@ -6331,10 +6333,128 @@
"type": "tidelift"
}
],
"time": "2025-02-13T08:34:43+00:00"
"time": "2025-05-03T07:21:55+00:00"
}
],
"packages-dev": [
{
"name": "phpstan/phpstan",
"version": "2.1.17",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
"reference": "89b5ef665716fa2a52ecd2633f21007a6a349053"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/89b5ef665716fa2a52ecd2633f21007a6a349053",
"reference": "89b5ef665716fa2a52ecd2633f21007a6a349053",
"shasum": ""
},
"require": {
"php": "^7.4|^8.0"
},
"conflict": {
"phpstan/phpstan-shim": "*"
},
"bin": [
"phpstan",
"phpstan.phar"
],
"type": "library",
"autoload": {
"files": [
"bootstrap.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "PHPStan - PHP Static Analysis Tool",
"keywords": [
"dev",
"static analysis"
],
"support": {
"docs": "https://phpstan.org/user-guide/getting-started",
"forum": "https://github.com/phpstan/phpstan/discussions",
"issues": "https://github.com/phpstan/phpstan/issues",
"security": "https://github.com/phpstan/phpstan/security/policy",
"source": "https://github.com/phpstan/phpstan-src"
},
"funding": [
{
"url": "https://github.com/ondrejmirtes",
"type": "github"
},
{
"url": "https://github.com/phpstan",
"type": "github"
}
],
"time": "2025-05-21T20:55:28+00:00"
},
{
"name": "rector/rector",
"version": "2.1.0",
"source": {
"type": "git",
"url": "https://github.com/rectorphp/rector.git",
"reference": "d513dea45a94394b660e15c155d1fa27826f8e30"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/rectorphp/rector/zipball/d513dea45a94394b660e15c155d1fa27826f8e30",
"reference": "d513dea45a94394b660e15c155d1fa27826f8e30",
"shasum": ""
},
"require": {
"php": "^7.4|^8.0",
"phpstan/phpstan": "^2.1.17"
},
"conflict": {
"rector/rector-doctrine": "*",
"rector/rector-downgrade-php": "*",
"rector/rector-phpunit": "*",
"rector/rector-symfony": "*"
},
"suggest": {
"ext-dom": "To manipulate phpunit.xml via the custom-rule command"
},
"bin": [
"bin/rector"
],
"type": "library",
"autoload": {
"files": [
"bootstrap.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "Instant Upgrade and Automated Refactoring of any PHP code",
"homepage": "https://getrector.com/",
"keywords": [
"automation",
"dev",
"migration",
"refactoring"
],
"support": {
"issues": "https://github.com/rectorphp/rector/issues",
"source": "https://github.com/rectorphp/rector/tree/2.1.0"
},
"funding": [
{
"url": "https://github.com/tomasvotruba",
"type": "github"
}
],
"time": "2025-06-24T20:26:57+00:00"
},
{
"name": "symfony/debug-bundle",
"version": "v5.4.45",
@ -6421,7 +6541,7 @@
"prefer-stable": true,
"prefer-lowest": false,
"platform": {
"php": ">=7.2.5",
"php": "^8.4",
"ext-ctype": "*",
"ext-iconv": "*"
},

View File

@ -8,7 +8,7 @@
# Using SetHandler avoids issues with using ProxyPassMatch in combination
# with mod_rewrite or mod_autoindex
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.1-fpm.sock|fcgi://127.0.0.1:9000"
SetHandler "proxy:unix:/run/php/php8.4-fpm.sock|fcgi://127.0.0.1:9000"
# for Unix sockets, Apache 2.4.10 or higher
# SetHandler proxy:unix:/path/to/fpm.sock|fcgi://dummy
</FilesMatch>

View File

@ -7,7 +7,7 @@ ARG https_proxy=
ENV WAITFORIT_VERSION="v2.4.1"
ARG PHP_VERSION="8.1"
ARG PHP_VERSION="8.4"
ENV PHP_VERSION $PHP_VERSION
RUN export DEBIAN_FRONTEND=noninteractive && \
@ -68,14 +68,14 @@ RUN chmod +x /var/www/install-composer.sh &&\
# On active les mods d'apache nécessaires
RUN a2enmod rewrite
RUN a2enmod proxy_fcgi setenvif
RUN a2enconf php8.1-fpm
RUN a2enconf php8.4-fpm
RUN a2enmod proxy
RUN a2enmod expires
RUN a2enmod headers
# On injecte les bonnes configs apache et php-fpm
COPY 000-default.conf /etc/apache2/sites-available/000-default.conf
COPY www.conf /etc/php/8.1/fpm/pool.d/www.conf
COPY www.conf /etc/php/8.4/fpm/pool.d/www.conf
EXPOSE 5000
EXPOSE 80
@ -83,8 +83,8 @@ EXPOSE 80
WORKDIR /var/www
# On démarre php-fpm une fois pour créer les sockets
RUN service php8.1-fpm start
RUN service php8.1-fpm stop
RUN service php8.4-fpm start
RUN service php8.4-fpm stop
COPY docker-entrypoint.sh /docker-entrypoint.sh
@ -99,7 +99,7 @@ RUN sed -i '/imklog/s/^/#/' /etc/rsyslog.conf
COPY rsyslog.conf /etc/rsyslog.d/var/www.conf
COPY supervisor.ini /etc/supervisor/supervisor.ini
COPY php.ini /etc/php/8.1/fpm/php.ini
COPY php.ini /etc/php/8.4/fpm/php.ini
VOLUME /container-lifecycle

View File

@ -26,7 +26,7 @@ stderr_logfile_maxbytes=0
[program:php-fpm]
environment=HOSTNAME="%(ENV_HOSTNAME)s"
command = /usr/sbin/php-fpm8.1 -F
command = /usr/sbin/php-fpm8.4 -F
autostart = true
autorestart = true
directory = /var/www

View File

@ -6,7 +6,7 @@ error_log=/dev/stderr
user = www-data
group = www-data
listen = /run/php/php8.1-fpm.sock
listen = /run/php/php8.4-fpm.sock
listen.owner = www-data
listen.group = www-data

View File

@ -1,24 +1,23 @@
ARG NODE_OPTIONS="--openssl-legacy-provider" \
PHP_PKG_VERSION="8.1.22-r0" \
PHP_PKG_VERSION="8.4.5-r0" \
ENCORE_MODE="production" \
APP_ENV="prod" \
BASE_PATH="" \
APP_LOCALES="fr,en" \
ADDITIONAL_PACKAGES=" \
php81-gd=${PHP_PKG_VERSION} \
php81-xsl=${PHP_PKG_VERSION} \
php81-pdo=${PHP_PKG_VERSION} \
php81-pgsql=${PHP_PKG_VERSION} \
php81-pdo_pgsql=${PHP_PKG_VERSION} \
php81-soap=${PHP_PKG_VERSION} \
php81-ldap=${PHP_PKG_VERSION} \
php81-pdo_mysql=${PHP_PKG_VERSION} \
php81-bcmath=${PHP_PKG_VERSION} \
php81-pecl-xdebug" \
php84-gd=${PHP_PKG_VERSION} \
php84-xsl=${PHP_PKG_VERSION} \
php84-pgsql=${PHP_PKG_VERSION} \
php84-pdo_pgsql=${PHP_PKG_VERSION} \
php84-soap=${PHP_PKG_VERSION} \
php84-ldap=${PHP_PKG_VERSION} \
php84-pdo_mysql=${PHP_PKG_VERSION} \
php84-bcmath=${PHP_PKG_VERSION} \
php84-xdebug" \
ADDITIONAL_ENV=" \
ENCORE_MODE=${ENCORE_MODE} \
APP_ENV=${APP_ENV} \
BASE_PATH=${BASE_PATH} \
APP_LOCALES=${APP_LOCALES}"
FROM reg.cadoles.com/cadoles/symfony:alpine-php-8.1-base-2025.6.12-stable.1038.48ea3b9
FROM reg.cadoles.com/cadoles/symfony:alpine-php-8.4-base-2025.6.12-stable.1038.48ea3b9

View File

@ -1,25 +1,24 @@
ARG NODE_OPTIONS="--openssl-legacy-provider" \
PHP_PKG_VERSION="8.1.22-r0" \
PHP_PKG_VERSION="8.4.5-r0" \
ENCORE_MODE="production" \
APP_ENV="prod" \
BASE_PATH="" \
APP_LOCALES="fr,en" \
ADDITIONAL_PACKAGES=" \
php81-gd=${PHP_PKG_VERSION} \
php81-xsl=${PHP_PKG_VERSION} \
php81-pdo=${PHP_PKG_VERSION} \
php81-pgsql=${PHP_PKG_VERSION} \
php81-pdo_pgsql=${PHP_PKG_VERSION} \
php81-soap=${PHP_PKG_VERSION} \
php81-ldap=${PHP_PKG_VERSION} \
php81-pdo_mysql=${PHP_PKG_VERSION} \
php81-bcmath=${PHP_PKG_VERSION} \
php81-pecl-xdebug" \
php84-gd=${PHP_PKG_VERSION} \
php84-xsl=${PHP_PKG_VERSION} \
php84-pgsql=${PHP_PKG_VERSION} \
php84-pdo_pgsql=${PHP_PKG_VERSION} \
php84-soap=${PHP_PKG_VERSION} \
php84-ldap=${PHP_PKG_VERSION} \
php84-pdo_mysql=${PHP_PKG_VERSION} \
php84-bcmath=${PHP_PKG_VERSION} \
php84-xdebug" \
ADDITIONAL_ENV=" \
ENCORE_MODE=${ENCORE_MODE} \
APP_ENV=${APP_ENV} \
BASE_PATH=${BASE_PATH} \
APP_LOCALES=${APP_LOCALES}"
FROM reg.cadoles.com/cadoles/symfony:alpine-php-8.1-standalone-2025.6.12-stable.1038.48ea3b9
FROM reg.cadoles.com/cadoles/symfony:alpine-php-8.4-standalone-2025.6.12-stable.1038.48ea3b9
USER www-data

8
phpstan.dist.neon Normal file
View File

@ -0,0 +1,8 @@
parameters:
level: 6
paths:
- bin/
- config/
- public/
- src/
- tests/

15
rector.php Normal file
View File

@ -0,0 +1,15 @@
<?php
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Set\ValueObject\LevelSetList;
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->paths([__DIR__ . '/src']);
// Upgrade to PHP 8.4 syntax
$rectorConfig->sets([
LevelSetList::UP_TO_PHP_84,
]);
};

View File

@ -8,8 +8,8 @@ use Symfony\Contracts\HttpClient\ResponseInterface;
class Client
{
private const MAX_RETRY = 3;
private const SLEEP_TIME = [
private const int MAX_RETRY = 3;
private const array SLEEP_TIME = [
5,
500,
5000,
@ -78,7 +78,7 @@ class Client
$status = $response->getStatusCode();
if (503 === $status) {
++$attempt;
usleep(1000 * self::SLEEP_TIME[$attempt] + rand(1, 5) * 1000);
usleep(1000 * self::SLEEP_TIME[$attempt] + random_int(1, 5) * 1000);
continue;
}
switch ($status) {

View File

@ -11,6 +11,15 @@
"config/routes/annotations.yaml"
]
},
"doctrine/deprecations": {
"version": "1.1",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "main",
"version": "1.0",
"ref": "87424683adc81d7dc305eefec1fced883084aab9"
}
},
"php-http/discovery": {
"version": "1.19",
"recipe": {
@ -23,6 +32,18 @@
"config/packages/http_discovery.yaml"
]
},
"phpstan/phpstan": {
"version": "2.1",
"recipe": {
"repo": "github.com/symfony/recipes-contrib",
"branch": "main",
"version": "1.0",
"ref": "5e490cc197fb6bb1ae22e5abbc531ddc633b6767"
},
"files": [
"phpstan.dist.neon"
]
},
"sentry/sentry-symfony": {
"version": "4.14",
"recipe": {