Compare commits
77 Commits
fc87b24c4e
...
frankenphp
Author | SHA1 | Date | |
---|---|---|---|
21cef8a495 | |||
a2346cfd34 | |||
d15579578e | |||
97289f96fd | |||
9318e753c1 | |||
d79cf65bb4 | |||
7448a9af4d | |||
3933f8bfba | |||
6faf465733 | |||
5f2654c3c4 | |||
2e5e1e72ae | |||
746ca35b69 | |||
1f49b3f56f | |||
e0ae569e95 | |||
ab37dfb02e | |||
f5d3a8d83b | |||
646c346537 | |||
a45b9ddaec | |||
64d1c1c7a9 | |||
d7dfdea0e2 | |||
11468596dd | |||
0c0667fb33 | |||
176a6a8e68 | |||
7825f5246f | |||
8589c385d6 | |||
5e849ae6f5 | |||
fe12b4fc69 | |||
642f56dafa | |||
945a558565 | |||
79337efef0 | |||
303b0279f8 | |||
12523398f6 | |||
1cb5ae6bc3 | |||
7239d841d4 | |||
a5d5a18190 | |||
075be9b0df | |||
4e4c5d8e7b | |||
7032787d8c | |||
999e708ff7 | |||
cb8361e7d1 | |||
e3f406a8bb | |||
d6d9e81df6 | |||
8e56433216 | |||
19178bbe3b | |||
14668150cb | |||
0903151f27 | |||
f378751f7a | |||
d707a91694 | |||
f39ab1626e | |||
fe4d683c20 | |||
f36a675d22 | |||
27f957124b | |||
a1049a55a2 | |||
085533b299 | |||
5bfd8991ee | |||
18c0edbe5b | |||
fa77278c55 | |||
daa5eaaa63 | |||
769e7ed59e | |||
abe212c7ad | |||
890c44da0c | |||
4465d0097e | |||
f9d7e94420 | |||
e03312be7d | |||
69f0a607a3 | |||
51c92a0dba | |||
0791727694 | |||
3e45119684 | |||
5aacd981b4 | |||
fc4cecf106 | |||
d26920695f | |||
fc348943c8 | |||
afd5349a7c | |||
562c7cb7b7 | |||
bcc91a17b4 | |||
cd888d2080 | |||
0cdb4c3a36 |
@@ -1,14 +1,18 @@
|
|||||||
.env.local
|
*
|
||||||
.env.local.php
|
!/misc/files
|
||||||
.env.*.local
|
!/assets
|
||||||
config/secrets/prod/prod.decrypt.private.php
|
!/bin
|
||||||
public/bundles/
|
!/config
|
||||||
var/
|
!/public
|
||||||
vendor/
|
!/src
|
||||||
supervisord.log
|
!/templates
|
||||||
supervisord.pid
|
!/translations
|
||||||
.composer/
|
!/.env
|
||||||
.vscode
|
!/composer.json
|
||||||
composer.phar
|
!/composer.lock
|
||||||
/tools
|
!/package-lock.json
|
||||||
/.trivy
|
!/package.json
|
||||||
|
!/symfony.lock
|
||||||
|
!/webpack.config.js
|
||||||
|
|
||||||
|
/public/build
|
23
.env
23
.env
@@ -14,9 +14,11 @@
|
|||||||
# https://symfony.com/doc/current/best_practices.html#use-environment-variables-for-infrastructure-configuration
|
# https://symfony.com/doc/current/best_practices.html#use-environment-variables-for-infrastructure-configuration
|
||||||
|
|
||||||
###> symfony/framework-bundle ###
|
###> symfony/framework-bundle ###
|
||||||
APP_ENV=dev
|
APP_ENV=prod
|
||||||
APP_SECRET=406ccaa0c76a451fdcc2307ea146cbef
|
APP_SECRET=406ccaa0c76a451fdcc2307ea146cbef
|
||||||
URL_LINK="http://localhost"
|
URL_LINK="http://localhost"
|
||||||
|
VERSION=sql-dev
|
||||||
|
ENABLED_LOCALES='{["en","fr"]}'
|
||||||
|
|
||||||
# configuration bdd
|
# configuration bdd
|
||||||
DSN_REMOTE_DATABASE="pgsql:host='postgres';port=5432;dbname=lasql"
|
DSN_REMOTE_DATABASE="pgsql:host='postgres';port=5432;dbname=lasql"
|
||||||
@@ -24,20 +26,23 @@ DSN_REMOTE_DATABASE="pgsql:host='postgres';port=5432;dbname=lasql"
|
|||||||
DB_USER="lasql"
|
DB_USER="lasql"
|
||||||
DB_PASSWORD="lasql"
|
DB_PASSWORD="lasql"
|
||||||
|
|
||||||
ISSUER_URL="http://localhost:8000"
|
ISSUER_URL="http://localhost:10502"
|
||||||
BASE_URL='http://localhost:8080'
|
BASE_URL='http://localhost:10500'
|
||||||
# connexion hydra
|
# connexion hydra
|
||||||
HYDRA_ADMIN_BASE_URL='http://hydra:4445'
|
HYDRA_ADMIN_BASE_URL='http://hydra:4445'
|
||||||
APP_LOCALES="fr,en"
|
APP_LOCALES="fr,en"
|
||||||
SECURITY_PATTERN=
|
SECURITY_PATTERN=
|
||||||
HASH_ALGO_LEGACY="sha256,ssha"
|
HASH_ALGO_LEGACY="sha256,ssha"
|
||||||
###> symfony/lock ###
|
|
||||||
# Choose one of the stores below
|
|
||||||
# postgresql+advisory://db_user:db_password@localhost/db_name
|
|
||||||
LOCK_DSN=flock
|
|
||||||
###< symfony/lock ###
|
|
||||||
|
|
||||||
###> sentry/sentry-symfony ###
|
###> sentry/sentry-symfony ###
|
||||||
SENTRY_DSN=
|
SENTRY_DSN=
|
||||||
###< sentry/sentry-symfony ###
|
###< sentry/sentry-symfony ###
|
||||||
REDIS_DSN=redis://redis:6379
|
REDIS_DSN=redis://redis:6379
|
||||||
|
|
||||||
|
### Altcha
|
||||||
|
ALTCHA_HOST='http://altcha:3333'
|
||||||
|
ALTCHA_BASE_URL=''
|
||||||
|
ALTCHA_DEBUG=false
|
||||||
|
ALTCHA_WORKERS=8
|
||||||
|
ALTCHA_DELAY=100
|
||||||
|
ALTCHA_MOCK_ERROR=false
|
||||||
|
ALTCHA_ENABLED=true
|
||||||
|
22
.gitignore
vendored
22
.gitignore
vendored
@@ -21,3 +21,25 @@ composer.phar
|
|||||||
/tools
|
/tools
|
||||||
/.trivy
|
/.trivy
|
||||||
.mktools/
|
.mktools/
|
||||||
|
.php-cs-fixer.cache
|
||||||
|
|
||||||
|
###> symfony/framework-bundle ###
|
||||||
|
/.env.local
|
||||||
|
/.env.local.php
|
||||||
|
/.env.*.local
|
||||||
|
/config/secrets/prod/prod.decrypt.private.php
|
||||||
|
/public/bundles/
|
||||||
|
/var/
|
||||||
|
/vendor/
|
||||||
|
###< symfony/framework-bundle ###
|
||||||
|
|
||||||
|
###> symfony/webpack-encore-bundle ###
|
||||||
|
/node_modules/
|
||||||
|
/public/build/
|
||||||
|
npm-debug.log
|
||||||
|
yarn-error.log
|
||||||
|
###< symfony/webpack-encore-bundle ###
|
||||||
|
|
||||||
|
###> phpstan/phpstan ###
|
||||||
|
phpstan.neon
|
||||||
|
###< phpstan/phpstan ###
|
||||||
|
2
Jenkinsfile
vendored
2
Jenkinsfile
vendored
@@ -4,7 +4,7 @@
|
|||||||
// Utilisation du pipeline partagé pour les applications Symfony de Cadoles
|
// Utilisation du pipeline partagé pour les applications Symfony de Cadoles
|
||||||
// Le nom de l'image Docker passée en paramètre vous permet de préciser l'environnement de test
|
// Le nom de l'image Docker passée en paramètre vous permet de préciser l'environnement de test
|
||||||
// de votre application Symfony
|
// de votre application Symfony
|
||||||
symfonyAppPipeline('ubuntu:22.04', [
|
symfonyAppPipeline('ubuntu:25.04', [
|
||||||
'hooks': [
|
'hooks': [
|
||||||
// Run docker image build, verification and publication stages
|
// Run docker image build, verification and publication stages
|
||||||
'postSymfonyAppPipeline': {
|
'postSymfonyAppPipeline': {
|
||||||
|
4
Makefile
4
Makefile
@@ -5,10 +5,14 @@ IMAGES := $(foreach file, $(wildcard $(IMAGES_DIR)/*), $(basename $(notdir $(fil
|
|||||||
|
|
||||||
TRIVY_ARGS ?=
|
TRIVY_ARGS ?=
|
||||||
|
|
||||||
|
php-cs-fixer:
|
||||||
|
PHP_CS_FIXER_IGNORE_ENV=1 tools/php-cs-fixer/vendor/bin/php-cs-fixer -v fix --config=./tools/php-cs-fixer/.php-cs-fixer.dist.php
|
||||||
|
|
||||||
build-image: $(foreach image, $(IMAGES), build-image-$(image))
|
build-image: $(foreach image, $(IMAGES), build-image-$(image))
|
||||||
|
|
||||||
build-image-%:
|
build-image-%:
|
||||||
docker build \
|
docker build \
|
||||||
|
--build-arg "VERSION=$(MKT_PROJECT_VERSION)" \
|
||||||
-t "${IMAGE_REPO}/$*:latest" \
|
-t "${IMAGE_REPO}/$*:latest" \
|
||||||
-f ${IMAGES_DIR}/$*/Dockerfile \
|
-f ${IMAGES_DIR}/$*/Dockerfile \
|
||||||
.
|
.
|
||||||
|
@@ -8,5 +8,4 @@
|
|||||||
// any CSS you import will output into a single css file (app.css in this case)
|
// any CSS you import will output into a single css file (app.css in this case)
|
||||||
import './styles/app.scss';
|
import './styles/app.scss';
|
||||||
|
|
||||||
// start the Stimulus application
|
import 'altcha';
|
||||||
import './bootstrap';
|
|
||||||
|
11
assets/bootstrap.js
vendored
11
assets/bootstrap.js
vendored
@@ -1,11 +0,0 @@
|
|||||||
import { startStimulusApp } from '@symfony/stimulus-bridge';
|
|
||||||
|
|
||||||
// Registers Stimulus controllers from controllers.json and in the controllers/ directory
|
|
||||||
export const app = startStimulusApp(require.context(
|
|
||||||
'@symfony/stimulus-bridge/lazy-controller-loader!./controllers',
|
|
||||||
true,
|
|
||||||
/\.[jt]sx?$/
|
|
||||||
));
|
|
||||||
|
|
||||||
// register any custom, 3rd party controllers here
|
|
||||||
// app.register('some_controller_name', SomeImportedController);
|
|
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"controllers": [],
|
|
||||||
"entrypoints": []
|
|
||||||
}
|
|
@@ -1,16 +0,0 @@
|
|||||||
import { Controller } from '@hotwired/stimulus';
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This is an example Stimulus controller!
|
|
||||||
*
|
|
||||||
* Any element with a data-controller="hello" attribute will cause
|
|
||||||
* this controller to be executed. The name "hello" comes from the filename:
|
|
||||||
* hello_controller.js -> "hello"
|
|
||||||
*
|
|
||||||
* Delete this file or adapt it for your use!
|
|
||||||
*/
|
|
||||||
export default class extends Controller {
|
|
||||||
connect() {
|
|
||||||
this.element.textContent = 'Hello Stimulus! Edit me in assets/controllers/hello_controller.js';
|
|
||||||
}
|
|
||||||
}
|
|
5
assets/theme-entrypoint.js
Normal file
5
assets/theme-entrypoint.js
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
import './styles/theme.css'
|
||||||
|
|
||||||
|
import 'altcha';
|
||||||
|
import 'altcha/i18n/all';
|
||||||
|
import theme from './theme';
|
3
assets/theme.js
Normal file
3
assets/theme.js
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
export default function theme() {
|
||||||
|
|
||||||
|
}
|
@@ -1,40 +1,53 @@
|
|||||||
version: "3.8"
|
|
||||||
services:
|
services:
|
||||||
|
haproxy:
|
||||||
|
image: haproxy:2.6.22
|
||||||
|
volumes:
|
||||||
|
- ./misc/compose/haproxy/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg
|
||||||
|
ports:
|
||||||
|
- 10500:10500
|
||||||
|
- 10501:10501
|
||||||
|
- 10503:10503
|
||||||
hydra-sql:
|
hydra-sql:
|
||||||
container_name: hydra-sql
|
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: ./misc/images/hydra-sql-standalone/Dockerfile
|
dockerfile: ./misc/images/hydra-sql-dev/Dockerfile
|
||||||
args:
|
args:
|
||||||
- HTTP_PROXY=${HTTP_PROXY}
|
- SERVER_NAME=http://localhost:10500
|
||||||
- HTTPS_PROXY=${HTTPS_PROXY}
|
|
||||||
- http_proxy=${http_proxy}
|
|
||||||
- https_proxy=${https_proxy}
|
|
||||||
ports:
|
|
||||||
- 8082:8071
|
|
||||||
volumes:
|
|
||||||
- ./src:/app/src
|
|
||||||
- ./config:/app/config
|
|
||||||
- /etc/localtime:/etc/localtime:ro
|
|
||||||
- $HOME/.ssh:/root/.host-ssh:ro
|
|
||||||
tmpfs:
|
|
||||||
- /var/www/var/logs:uid=${FIXUID:-1000},gid=${FIXGID:-1000}
|
|
||||||
- /var/www/var/cache:uid=${FIXUID:-1000},gid=${FIXGID:-1000}
|
|
||||||
- /var/www/public/build:uid=${FIXUID:-1000},gid=${FIXGID:-1000}
|
|
||||||
- /tmp
|
|
||||||
links:
|
links:
|
||||||
- hydra
|
- hydra
|
||||||
extra_hosts:
|
depends_on:
|
||||||
- "localhost:127.0.0.1"
|
- redis
|
||||||
- "localhost:host-gateway"
|
tty: true
|
||||||
- "host.docker.internal:host-gateway"
|
develop:
|
||||||
|
watch:
|
||||||
|
- action: rebuild
|
||||||
|
path: ./misc/images/hydra-sql-dev
|
||||||
|
- action: rebuild
|
||||||
|
path: ./misc/files
|
||||||
|
- action: rebuild
|
||||||
|
path: ./assets
|
||||||
|
- action: sync
|
||||||
|
path: ./templates
|
||||||
|
target: /app/templates
|
||||||
|
- action: sync
|
||||||
|
path: ./translations
|
||||||
|
target: /app/translations
|
||||||
|
- action: sync
|
||||||
|
path: ./config
|
||||||
|
target: /app/config
|
||||||
|
- action: sync
|
||||||
|
path: ./src
|
||||||
|
target: /app/src
|
||||||
environment:
|
environment:
|
||||||
|
- SERVER_NAME=http://localhost:10500
|
||||||
|
- APP_ENV=dev
|
||||||
|
- APP_DEBUG=true
|
||||||
- PHP_FPM_MEMORY_LIMIT=128m
|
- PHP_FPM_MEMORY_LIMIT=128m
|
||||||
- APP_LOCALES=fr,en
|
- APP_LOCALES=fr,en
|
||||||
- HYDRA_ADMIN_BASE_URL=http://hydra:4445
|
- HYDRA_ADMIN_BASE_URL=http://hydra:4445
|
||||||
- TRUSTED_PROXIES=127.0.0.1,REMOTE_ADDR,localhost
|
- TRUSTED_PROXIES=127.0.0.1,REMOTE_ADDR,localhost
|
||||||
- ISSUER_URL=http://localhost:8000
|
- ISSUER_URL=http://localhost:10502
|
||||||
- BASE_URL=http://localhost:8082
|
- BASE_URL=http://localhost:10500
|
||||||
- DB_USER=lasql
|
- DB_USER=lasql
|
||||||
- DB_PASSWORD=lasql
|
- DB_PASSWORD=lasql
|
||||||
- DEFAULT_LOCALE=fr
|
- DEFAULT_LOCALE=fr
|
||||||
@@ -47,12 +60,12 @@ services:
|
|||||||
image: bornholm/oidc-test:v0.0.0-1-g936a77e
|
image: bornholm/oidc-test:v0.0.0-1-g936a77e
|
||||||
environment:
|
environment:
|
||||||
- LOG_LEVEL=0
|
- LOG_LEVEL=0
|
||||||
- HTTP_ADDRESS=0.0.0.0:8000
|
- HTTP_ADDRESS=0.0.0.0:10502
|
||||||
- OIDC_CLIENT_ID=oidc-test
|
- OIDC_CLIENT_ID=oidc-test
|
||||||
- OIDC_CLIENT_SECRET=oidc-test-123456
|
- OIDC_CLIENT_SECRET=oidc-test-123456
|
||||||
- OIDC_ISSUER_URL=http://localhost:8081/
|
- OIDC_ISSUER_URL=http://localhost:10501/
|
||||||
- OIDC_REDIRECT_URL=http://localhost:8000
|
- OIDC_REDIRECT_URL=http://localhost:10502
|
||||||
- OIDC_POST_LOGOUT_REDIRECT_URL=http://localhost:8000
|
- OIDC_POST_LOGOUT_REDIRECT_URL=http://localhost:10502
|
||||||
depends_on:
|
depends_on:
|
||||||
hydra:
|
hydra:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
@@ -66,20 +79,15 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- LOG_LEAK_SENSITIVE_VALUES=true
|
- LOG_LEAK_SENSITIVE_VALUES=true
|
||||||
- HYDRA_ALLOW_INSECURE=yes
|
- HYDRA_ALLOW_INSECURE=yes
|
||||||
- HYDRA_URLS_SELF_ISSUER=http://localhost:8081/
|
- HYDRA_URLS_SELF_ISSUER=http://localhost:10501/
|
||||||
- HYDRA_URLS_LOGOUT=http://localhost:8082/logout
|
- HYDRA_URLS_LOGOUT=http://localhost:10500/logout
|
||||||
- HYDRA_URLS_LOGIN=http://localhost:8082/
|
- HYDRA_URLS_LOGIN=http://localhost:10500/
|
||||||
- HYDRA_URLS_CONSENT=http://localhost:8082/connect/consent
|
- HYDRA_URLS_CONSENT=http://localhost:10500/connect/consent
|
||||||
- HYDRA_URLS_ERROR=http://localhost:8082/error
|
- HYDRA_URLS_ERROR=http://localhost:10500/error
|
||||||
- HYDRA_LEVEL=debug
|
- HYDRA_LEVEL=debug
|
||||||
- HYDRA_DSN=postgres://lasql:lasql@postgres:5432/hydra
|
- HYDRA_DSN=postgres://lasql:lasql@postgres:5432/hydra
|
||||||
- HYDRA_WAIT4X_DATABASE_DSN=postgres://lasql:lasql@postgres:5432/hydra?sslmode=disable
|
- HYDRA_WAIT4X_DATABASE_DSN=postgres://lasql:lasql@postgres:5432/hydra?sslmode=disable
|
||||||
- HYDRA_WAIT4X_DATABASE_TYPE=postgresql
|
- HYDRA_WAIT4X_DATABASE_TYPE=postgresql
|
||||||
|
|
||||||
ports:
|
|
||||||
- 8081:4444
|
|
||||||
links:
|
|
||||||
- postgres
|
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test:
|
test:
|
||||||
[
|
[
|
||||||
@@ -109,8 +117,8 @@ services:
|
|||||||
|
|
||||||
pgadmin:
|
pgadmin:
|
||||||
image: dpage/pgadmin4
|
image: dpage/pgadmin4
|
||||||
ports:
|
# ports:
|
||||||
- 8085:80
|
# - 10503:80
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
PGADMIN_DEFAULT_EMAIL: admin@admin.com
|
PGADMIN_DEFAULT_EMAIL: admin@admin.com
|
||||||
@@ -136,6 +144,11 @@ services:
|
|||||||
- TZ=Europe/Paris
|
- TZ=Europe/Paris
|
||||||
volumes:
|
volumes:
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
|
||||||
|
altcha:
|
||||||
|
image: reg.cadoles.com/cadoles/altcha:2024.10.29-develop.1213.22e038b
|
||||||
|
environment:
|
||||||
|
ALTCHA_HMAC_KEY: 'change_me'
|
||||||
volumes:
|
volumes:
|
||||||
postgres:
|
postgres:
|
||||||
mariadb:
|
mariadb:
|
@@ -4,30 +4,30 @@
|
|||||||
"minimum-stability": "stable",
|
"minimum-stability": "stable",
|
||||||
"prefer-stable": true,
|
"prefer-stable": true,
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": "^8.4",
|
||||||
"ext-ctype": "*",
|
"ext-ctype": "*",
|
||||||
"ext-iconv": "*",
|
"ext-iconv": "*",
|
||||||
"doctrine/annotations": "^1.13",
|
"runtime/frankenphp-symfony": "^0.2.0",
|
||||||
"predis/predis": "^2.1",
|
"sentry/sentry-symfony": "^5",
|
||||||
"sentry/sentry-symfony": "^4.5",
|
|
||||||
"symfony/apache-pack": "^1.0",
|
"symfony/apache-pack": "^1.0",
|
||||||
"symfony/asset": "5.4.*",
|
"symfony/asset": "6.4.*",
|
||||||
"symfony/console": "5.4.*",
|
"symfony/console": "6.4.*",
|
||||||
"symfony/dependency-injection": "5.4.*",
|
"symfony/dependency-injection": "6.4.*",
|
||||||
"symfony/dotenv": "5.4.*",
|
"symfony/dotenv": "6.4.*",
|
||||||
"symfony/flex": "^1.17|^2",
|
"symfony/expression-language": "6.4.*",
|
||||||
"symfony/form": "5.4.*",
|
"symfony/flex": "^2",
|
||||||
"symfony/framework-bundle": "5.4.*",
|
"symfony/form": "6.4.*",
|
||||||
"symfony/http-client": "5.4.*",
|
"symfony/framework-bundle": "6.4.*",
|
||||||
"symfony/rate-limiter": "5.4.*",
|
"symfony/http-client": "6.4.*",
|
||||||
"symfony/runtime": "5.4.*",
|
"symfony/monolog-bundle": "^3.10",
|
||||||
"symfony/security-bundle": "5.4.*",
|
"symfony/rate-limiter": "6.4.*",
|
||||||
"symfony/translation": "5.4.*",
|
"symfony/runtime": "6.4.*",
|
||||||
"symfony/twig-bundle": "5.4.*",
|
"symfony/security-bundle": "6.4.*",
|
||||||
"symfony/validator": "5.4.*",
|
"symfony/translation": "6.4.*",
|
||||||
"symfony/web-profiler-bundle": "5.4.*",
|
"symfony/twig-bundle": "6.4.*",
|
||||||
"symfony/webpack-encore-bundle": "^1.16",
|
"symfony/validator": "6.4.*",
|
||||||
"symfony/yaml": "5.4.*"
|
"symfony/webpack-encore-bundle": "^2",
|
||||||
|
"symfony/yaml": "6.4.*"
|
||||||
},
|
},
|
||||||
"config": {
|
"config": {
|
||||||
"allow-plugins": {
|
"allow-plugins": {
|
||||||
@@ -55,7 +55,12 @@
|
|||||||
"replace": {
|
"replace": {
|
||||||
"symfony/polyfill-ctype": "*",
|
"symfony/polyfill-ctype": "*",
|
||||||
"symfony/polyfill-iconv": "*",
|
"symfony/polyfill-iconv": "*",
|
||||||
"symfony/polyfill-php72": "*"
|
"symfony/polyfill-php72": "*",
|
||||||
|
"symfony/polyfill-php73": "*",
|
||||||
|
"symfony/polyfill-php74": "*",
|
||||||
|
"symfony/polyfill-php80": "*",
|
||||||
|
"symfony/polyfill-php81": "*",
|
||||||
|
"symfony/polyfill-php82": "*"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"auto-scripts": {
|
"auto-scripts": {
|
||||||
@@ -75,7 +80,16 @@
|
|||||||
"extra": {
|
"extra": {
|
||||||
"symfony": {
|
"symfony": {
|
||||||
"allow-contrib": true,
|
"allow-contrib": true,
|
||||||
"require": "5.4.*"
|
"require": "6.4.*"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"class": "Runtime\\FrankenPhpSymfony\\Runtime"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"rector/rector": "^2.1",
|
||||||
|
"symfony/debug-bundle": "6.4.*",
|
||||||
|
"symfony/web-profiler-bundle": "6.4.*",
|
||||||
|
"phpstan/phpstan": "^2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
4281
composer.lock
generated
4281
composer.lock
generated
@@ -4,370 +4,20 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "7dce269ca449b7de7e1bd2e23df94eab",
|
"content-hash": "92da57bf34686e22d64e4661bb090cd0",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
|
||||||
"name": "clue/stream-filter",
|
|
||||||
"version": "v1.6.0",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/clue/stream-filter.git",
|
|
||||||
"reference": "d6169430c7731d8509da7aecd0af756a5747b78e"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/clue/stream-filter/zipball/d6169430c7731d8509da7aecd0af756a5747b78e",
|
|
||||||
"reference": "d6169430c7731d8509da7aecd0af756a5747b78e",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": ">=5.3"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.36"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"autoload": {
|
|
||||||
"files": [
|
|
||||||
"src/functions_include.php"
|
|
||||||
],
|
|
||||||
"psr-4": {
|
|
||||||
"Clue\\StreamFilter\\": "src/"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Christian Lück",
|
|
||||||
"email": "christian@clue.engineering"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "A simple and modern approach to stream filtering in PHP",
|
|
||||||
"homepage": "https://github.com/clue/php-stream-filter",
|
|
||||||
"keywords": [
|
|
||||||
"bucket brigade",
|
|
||||||
"callback",
|
|
||||||
"filter",
|
|
||||||
"php_user_filter",
|
|
||||||
"stream",
|
|
||||||
"stream_filter_append",
|
|
||||||
"stream_filter_register"
|
|
||||||
],
|
|
||||||
"support": {
|
|
||||||
"issues": "https://github.com/clue/stream-filter/issues",
|
|
||||||
"source": "https://github.com/clue/stream-filter/tree/v1.6.0"
|
|
||||||
},
|
|
||||||
"funding": [
|
|
||||||
{
|
|
||||||
"url": "https://clue.engineering/support",
|
|
||||||
"type": "custom"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "https://github.com/clue",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"time": "2022-02-21T13:15:14+00:00"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "doctrine/annotations",
|
|
||||||
"version": "1.14.3",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/doctrine/annotations.git",
|
|
||||||
"reference": "fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/doctrine/annotations/zipball/fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af",
|
|
||||||
"reference": "fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"doctrine/lexer": "^1 || ^2",
|
|
||||||
"ext-tokenizer": "*",
|
|
||||||
"php": "^7.1 || ^8.0",
|
|
||||||
"psr/cache": "^1 || ^2 || ^3"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"doctrine/cache": "^1.11 || ^2.0",
|
|
||||||
"doctrine/coding-standard": "^9 || ^10",
|
|
||||||
"phpstan/phpstan": "~1.4.10 || ^1.8.0",
|
|
||||||
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
|
|
||||||
"symfony/cache": "^4.4 || ^5.4 || ^6",
|
|
||||||
"vimeo/psalm": "^4.10"
|
|
||||||
},
|
|
||||||
"suggest": {
|
|
||||||
"php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": {
|
|
||||||
"Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Guilherme Blanco",
|
|
||||||
"email": "guilhermeblanco@gmail.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Roman Borschel",
|
|
||||||
"email": "roman@code-factory.org"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Benjamin Eberlei",
|
|
||||||
"email": "kontakt@beberlei.de"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Jonathan Wage",
|
|
||||||
"email": "jonwage@gmail.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Johannes Schmitt",
|
|
||||||
"email": "schmittjoh@gmail.com"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "Docblock Annotations Parser",
|
|
||||||
"homepage": "https://www.doctrine-project.org/projects/annotations.html",
|
|
||||||
"keywords": [
|
|
||||||
"annotations",
|
|
||||||
"docblock",
|
|
||||||
"parser"
|
|
||||||
],
|
|
||||||
"support": {
|
|
||||||
"issues": "https://github.com/doctrine/annotations/issues",
|
|
||||||
"source": "https://github.com/doctrine/annotations/tree/1.14.3"
|
|
||||||
},
|
|
||||||
"time": "2023-02-01T09:20:38+00:00"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "doctrine/deprecations",
|
|
||||||
"version": "1.1.2",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/doctrine/deprecations.git",
|
|
||||||
"reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931",
|
|
||||||
"reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": "^7.1 || ^8.0"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"doctrine/coding-standard": "^9",
|
|
||||||
"phpstan/phpstan": "1.4.10 || 1.10.15",
|
|
||||||
"phpstan/phpstan-phpunit": "^1.0",
|
|
||||||
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
|
|
||||||
"psalm/plugin-phpunit": "0.18.4",
|
|
||||||
"psr/log": "^1 || ^2 || ^3",
|
|
||||||
"vimeo/psalm": "4.30.0 || 5.12.0"
|
|
||||||
},
|
|
||||||
"suggest": {
|
|
||||||
"psr/log": "Allows logging deprecations via PSR-3 logger implementation"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": {
|
|
||||||
"Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.",
|
|
||||||
"homepage": "https://www.doctrine-project.org/",
|
|
||||||
"support": {
|
|
||||||
"issues": "https://github.com/doctrine/deprecations/issues",
|
|
||||||
"source": "https://github.com/doctrine/deprecations/tree/1.1.2"
|
|
||||||
},
|
|
||||||
"time": "2023-09-27T20:04:15+00:00"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "doctrine/lexer",
|
|
||||||
"version": "2.1.0",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/doctrine/lexer.git",
|
|
||||||
"reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/doctrine/lexer/zipball/39ab8fcf5a51ce4b85ca97c7a7d033eb12831124",
|
|
||||||
"reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"doctrine/deprecations": "^1.0",
|
|
||||||
"php": "^7.1 || ^8.0"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"doctrine/coding-standard": "^9 || ^10",
|
|
||||||
"phpstan/phpstan": "^1.3",
|
|
||||||
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
|
|
||||||
"psalm/plugin-phpunit": "^0.18.3",
|
|
||||||
"vimeo/psalm": "^4.11 || ^5.0"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": {
|
|
||||||
"Doctrine\\Common\\Lexer\\": "src"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Guilherme Blanco",
|
|
||||||
"email": "guilhermeblanco@gmail.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Roman Borschel",
|
|
||||||
"email": "roman@code-factory.org"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Johannes Schmitt",
|
|
||||||
"email": "schmittjoh@gmail.com"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.",
|
|
||||||
"homepage": "https://www.doctrine-project.org/projects/lexer.html",
|
|
||||||
"keywords": [
|
|
||||||
"annotations",
|
|
||||||
"docblock",
|
|
||||||
"lexer",
|
|
||||||
"parser",
|
|
||||||
"php"
|
|
||||||
],
|
|
||||||
"support": {
|
|
||||||
"issues": "https://github.com/doctrine/lexer/issues",
|
|
||||||
"source": "https://github.com/doctrine/lexer/tree/2.1.0"
|
|
||||||
},
|
|
||||||
"funding": [
|
|
||||||
{
|
|
||||||
"url": "https://www.doctrine-project.org/sponsorship.html",
|
|
||||||
"type": "custom"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "https://www.patreon.com/phpdoctrine",
|
|
||||||
"type": "patreon"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer",
|
|
||||||
"type": "tidelift"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"time": "2022-12-14T08:49:07+00:00"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "guzzlehttp/promises",
|
|
||||||
"version": "2.0.2",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/guzzle/promises.git",
|
|
||||||
"reference": "bbff78d96034045e58e13dedd6ad91b5d1253223"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223",
|
|
||||||
"reference": "bbff78d96034045e58e13dedd6ad91b5d1253223",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": "^7.2.5 || ^8.0"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"bamarni/composer-bin-plugin": "^1.8.2",
|
|
||||||
"phpunit/phpunit": "^8.5.36 || ^9.6.15"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"extra": {
|
|
||||||
"bamarni-bin": {
|
|
||||||
"bin-links": true,
|
|
||||||
"forward-command": false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": {
|
|
||||||
"GuzzleHttp\\Promise\\": "src/"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Graham Campbell",
|
|
||||||
"email": "hello@gjcampbell.co.uk",
|
|
||||||
"homepage": "https://github.com/GrahamCampbell"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Michael Dowling",
|
|
||||||
"email": "mtdowling@gmail.com",
|
|
||||||
"homepage": "https://github.com/mtdowling"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Tobias Nyholm",
|
|
||||||
"email": "tobias.nyholm@gmail.com",
|
|
||||||
"homepage": "https://github.com/Nyholm"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Tobias Schultze",
|
|
||||||
"email": "webmaster@tubo-world.de",
|
|
||||||
"homepage": "https://github.com/Tobion"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "Guzzle promises library",
|
|
||||||
"keywords": [
|
|
||||||
"promise"
|
|
||||||
],
|
|
||||||
"support": {
|
|
||||||
"issues": "https://github.com/guzzle/promises/issues",
|
|
||||||
"source": "https://github.com/guzzle/promises/tree/2.0.2"
|
|
||||||
},
|
|
||||||
"funding": [
|
|
||||||
{
|
|
||||||
"url": "https://github.com/GrahamCampbell",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "https://github.com/Nyholm",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises",
|
|
||||||
"type": "tidelift"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"time": "2023-12-03T20:19:20+00:00"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "guzzlehttp/psr7",
|
"name": "guzzlehttp/psr7",
|
||||||
"version": "2.6.2",
|
"version": "2.8.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/guzzle/psr7.git",
|
"url": "https://github.com/guzzle/psr7.git",
|
||||||
"reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221"
|
"reference": "21dc724a0583619cd1652f673303492272778051"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221",
|
"url": "https://api.github.com/repos/guzzle/psr7/zipball/21dc724a0583619cd1652f673303492272778051",
|
||||||
"reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221",
|
"reference": "21dc724a0583619cd1652f673303492272778051",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -382,8 +32,8 @@
|
|||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"bamarni/composer-bin-plugin": "^1.8.2",
|
"bamarni/composer-bin-plugin": "^1.8.2",
|
||||||
"http-interop/http-factory-tests": "^0.9",
|
"http-interop/http-factory-tests": "0.9.0",
|
||||||
"phpunit/phpunit": "^8.5.36 || ^9.6.15"
|
"phpunit/phpunit": "^8.5.44 || ^9.6.25"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
|
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
|
||||||
@@ -454,7 +104,7 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/guzzle/psr7/issues",
|
"issues": "https://github.com/guzzle/psr7/issues",
|
||||||
"source": "https://github.com/guzzle/psr7/tree/2.6.2"
|
"source": "https://github.com/guzzle/psr7/tree/2.8.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -470,90 +120,33 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-12-03T20:05:35+00:00"
|
"time": "2025-08-23T21:21:41+00:00"
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "http-interop/http-factory-guzzle",
|
|
||||||
"version": "1.2.0",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/http-interop/http-factory-guzzle.git",
|
|
||||||
"reference": "8f06e92b95405216b237521cc64c804dd44c4a81"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/http-interop/http-factory-guzzle/zipball/8f06e92b95405216b237521cc64c804dd44c4a81",
|
|
||||||
"reference": "8f06e92b95405216b237521cc64c804dd44c4a81",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"guzzlehttp/psr7": "^1.7||^2.0",
|
|
||||||
"php": ">=7.3",
|
|
||||||
"psr/http-factory": "^1.0"
|
|
||||||
},
|
|
||||||
"provide": {
|
|
||||||
"psr/http-factory-implementation": "^1.0"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"http-interop/http-factory-tests": "^0.9",
|
|
||||||
"phpunit/phpunit": "^9.5"
|
|
||||||
},
|
|
||||||
"suggest": {
|
|
||||||
"guzzlehttp/psr7": "Includes an HTTP factory starting in version 2.0"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": {
|
|
||||||
"Http\\Factory\\Guzzle\\": "src/"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "PHP-FIG",
|
|
||||||
"homepage": "http://www.php-fig.org/"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "An HTTP Factory using Guzzle PSR7",
|
|
||||||
"keywords": [
|
|
||||||
"factory",
|
|
||||||
"http",
|
|
||||||
"psr-17",
|
|
||||||
"psr-7"
|
|
||||||
],
|
|
||||||
"support": {
|
|
||||||
"issues": "https://github.com/http-interop/http-factory-guzzle/issues",
|
|
||||||
"source": "https://github.com/http-interop/http-factory-guzzle/tree/1.2.0"
|
|
||||||
},
|
|
||||||
"time": "2021-07-21T13:50:14+00:00"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "jean85/pretty-package-versions",
|
"name": "jean85/pretty-package-versions",
|
||||||
"version": "2.0.5",
|
"version": "2.1.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/Jean85/pretty-package-versions.git",
|
"url": "https://github.com/Jean85/pretty-package-versions.git",
|
||||||
"reference": "ae547e455a3d8babd07b96966b17d7fd21d9c6af"
|
"reference": "4d7aa5dab42e2a76d99559706022885de0e18e1a"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/ae547e455a3d8babd07b96966b17d7fd21d9c6af",
|
"url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/4d7aa5dab42e2a76d99559706022885de0e18e1a",
|
||||||
"reference": "ae547e455a3d8babd07b96966b17d7fd21d9c6af",
|
"reference": "4d7aa5dab42e2a76d99559706022885de0e18e1a",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"composer-runtime-api": "^2.0.0",
|
"composer-runtime-api": "^2.1.0",
|
||||||
"php": "^7.1|^8.0"
|
"php": "^7.4|^8.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"friendsofphp/php-cs-fixer": "^2.17",
|
"friendsofphp/php-cs-fixer": "^3.2",
|
||||||
"jean85/composer-provided-replaced-stub-package": "^1.0",
|
"jean85/composer-provided-replaced-stub-package": "^1.0",
|
||||||
"phpstan/phpstan": "^0.12.66",
|
"phpstan/phpstan": "^2.0",
|
||||||
"phpunit/phpunit": "^7.5|^8.5|^9.4",
|
"phpunit/phpunit": "^7.5|^8.5|^9.6",
|
||||||
"vimeo/psalm": "^4.3"
|
"rector/rector": "^2.0",
|
||||||
|
"vimeo/psalm": "^4.3 || ^5.0"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
@@ -585,310 +178,77 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/Jean85/pretty-package-versions/issues",
|
"issues": "https://github.com/Jean85/pretty-package-versions/issues",
|
||||||
"source": "https://github.com/Jean85/pretty-package-versions/tree/2.0.5"
|
"source": "https://github.com/Jean85/pretty-package-versions/tree/2.1.1"
|
||||||
},
|
},
|
||||||
"time": "2021-10-08T21:21:46+00:00"
|
"time": "2025-03-19T14:43:43+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "php-http/client-common",
|
"name": "monolog/monolog",
|
||||||
"version": "2.7.1",
|
"version": "3.9.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/php-http/client-common.git",
|
"url": "https://github.com/Seldaek/monolog.git",
|
||||||
"reference": "1e19c059b0e4d5f717bf5d524d616165aeab0612"
|
"reference": "10d85740180ecba7896c87e06a166e0c95a0e3b6"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/php-http/client-common/zipball/1e19c059b0e4d5f717bf5d524d616165aeab0612",
|
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/10d85740180ecba7896c87e06a166e0c95a0e3b6",
|
||||||
"reference": "1e19c059b0e4d5f717bf5d524d616165aeab0612",
|
"reference": "10d85740180ecba7896c87e06a166e0c95a0e3b6",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^7.1 || ^8.0",
|
"php": ">=8.1",
|
||||||
"php-http/httplug": "^2.0",
|
"psr/log": "^2.0 || ^3.0"
|
||||||
"php-http/message": "^1.6",
|
|
||||||
"psr/http-client": "^1.0",
|
|
||||||
"psr/http-factory": "^1.0",
|
|
||||||
"psr/http-message": "^1.0 || ^2.0",
|
|
||||||
"symfony/options-resolver": "~4.0.15 || ~4.1.9 || ^4.2.1 || ^5.0 || ^6.0 || ^7.0",
|
|
||||||
"symfony/polyfill-php80": "^1.17"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"doctrine/instantiator": "^1.1",
|
|
||||||
"guzzlehttp/psr7": "^1.4",
|
|
||||||
"nyholm/psr7": "^1.2",
|
|
||||||
"phpspec/phpspec": "^5.1 || ^6.3 || ^7.1",
|
|
||||||
"phpspec/prophecy": "^1.10.2",
|
|
||||||
"phpunit/phpunit": "^7.5.20 || ^8.5.33 || ^9.6.7"
|
|
||||||
},
|
|
||||||
"suggest": {
|
|
||||||
"ext-json": "To detect JSON responses with the ContentTypePlugin",
|
|
||||||
"ext-libxml": "To detect XML responses with the ContentTypePlugin",
|
|
||||||
"php-http/cache-plugin": "PSR-6 Cache plugin",
|
|
||||||
"php-http/logger-plugin": "PSR-3 Logger plugin",
|
|
||||||
"php-http/stopwatch-plugin": "Symfony Stopwatch plugin"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": {
|
|
||||||
"Http\\Client\\Common\\": "src/"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Márk Sági-Kazár",
|
|
||||||
"email": "mark.sagikazar@gmail.com"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "Common HTTP Client implementations and tools for HTTPlug",
|
|
||||||
"homepage": "http://httplug.io",
|
|
||||||
"keywords": [
|
|
||||||
"client",
|
|
||||||
"common",
|
|
||||||
"http",
|
|
||||||
"httplug"
|
|
||||||
],
|
|
||||||
"support": {
|
|
||||||
"issues": "https://github.com/php-http/client-common/issues",
|
|
||||||
"source": "https://github.com/php-http/client-common/tree/2.7.1"
|
|
||||||
},
|
|
||||||
"time": "2023-11-30T10:31:25+00:00"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "php-http/discovery",
|
|
||||||
"version": "1.19.2",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/php-http/discovery.git",
|
|
||||||
"reference": "61e1a1eb69c92741f5896d9e05fb8e9d7e8bb0cb"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/php-http/discovery/zipball/61e1a1eb69c92741f5896d9e05fb8e9d7e8bb0cb",
|
|
||||||
"reference": "61e1a1eb69c92741f5896d9e05fb8e9d7e8bb0cb",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"composer-plugin-api": "^1.0|^2.0",
|
|
||||||
"php": "^7.1 || ^8.0"
|
|
||||||
},
|
|
||||||
"conflict": {
|
|
||||||
"nyholm/psr7": "<1.0",
|
|
||||||
"zendframework/zend-diactoros": "*"
|
|
||||||
},
|
},
|
||||||
"provide": {
|
"provide": {
|
||||||
"php-http/async-client-implementation": "*",
|
"psr/log-implementation": "3.0.0"
|
||||||
"php-http/client-implementation": "*",
|
|
||||||
"psr/http-client-implementation": "*",
|
|
||||||
"psr/http-factory-implementation": "*",
|
|
||||||
"psr/http-message-implementation": "*"
|
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"composer/composer": "^1.0.2|^2.0",
|
"aws/aws-sdk-php": "^3.0",
|
||||||
"graham-campbell/phpspec-skip-example-extension": "^5.0",
|
"doctrine/couchdb": "~1.0@dev",
|
||||||
"php-http/httplug": "^1.0 || ^2.0",
|
"elasticsearch/elasticsearch": "^7 || ^8",
|
||||||
"php-http/message-factory": "^1.0",
|
"ext-json": "*",
|
||||||
"phpspec/phpspec": "^5.1 || ^6.1 || ^7.3",
|
"graylog2/gelf-php": "^1.4.2 || ^2.0",
|
||||||
"symfony/phpunit-bridge": "^6.2"
|
"guzzlehttp/guzzle": "^7.4.5",
|
||||||
},
|
"guzzlehttp/psr7": "^2.2",
|
||||||
"type": "composer-plugin",
|
"mongodb/mongodb": "^1.8",
|
||||||
"extra": {
|
"php-amqplib/php-amqplib": "~2.4 || ^3",
|
||||||
"class": "Http\\Discovery\\Composer\\Plugin",
|
"php-console/php-console": "^3.1.8",
|
||||||
"plugin-optional": true
|
"phpstan/phpstan": "^2",
|
||||||
},
|
"phpstan/phpstan-deprecation-rules": "^2",
|
||||||
"autoload": {
|
"phpstan/phpstan-strict-rules": "^2",
|
||||||
"psr-4": {
|
"phpunit/phpunit": "^10.5.17 || ^11.0.7",
|
||||||
"Http\\Discovery\\": "src/"
|
"predis/predis": "^1.1 || ^2",
|
||||||
},
|
"rollbar/rollbar": "^4.0",
|
||||||
"exclude-from-classmap": [
|
"ruflin/elastica": "^7 || ^8",
|
||||||
"src/Composer/Plugin.php"
|
"symfony/mailer": "^5.4 || ^6",
|
||||||
]
|
"symfony/mime": "^5.4 || ^6"
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Márk Sági-Kazár",
|
|
||||||
"email": "mark.sagikazar@gmail.com"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "Finds and installs PSR-7, PSR-17, PSR-18 and HTTPlug implementations",
|
|
||||||
"homepage": "http://php-http.org",
|
|
||||||
"keywords": [
|
|
||||||
"adapter",
|
|
||||||
"client",
|
|
||||||
"discovery",
|
|
||||||
"factory",
|
|
||||||
"http",
|
|
||||||
"message",
|
|
||||||
"psr17",
|
|
||||||
"psr7"
|
|
||||||
],
|
|
||||||
"support": {
|
|
||||||
"issues": "https://github.com/php-http/discovery/issues",
|
|
||||||
"source": "https://github.com/php-http/discovery/tree/1.19.2"
|
|
||||||
},
|
|
||||||
"time": "2023-11-30T16:49:05+00:00"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "php-http/httplug",
|
|
||||||
"version": "2.4.0",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/php-http/httplug.git",
|
|
||||||
"reference": "625ad742c360c8ac580fcc647a1541d29e257f67"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/php-http/httplug/zipball/625ad742c360c8ac580fcc647a1541d29e257f67",
|
|
||||||
"reference": "625ad742c360c8ac580fcc647a1541d29e257f67",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": "^7.1 || ^8.0",
|
|
||||||
"php-http/promise": "^1.1",
|
|
||||||
"psr/http-client": "^1.0",
|
|
||||||
"psr/http-message": "^1.0 || ^2.0"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"friends-of-phpspec/phpspec-code-coverage": "^4.1 || ^5.0 || ^6.0",
|
|
||||||
"phpspec/phpspec": "^5.1 || ^6.0 || ^7.0"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": {
|
|
||||||
"Http\\Client\\": "src/"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Eric GELOEN",
|
|
||||||
"email": "geloen.eric@gmail.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Márk Sági-Kazár",
|
|
||||||
"email": "mark.sagikazar@gmail.com",
|
|
||||||
"homepage": "https://sagikazarmark.hu"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "HTTPlug, the HTTP client abstraction for PHP",
|
|
||||||
"homepage": "http://httplug.io",
|
|
||||||
"keywords": [
|
|
||||||
"client",
|
|
||||||
"http"
|
|
||||||
],
|
|
||||||
"support": {
|
|
||||||
"issues": "https://github.com/php-http/httplug/issues",
|
|
||||||
"source": "https://github.com/php-http/httplug/tree/2.4.0"
|
|
||||||
},
|
|
||||||
"time": "2023-04-14T15:10:03+00:00"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "php-http/message",
|
|
||||||
"version": "1.16.0",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/php-http/message.git",
|
|
||||||
"reference": "47a14338bf4ebd67d317bf1144253d7db4ab55fd"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/php-http/message/zipball/47a14338bf4ebd67d317bf1144253d7db4ab55fd",
|
|
||||||
"reference": "47a14338bf4ebd67d317bf1144253d7db4ab55fd",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"clue/stream-filter": "^1.5",
|
|
||||||
"php": "^7.2 || ^8.0",
|
|
||||||
"psr/http-message": "^1.1 || ^2.0"
|
|
||||||
},
|
|
||||||
"provide": {
|
|
||||||
"php-http/message-factory-implementation": "1.0"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"ergebnis/composer-normalize": "^2.6",
|
|
||||||
"ext-zlib": "*",
|
|
||||||
"guzzlehttp/psr7": "^1.0 || ^2.0",
|
|
||||||
"laminas/laminas-diactoros": "^2.0 || ^3.0",
|
|
||||||
"php-http/message-factory": "^1.0.2",
|
|
||||||
"phpspec/phpspec": "^5.1 || ^6.3 || ^7.1",
|
|
||||||
"slim/slim": "^3.0"
|
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"ext-zlib": "Used with compressor/decompressor streams",
|
"aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
|
||||||
"guzzlehttp/psr7": "Used with Guzzle PSR-7 Factories",
|
"doctrine/couchdb": "Allow sending log messages to a CouchDB server",
|
||||||
"laminas/laminas-diactoros": "Used with Diactoros Factories",
|
"elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client",
|
||||||
"slim/slim": "Used with Slim Framework PSR-7 implementation"
|
"ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
|
||||||
},
|
"ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler",
|
||||||
"type": "library",
|
"ext-mbstring": "Allow to work properly with unicode symbols",
|
||||||
"autoload": {
|
"ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)",
|
||||||
"files": [
|
"ext-openssl": "Required to send log messages using SSL",
|
||||||
"src/filters.php"
|
"ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)",
|
||||||
],
|
"graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
|
||||||
"psr-4": {
|
"mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)",
|
||||||
"Http\\Message\\": "src/"
|
"php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
|
||||||
}
|
"rollbar/rollbar": "Allow sending log messages to Rollbar",
|
||||||
},
|
"ruflin/elastica": "Allow sending log messages to an Elastic Search server"
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Márk Sági-Kazár",
|
|
||||||
"email": "mark.sagikazar@gmail.com"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "HTTP Message related tools",
|
|
||||||
"homepage": "http://php-http.org",
|
|
||||||
"keywords": [
|
|
||||||
"http",
|
|
||||||
"message",
|
|
||||||
"psr-7"
|
|
||||||
],
|
|
||||||
"support": {
|
|
||||||
"issues": "https://github.com/php-http/message/issues",
|
|
||||||
"source": "https://github.com/php-http/message/tree/1.16.0"
|
|
||||||
},
|
|
||||||
"time": "2023-05-17T06:43:38+00:00"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "php-http/message-factory",
|
|
||||||
"version": "1.1.0",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/php-http/message-factory.git",
|
|
||||||
"reference": "4d8778e1c7d405cbb471574821c1ff5b68cc8f57"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/php-http/message-factory/zipball/4d8778e1c7d405cbb471574821c1ff5b68cc8f57",
|
|
||||||
"reference": "4d8778e1c7d405cbb471574821c1ff5b68cc8f57",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": ">=5.4",
|
|
||||||
"psr/http-message": "^1.0 || ^2.0"
|
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "1.x-dev"
|
"dev-main": "3.x-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
"Http\\Message\\": "src/"
|
"Monolog\\": "src/Monolog"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
@@ -897,151 +257,46 @@
|
|||||||
],
|
],
|
||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
"name": "Márk Sági-Kazár",
|
"name": "Jordi Boggiano",
|
||||||
"email": "mark.sagikazar@gmail.com"
|
"email": "j.boggiano@seld.be",
|
||||||
|
"homepage": "https://seld.be"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Factory interfaces for PSR-7 HTTP Message",
|
"description": "Sends your logs to files, sockets, inboxes, databases and various web services",
|
||||||
"homepage": "http://php-http.org",
|
"homepage": "https://github.com/Seldaek/monolog",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"factory",
|
"log",
|
||||||
"http",
|
"logging",
|
||||||
"message",
|
"psr-3"
|
||||||
"stream",
|
|
||||||
"uri"
|
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/php-http/message-factory/issues",
|
"issues": "https://github.com/Seldaek/monolog/issues",
|
||||||
"source": "https://github.com/php-http/message-factory/tree/1.1.0"
|
"source": "https://github.com/Seldaek/monolog/tree/3.9.0"
|
||||||
},
|
|
||||||
"abandoned": "psr/http-factory",
|
|
||||||
"time": "2023-04-14T14:16:17+00:00"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "php-http/promise",
|
|
||||||
"version": "1.2.1",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/php-http/promise.git",
|
|
||||||
"reference": "44a67cb59f708f826f3bec35f22030b3edb90119"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/php-http/promise/zipball/44a67cb59f708f826f3bec35f22030b3edb90119",
|
|
||||||
"reference": "44a67cb59f708f826f3bec35f22030b3edb90119",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": "^7.1 || ^8.0"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"friends-of-phpspec/phpspec-code-coverage": "^4.3.2 || ^6.3",
|
|
||||||
"phpspec/phpspec": "^5.1.2 || ^6.2 || ^7.4"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": {
|
|
||||||
"Http\\Promise\\": "src/"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Joel Wurtz",
|
|
||||||
"email": "joel.wurtz@gmail.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Márk Sági-Kazár",
|
|
||||||
"email": "mark.sagikazar@gmail.com"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "Promise used for asynchronous HTTP requests",
|
|
||||||
"homepage": "http://httplug.io",
|
|
||||||
"keywords": [
|
|
||||||
"promise"
|
|
||||||
],
|
|
||||||
"support": {
|
|
||||||
"issues": "https://github.com/php-http/promise/issues",
|
|
||||||
"source": "https://github.com/php-http/promise/tree/1.2.1"
|
|
||||||
},
|
|
||||||
"time": "2023-11-08T12:57:08+00:00"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "predis/predis",
|
|
||||||
"version": "v2.2.2",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/predis/predis.git",
|
|
||||||
"reference": "b1d3255ed9ad4d7254f9f9bba386c99f4bb983d1"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/predis/predis/zipball/b1d3255ed9ad4d7254f9f9bba386c99f4bb983d1",
|
|
||||||
"reference": "b1d3255ed9ad4d7254f9f9bba386c99f4bb983d1",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": "^7.2 || ^8.0"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"friendsofphp/php-cs-fixer": "^3.3",
|
|
||||||
"phpstan/phpstan": "^1.9",
|
|
||||||
"phpunit/phpunit": "^8.0 || ~9.4.4"
|
|
||||||
},
|
|
||||||
"suggest": {
|
|
||||||
"ext-relay": "Faster connection with in-memory caching (>=0.6.2)"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": {
|
|
||||||
"Predis\\": "src/"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Till Krüss",
|
|
||||||
"homepage": "https://till.im",
|
|
||||||
"role": "Maintainer"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "A flexible and feature-complete Redis client for PHP.",
|
|
||||||
"homepage": "http://github.com/predis/predis",
|
|
||||||
"keywords": [
|
|
||||||
"nosql",
|
|
||||||
"predis",
|
|
||||||
"redis"
|
|
||||||
],
|
|
||||||
"support": {
|
|
||||||
"issues": "https://github.com/predis/predis/issues",
|
|
||||||
"source": "https://github.com/predis/predis/tree/v2.2.2"
|
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://github.com/sponsors/tillkruss",
|
"url": "https://github.com/Seldaek",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://tidelift.com/funding/github/packagist/monolog/monolog",
|
||||||
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-09-13T16:42:03+00:00"
|
"time": "2025-03-24T10:02:05+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "psr/cache",
|
"name": "psr/cache",
|
||||||
"version": "2.0.0",
|
"version": "3.0.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/php-fig/cache.git",
|
"url": "https://github.com/php-fig/cache.git",
|
||||||
"reference": "213f9dbc5b9bfbc4f8db86d2838dc968752ce13b"
|
"reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/php-fig/cache/zipball/213f9dbc5b9bfbc4f8db86d2838dc968752ce13b",
|
"url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf",
|
||||||
"reference": "213f9dbc5b9bfbc4f8db86d2838dc968752ce13b",
|
"reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -1075,28 +330,81 @@
|
|||||||
"psr-6"
|
"psr-6"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/php-fig/cache/tree/2.0.0"
|
"source": "https://github.com/php-fig/cache/tree/3.0.0"
|
||||||
},
|
},
|
||||||
"time": "2021-02-03T23:23:37+00:00"
|
"time": "2021-02-03T23:26:27+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "psr/container",
|
"name": "psr/clock",
|
||||||
"version": "1.1.2",
|
"version": "1.0.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/php-fig/container.git",
|
"url": "https://github.com/php-fig/clock.git",
|
||||||
"reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
|
"reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
|
"url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d",
|
||||||
"reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
|
"reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.0 || ^8.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Psr\\Clock\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "PHP-FIG",
|
||||||
|
"homepage": "https://www.php-fig.org/"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Common interface for reading the clock.",
|
||||||
|
"homepage": "https://github.com/php-fig/clock",
|
||||||
|
"keywords": [
|
||||||
|
"clock",
|
||||||
|
"now",
|
||||||
|
"psr",
|
||||||
|
"psr-20",
|
||||||
|
"time"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/php-fig/clock/issues",
|
||||||
|
"source": "https://github.com/php-fig/clock/tree/1.0.0"
|
||||||
|
},
|
||||||
|
"time": "2022-11-25T14:36:26+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "psr/container",
|
||||||
|
"version": "2.0.2",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/php-fig/container.git",
|
||||||
|
"reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963",
|
||||||
|
"reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.4.0"
|
"php": ">=7.4.0"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "2.0.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
"Psr\\Container\\": "src/"
|
"Psr\\Container\\": "src/"
|
||||||
@@ -1123,9 +431,9 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/php-fig/container/issues",
|
"issues": "https://github.com/php-fig/container/issues",
|
||||||
"source": "https://github.com/php-fig/container/tree/1.1.2"
|
"source": "https://github.com/php-fig/container/tree/2.0.2"
|
||||||
},
|
},
|
||||||
"time": "2021-11-05T16:50:12+00:00"
|
"time": "2021-11-05T16:47:00+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "psr/event-dispatcher",
|
"name": "psr/event-dispatcher",
|
||||||
@@ -1177,74 +485,22 @@
|
|||||||
},
|
},
|
||||||
"time": "2019-01-08T18:20:26+00:00"
|
"time": "2019-01-08T18:20:26+00:00"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "psr/http-client",
|
|
||||||
"version": "1.0.3",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/php-fig/http-client.git",
|
|
||||||
"reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90",
|
|
||||||
"reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": "^7.0 || ^8.0",
|
|
||||||
"psr/http-message": "^1.0 || ^2.0"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"extra": {
|
|
||||||
"branch-alias": {
|
|
||||||
"dev-master": "1.0.x-dev"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": {
|
|
||||||
"Psr\\Http\\Client\\": "src/"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "PHP-FIG",
|
|
||||||
"homepage": "https://www.php-fig.org/"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "Common interface for HTTP clients",
|
|
||||||
"homepage": "https://github.com/php-fig/http-client",
|
|
||||||
"keywords": [
|
|
||||||
"http",
|
|
||||||
"http-client",
|
|
||||||
"psr",
|
|
||||||
"psr-18"
|
|
||||||
],
|
|
||||||
"support": {
|
|
||||||
"source": "https://github.com/php-fig/http-client"
|
|
||||||
},
|
|
||||||
"time": "2023-09-23T14:17:50+00:00"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "psr/http-factory",
|
"name": "psr/http-factory",
|
||||||
"version": "1.0.2",
|
"version": "1.1.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/php-fig/http-factory.git",
|
"url": "https://github.com/php-fig/http-factory.git",
|
||||||
"reference": "e616d01114759c4c489f93b099585439f795fe35"
|
"reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35",
|
"url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
|
||||||
"reference": "e616d01114759c4c489f93b099585439f795fe35",
|
"reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.0.0",
|
"php": ">=7.1",
|
||||||
"psr/http-message": "^1.0 || ^2.0"
|
"psr/http-message": "^1.0 || ^2.0"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
@@ -1268,7 +524,7 @@
|
|||||||
"homepage": "https://www.php-fig.org/"
|
"homepage": "https://www.php-fig.org/"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Common interfaces for PSR-7 HTTP message factories",
|
"description": "PSR-17: Common interfaces for PSR-7 HTTP message factories",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"factory",
|
"factory",
|
||||||
"http",
|
"http",
|
||||||
@@ -1280,9 +536,9 @@
|
|||||||
"response"
|
"response"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/php-fig/http-factory/tree/1.0.2"
|
"source": "https://github.com/php-fig/http-factory"
|
||||||
},
|
},
|
||||||
"time": "2023-04-10T20:10:41+00:00"
|
"time": "2024-04-15T12:06:14+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "psr/http-message",
|
"name": "psr/http-message",
|
||||||
@@ -1339,16 +595,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "psr/log",
|
"name": "psr/log",
|
||||||
"version": "2.0.0",
|
"version": "3.0.2",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/php-fig/log.git",
|
"url": "https://github.com/php-fig/log.git",
|
||||||
"reference": "ef29f6d262798707a9edd554e2b82517ef3a9376"
|
"reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/php-fig/log/zipball/ef29f6d262798707a9edd554e2b82517ef3a9376",
|
"url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3",
|
||||||
"reference": "ef29f6d262798707a9edd554e2b82517ef3a9376",
|
"reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -1357,7 +613,7 @@
|
|||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "2.0.x-dev"
|
"dev-master": "3.x-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -1383,9 +639,9 @@
|
|||||||
"psr-3"
|
"psr-3"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/php-fig/log/tree/2.0.0"
|
"source": "https://github.com/php-fig/log/tree/3.0.2"
|
||||||
},
|
},
|
||||||
"time": "2021-07-14T16:41:46+00:00"
|
"time": "2024-09-11T13:17:53+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "ralouphie/getallheaders",
|
"name": "ralouphie/getallheaders",
|
||||||
@@ -1432,111 +688,93 @@
|
|||||||
"time": "2019-03-08T08:55:37+00:00"
|
"time": "2019-03-08T08:55:37+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sentry/sdk",
|
"name": "runtime/frankenphp-symfony",
|
||||||
"version": "3.6.0",
|
"version": "0.2.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/getsentry/sentry-php-sdk.git",
|
"url": "https://github.com/php-runtime/frankenphp-symfony.git",
|
||||||
"reference": "24c235ff2027401cbea099bf88689e1a1f197c7a"
|
"reference": "56822c3631d9522a3136a4c33082d006bdfe4bad"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/getsentry/sentry-php-sdk/zipball/24c235ff2027401cbea099bf88689e1a1f197c7a",
|
"url": "https://api.github.com/repos/php-runtime/frankenphp-symfony/zipball/56822c3631d9522a3136a4c33082d006bdfe4bad",
|
||||||
"reference": "24c235ff2027401cbea099bf88689e1a1f197c7a",
|
"reference": "56822c3631d9522a3136a4c33082d006bdfe4bad",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"http-interop/http-factory-guzzle": "^1.0",
|
"php": ">=8.1",
|
||||||
"sentry/sentry": "^3.22",
|
"symfony/dependency-injection": "^5.4 || ^6.0 || ^7.0",
|
||||||
"symfony/http-client": "^4.3|^5.0|^6.0|^7.0"
|
"symfony/http-kernel": "^5.4 || ^6.0 || ^7.0",
|
||||||
|
"symfony/runtime": "^5.4 || ^6.0 || ^7.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "^9.5"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Runtime\\FrankenPhpSymfony\\": "src/"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"type": "metapackage",
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
"license": [
|
"license": [
|
||||||
"MIT"
|
"MIT"
|
||||||
],
|
],
|
||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
"name": "Sentry",
|
"name": "Kévin Dunglas",
|
||||||
"email": "accounts@sentry.io"
|
"email": "kevin@dunglas.dev"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "This is a metapackage shipping sentry/sentry with a recommended HTTP client.",
|
"description": "FrankenPHP runtime for Symfony",
|
||||||
"homepage": "http://sentry.io",
|
|
||||||
"keywords": [
|
|
||||||
"crash-reporting",
|
|
||||||
"crash-reports",
|
|
||||||
"error-handler",
|
|
||||||
"error-monitoring",
|
|
||||||
"log",
|
|
||||||
"logging",
|
|
||||||
"sentry"
|
|
||||||
],
|
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/getsentry/sentry-php-sdk/issues",
|
"issues": "https://github.com/php-runtime/frankenphp-symfony/issues",
|
||||||
"source": "https://github.com/getsentry/sentry-php-sdk/tree/3.6.0"
|
"source": "https://github.com/php-runtime/frankenphp-symfony/tree/0.2.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://sentry.io/",
|
"url": "https://github.com/nyholm",
|
||||||
"type": "custom"
|
"type": "github"
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "https://sentry.io/pricing/",
|
|
||||||
"type": "custom"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-12-04T10:49:33+00:00"
|
"time": "2023-12-12T12:06:11+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sentry/sentry",
|
"name": "sentry/sentry",
|
||||||
"version": "3.22.1",
|
"version": "4.16.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/getsentry/sentry-php.git",
|
"url": "https://github.com/getsentry/sentry-php.git",
|
||||||
"reference": "8859631ba5ab15bc1af420b0eeed19ecc6c9d81d"
|
"reference": "c5b086e4235762da175034bc463b0d31cbb38d2e"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/getsentry/sentry-php/zipball/8859631ba5ab15bc1af420b0eeed19ecc6c9d81d",
|
"url": "https://api.github.com/repos/getsentry/sentry-php/zipball/c5b086e4235762da175034bc463b0d31cbb38d2e",
|
||||||
"reference": "8859631ba5ab15bc1af420b0eeed19ecc6c9d81d",
|
"reference": "c5b086e4235762da175034bc463b0d31cbb38d2e",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
"ext-curl": "*",
|
||||||
"ext-json": "*",
|
"ext-json": "*",
|
||||||
"ext-mbstring": "*",
|
"ext-mbstring": "*",
|
||||||
"guzzlehttp/promises": "^1.5.3|^2.0",
|
"guzzlehttp/psr7": "^1.8.4|^2.1.1",
|
||||||
"jean85/pretty-package-versions": "^1.5|^2.0.4",
|
"jean85/pretty-package-versions": "^1.5|^2.0.4",
|
||||||
"php": "^7.2|^8.0",
|
"php": "^7.2|^8.0",
|
||||||
"php-http/async-client-implementation": "^1.0",
|
|
||||||
"php-http/client-common": "^1.5|^2.0",
|
|
||||||
"php-http/discovery": "^1.15",
|
|
||||||
"php-http/httplug": "^1.1|^2.0",
|
|
||||||
"php-http/message": "^1.5",
|
|
||||||
"php-http/message-factory": "^1.1",
|
|
||||||
"psr/http-factory": "^1.0",
|
|
||||||
"psr/http-factory-implementation": "^1.0",
|
|
||||||
"psr/log": "^1.0|^2.0|^3.0",
|
"psr/log": "^1.0|^2.0|^3.0",
|
||||||
"symfony/options-resolver": "^3.4.43|^4.4.30|^5.0.11|^6.0|^7.0",
|
"symfony/options-resolver": "^4.4.30|^5.0.11|^6.0|^7.0"
|
||||||
"symfony/polyfill-php80": "^1.17"
|
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"php-http/client-common": "1.8.0",
|
|
||||||
"raven/raven": "*"
|
"raven/raven": "*"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"friendsofphp/php-cs-fixer": "^2.19|3.4.*",
|
"friendsofphp/php-cs-fixer": "^3.4",
|
||||||
|
"guzzlehttp/promises": "^2.0.3",
|
||||||
"guzzlehttp/psr7": "^1.8.4|^2.1.1",
|
"guzzlehttp/psr7": "^1.8.4|^2.1.1",
|
||||||
"http-interop/http-factory-guzzle": "^1.0",
|
|
||||||
"monolog/monolog": "^1.6|^2.0|^3.0",
|
"monolog/monolog": "^1.6|^2.0|^3.0",
|
||||||
"nikic/php-parser": "^4.10.3",
|
|
||||||
"php-http/mock-client": "^1.3",
|
|
||||||
"phpbench/phpbench": "^1.0",
|
"phpbench/phpbench": "^1.0",
|
||||||
"phpstan/extension-installer": "^1.0",
|
|
||||||
"phpstan/phpstan": "^1.3",
|
"phpstan/phpstan": "^1.3",
|
||||||
"phpstan/phpstan-phpunit": "^1.0",
|
"phpunit/phpunit": "^8.5|^9.6",
|
||||||
"phpunit/phpunit": "^8.5.14|^9.4",
|
"symfony/phpunit-bridge": "^5.2|^6.0|^7.0",
|
||||||
"symfony/phpunit-bridge": "^5.2|^6.0",
|
|
||||||
"vimeo/psalm": "^4.17"
|
"vimeo/psalm": "^4.17"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
@@ -1561,7 +799,7 @@
|
|||||||
"email": "accounts@sentry.io"
|
"email": "accounts@sentry.io"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "A PHP SDK for Sentry (http://sentry.io)",
|
"description": "PHP SDK for Sentry (http://sentry.io)",
|
||||||
"homepage": "http://sentry.io",
|
"homepage": "http://sentry.io",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"crash-reporting",
|
"crash-reporting",
|
||||||
@@ -1570,11 +808,13 @@
|
|||||||
"error-monitoring",
|
"error-monitoring",
|
||||||
"log",
|
"log",
|
||||||
"logging",
|
"logging",
|
||||||
"sentry"
|
"profiling",
|
||||||
|
"sentry",
|
||||||
|
"tracing"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/getsentry/sentry-php/issues",
|
"issues": "https://github.com/getsentry/sentry-php/issues",
|
||||||
"source": "https://github.com/getsentry/sentry-php/tree/3.22.1"
|
"source": "https://github.com/getsentry/sentry-php/tree/4.16.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -1586,28 +826,27 @@
|
|||||||
"type": "custom"
|
"type": "custom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-13T11:47:28+00:00"
|
"time": "2025-09-22T13:38:03+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sentry/sentry-symfony",
|
"name": "sentry/sentry-symfony",
|
||||||
"version": "4.13.1",
|
"version": "5.6.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/getsentry/sentry-symfony.git",
|
"url": "https://github.com/getsentry/sentry-symfony.git",
|
||||||
"reference": "e8102da84841b33c0237b81479377d1cbaea9aa4"
|
"reference": "9867751f5091b55d7e3a223f48d88e228132e073"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/getsentry/sentry-symfony/zipball/e8102da84841b33c0237b81479377d1cbaea9aa4",
|
"url": "https://api.github.com/repos/getsentry/sentry-symfony/zipball/9867751f5091b55d7e3a223f48d88e228132e073",
|
||||||
"reference": "e8102da84841b33c0237b81479377d1cbaea9aa4",
|
"reference": "9867751f5091b55d7e3a223f48d88e228132e073",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"guzzlehttp/psr7": "^1.7 || ^2.0",
|
"guzzlehttp/psr7": "^2.1.1",
|
||||||
"jean85/pretty-package-versions": "^1.5 || ^2.0",
|
"jean85/pretty-package-versions": "^1.5||^2.0",
|
||||||
"php": "^7.2||^8.0",
|
"php": "^7.2||^8.0",
|
||||||
"sentry/sdk": "^3.6",
|
"sentry/sentry": "^4.16.0",
|
||||||
"sentry/sentry": "^3.22.1",
|
|
||||||
"symfony/cache-contracts": "^1.1||^2.4||^3.0",
|
"symfony/cache-contracts": "^1.1||^2.4||^3.0",
|
||||||
"symfony/config": "^4.4.20||^5.0.11||^6.0||^7.0",
|
"symfony/config": "^4.4.20||^5.0.11||^6.0||^7.0",
|
||||||
"symfony/console": "^4.4.20||^5.0.11||^6.0||^7.0",
|
"symfony/console": "^4.4.20||^5.0.11||^6.0||^7.0",
|
||||||
@@ -1615,20 +854,18 @@
|
|||||||
"symfony/event-dispatcher": "^4.4.20||^5.0.11||^6.0||^7.0",
|
"symfony/event-dispatcher": "^4.4.20||^5.0.11||^6.0||^7.0",
|
||||||
"symfony/http-kernel": "^4.4.20||^5.0.11||^6.0||^7.0",
|
"symfony/http-kernel": "^4.4.20||^5.0.11||^6.0||^7.0",
|
||||||
"symfony/polyfill-php80": "^1.22",
|
"symfony/polyfill-php80": "^1.22",
|
||||||
"symfony/psr-http-message-bridge": "^1.2||^2.0||^6.4||^7.0",
|
"symfony/psr-http-message-bridge": "^1.2||^2.0||^6.4||^7.0"
|
||||||
"symfony/security-core": "^4.4.20||^5.0.11||^6.0||^7.0",
|
|
||||||
"symfony/security-http": "^4.4.20||^5.0.11||^6.0||^7.0"
|
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"doctrine/dbal": "^2.13||^3.0",
|
"doctrine/dbal": "^2.13||^3.3||^4.0",
|
||||||
"doctrine/doctrine-bundle": "^1.12||^2.5",
|
"doctrine/doctrine-bundle": "^2.6",
|
||||||
"friendsofphp/php-cs-fixer": "^2.19||^3.40",
|
"friendsofphp/php-cs-fixer": "^2.19||^3.40",
|
||||||
"masterminds/html5": "^2.8",
|
"masterminds/html5": "^2.8",
|
||||||
"phpstan/extension-installer": "^1.0",
|
"phpstan/extension-installer": "^1.0",
|
||||||
"phpstan/phpstan": "^1.3",
|
"phpstan/phpstan": "1.12.5",
|
||||||
"phpstan/phpstan-phpunit": "^1.0",
|
"phpstan/phpstan-phpunit": "1.4.0",
|
||||||
"phpstan/phpstan-symfony": "^1.0",
|
"phpstan/phpstan-symfony": "1.4.10",
|
||||||
"phpunit/phpunit": "^8.5.14||^9.3.9",
|
"phpunit/phpunit": "^8.5.40||^9.6.21",
|
||||||
"symfony/browser-kit": "^4.4.20||^5.0.11||^6.0||^7.0",
|
"symfony/browser-kit": "^4.4.20||^5.0.11||^6.0||^7.0",
|
||||||
"symfony/cache": "^4.4.20||^5.0.11||^6.0||^7.0",
|
"symfony/cache": "^4.4.20||^5.0.11||^6.0||^7.0",
|
||||||
"symfony/dom-crawler": "^4.4.20||^5.0.11||^6.0||^7.0",
|
"symfony/dom-crawler": "^4.4.20||^5.0.11||^6.0||^7.0",
|
||||||
@@ -1638,6 +875,8 @@
|
|||||||
"symfony/monolog-bundle": "^3.4",
|
"symfony/monolog-bundle": "^3.4",
|
||||||
"symfony/phpunit-bridge": "^5.2.6||^6.0||^7.0",
|
"symfony/phpunit-bridge": "^5.2.6||^6.0||^7.0",
|
||||||
"symfony/process": "^4.4.20||^5.0.11||^6.0||^7.0",
|
"symfony/process": "^4.4.20||^5.0.11||^6.0||^7.0",
|
||||||
|
"symfony/security-core": "^4.4.20||^5.0.11||^6.0||^7.0",
|
||||||
|
"symfony/security-http": "^4.4.20||^5.0.11||^6.0||^7.0",
|
||||||
"symfony/twig-bundle": "^4.4.20||^5.0.11||^6.0||^7.0",
|
"symfony/twig-bundle": "^4.4.20||^5.0.11||^6.0||^7.0",
|
||||||
"symfony/yaml": "^4.4.20||^5.0.11||^6.0||^7.0",
|
"symfony/yaml": "^4.4.20||^5.0.11||^6.0||^7.0",
|
||||||
"vimeo/psalm": "^4.3||^5.16.0"
|
"vimeo/psalm": "^4.3||^5.16.0"
|
||||||
@@ -1649,13 +888,6 @@
|
|||||||
"symfony/twig-bundle": "Allow distributed tracing of Twig template rendering using Sentry."
|
"symfony/twig-bundle": "Allow distributed tracing of Twig template rendering using Sentry."
|
||||||
},
|
},
|
||||||
"type": "symfony-bundle",
|
"type": "symfony-bundle",
|
||||||
"extra": {
|
|
||||||
"branch-alias": {
|
|
||||||
"releases/3.2.x": "3.2.x-dev",
|
|
||||||
"releases/2.x": "2.x-dev",
|
|
||||||
"releases/1.x": "1.x-dev"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"files": [
|
"files": [
|
||||||
"src/aliases.php"
|
"src/aliases.php"
|
||||||
@@ -1670,12 +902,8 @@
|
|||||||
],
|
],
|
||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
"name": "David Cramer",
|
"name": "Sentry",
|
||||||
"email": "dcramer@gmail.com"
|
"email": "accounts@sentry.io"
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Alessandro Lai",
|
|
||||||
"email": "alessandro.lai85@gmail.com"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Symfony integration for Sentry (http://getsentry.com)",
|
"description": "Symfony integration for Sentry (http://getsentry.com)",
|
||||||
@@ -1688,7 +916,7 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/getsentry/sentry-symfony/issues",
|
"issues": "https://github.com/getsentry/sentry-symfony/issues",
|
||||||
"source": "https://github.com/getsentry/sentry-symfony/tree/4.13.1"
|
"source": "https://github.com/getsentry/sentry-symfony/tree/5.6.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -1700,7 +928,7 @@
|
|||||||
"type": "custom"
|
"type": "custom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-12-06T16:02:30+00:00"
|
"time": "2025-09-24T13:41:01+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/apache-pack",
|
"name": "symfony/apache-pack",
|
||||||
@@ -1730,33 +958,28 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/asset",
|
"name": "symfony/asset",
|
||||||
"version": "v5.4.31",
|
"version": "v6.4.24",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/asset.git",
|
"url": "https://github.com/symfony/asset.git",
|
||||||
"reference": "edb2457a0ef615d420d2319851f679a4cc3b3635"
|
"reference": "cfee7c0d64be113383db74a2fdd65d426b7f3aab"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/asset/zipball/edb2457a0ef615d420d2319851f679a4cc3b3635",
|
"url": "https://api.github.com/repos/symfony/asset/zipball/cfee7c0d64be113383db74a2fdd65d426b7f3aab",
|
||||||
"reference": "edb2457a0ef615d420d2319851f679a4cc3b3635",
|
"reference": "cfee7c0d64be113383db74a2fdd65d426b7f3aab",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1"
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
|
||||||
"symfony/polyfill-php80": "^1.16"
|
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"symfony/http-foundation": "<5.3"
|
"symfony/http-foundation": "<5.4"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"symfony/http-client": "^4.4|^5.0|^6.0",
|
"symfony/http-client": "^5.4|^6.0|^7.0",
|
||||||
"symfony/http-foundation": "^5.3|^6.0",
|
"symfony/http-foundation": "^5.4|^6.0|^7.0",
|
||||||
"symfony/http-kernel": "^4.4|^5.0|^6.0"
|
"symfony/http-kernel": "^5.4|^6.0|^7.0"
|
||||||
},
|
|
||||||
"suggest": {
|
|
||||||
"symfony/http-foundation": ""
|
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -1784,7 +1007,7 @@
|
|||||||
"description": "Manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files",
|
"description": "Manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/asset/tree/v5.4.31"
|
"source": "https://github.com/symfony/asset/tree/v6.4.24"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -1795,67 +1018,70 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-10-31T07:58:33+00:00"
|
"time": "2025-07-10T08:14:14+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/cache",
|
"name": "symfony/cache",
|
||||||
"version": "v5.4.32",
|
"version": "v6.4.26",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/cache.git",
|
"url": "https://github.com/symfony/cache.git",
|
||||||
"reference": "2553faca77502a4f68dc93cd2f3b9ec650751e40"
|
"reference": "66c853ddcbf85c1984169869be498c3e7597b367"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/cache/zipball/2553faca77502a4f68dc93cd2f3b9ec650751e40",
|
"url": "https://api.github.com/repos/symfony/cache/zipball/66c853ddcbf85c1984169869be498c3e7597b367",
|
||||||
"reference": "2553faca77502a4f68dc93cd2f3b9ec650751e40",
|
"reference": "66c853ddcbf85c1984169869be498c3e7597b367",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"psr/cache": "^1.0|^2.0",
|
"psr/cache": "^2.0|^3.0",
|
||||||
"psr/log": "^1.1|^2|^3",
|
"psr/log": "^1.1|^2|^3",
|
||||||
"symfony/cache-contracts": "^1.1.7|^2",
|
"symfony/cache-contracts": "^2.5|^3",
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
"symfony/service-contracts": "^2.5|^3",
|
||||||
"symfony/polyfill-php73": "^1.9",
|
"symfony/var-exporter": "^6.3.6|^7.0"
|
||||||
"symfony/polyfill-php80": "^1.16",
|
|
||||||
"symfony/service-contracts": "^1.1|^2|^3",
|
|
||||||
"symfony/var-exporter": "^4.4|^5.0|^6.0"
|
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"doctrine/dbal": "<2.13.1",
|
"doctrine/dbal": "<2.13.1",
|
||||||
"symfony/dependency-injection": "<4.4",
|
"symfony/dependency-injection": "<5.4",
|
||||||
"symfony/http-kernel": "<4.4",
|
"symfony/http-kernel": "<5.4",
|
||||||
"symfony/var-dumper": "<4.4"
|
"symfony/var-dumper": "<5.4"
|
||||||
},
|
},
|
||||||
"provide": {
|
"provide": {
|
||||||
"psr/cache-implementation": "1.0|2.0",
|
"psr/cache-implementation": "2.0|3.0",
|
||||||
"psr/simple-cache-implementation": "1.0|2.0",
|
"psr/simple-cache-implementation": "1.0|2.0|3.0",
|
||||||
"symfony/cache-implementation": "1.0|2.0"
|
"symfony/cache-implementation": "1.1|2.0|3.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"cache/integration-tests": "dev-master",
|
"cache/integration-tests": "dev-master",
|
||||||
"doctrine/cache": "^1.6|^2.0",
|
|
||||||
"doctrine/dbal": "^2.13.1|^3|^4",
|
"doctrine/dbal": "^2.13.1|^3|^4",
|
||||||
"predis/predis": "^1.1",
|
"predis/predis": "^1.1|^2.0",
|
||||||
"psr/simple-cache": "^1.0|^2.0",
|
"psr/simple-cache": "^1.0|^2.0|^3.0",
|
||||||
"symfony/config": "^4.4|^5.0|^6.0",
|
"symfony/config": "^5.4|^6.0|^7.0",
|
||||||
"symfony/dependency-injection": "^4.4|^5.0|^6.0",
|
"symfony/dependency-injection": "^5.4|^6.0|^7.0",
|
||||||
"symfony/filesystem": "^4.4|^5.0|^6.0",
|
"symfony/filesystem": "^5.4|^6.0|^7.0",
|
||||||
"symfony/http-kernel": "^4.4|^5.0|^6.0",
|
"symfony/http-kernel": "^5.4|^6.0|^7.0",
|
||||||
"symfony/messenger": "^4.4|^5.0|^6.0",
|
"symfony/messenger": "^5.4|^6.0|^7.0",
|
||||||
"symfony/var-dumper": "^4.4|^5.0|^6.0"
|
"symfony/var-dumper": "^5.4|^6.0|^7.0"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
"Symfony\\Component\\Cache\\": ""
|
"Symfony\\Component\\Cache\\": ""
|
||||||
},
|
},
|
||||||
|
"classmap": [
|
||||||
|
"Traits/ValueWrapper.php"
|
||||||
|
],
|
||||||
"exclude-from-classmap": [
|
"exclude-from-classmap": [
|
||||||
"/Tests/"
|
"/Tests/"
|
||||||
]
|
]
|
||||||
@@ -1881,7 +1107,7 @@
|
|||||||
"psr6"
|
"psr6"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/cache/tree/v5.4.32"
|
"source": "https://github.com/symfony/cache/tree/v6.4.26"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -1892,42 +1118,43 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-24T13:04:07+00:00"
|
"time": "2025-09-11T09:57:09+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/cache-contracts",
|
"name": "symfony/cache-contracts",
|
||||||
"version": "v2.5.2",
|
"version": "v3.6.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/cache-contracts.git",
|
"url": "https://github.com/symfony/cache-contracts.git",
|
||||||
"reference": "64be4a7acb83b6f2bf6de9a02cee6dad41277ebc"
|
"reference": "5d68a57d66910405e5c0b63d6f0af941e66fc868"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/cache-contracts/zipball/64be4a7acb83b6f2bf6de9a02cee6dad41277ebc",
|
"url": "https://api.github.com/repos/symfony/cache-contracts/zipball/5d68a57d66910405e5c0b63d6f0af941e66fc868",
|
||||||
"reference": "64be4a7acb83b6f2bf6de9a02cee6dad41277ebc",
|
"reference": "5d68a57d66910405e5c0b63d6f0af941e66fc868",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"psr/cache": "^1.0|^2.0|^3.0"
|
"psr/cache": "^3.0"
|
||||||
},
|
|
||||||
"suggest": {
|
|
||||||
"symfony/cache-implementation": ""
|
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
|
||||||
"dev-main": "2.5-dev"
|
|
||||||
},
|
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/contracts",
|
"url": "https://github.com/symfony/contracts",
|
||||||
"url": "https://github.com/symfony/contracts"
|
"name": "symfony/contracts"
|
||||||
|
},
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-main": "3.6-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -1960,7 +1187,7 @@
|
|||||||
"standards"
|
"standards"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/cache-contracts/tree/v2.5.2"
|
"source": "https://github.com/symfony/cache-contracts/tree/v3.6.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -1976,42 +1203,116 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-01-02T09:53:40+00:00"
|
"time": "2025-03-13T15:25:07+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/config",
|
"name": "symfony/clock",
|
||||||
"version": "v5.4.31",
|
"version": "v6.4.24",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/config.git",
|
"url": "https://github.com/symfony/clock.git",
|
||||||
"reference": "dd5ea39de228813aba0c23c3a4153da2a4cf3cd9"
|
"reference": "5e15a9c9aeeb44a99f7cf24aa75aa9607795f6f8"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/config/zipball/dd5ea39de228813aba0c23c3a4153da2a4cf3cd9",
|
"url": "https://api.github.com/repos/symfony/clock/zipball/5e15a9c9aeeb44a99f7cf24aa75aa9607795f6f8",
|
||||||
"reference": "dd5ea39de228813aba0c23c3a4153da2a4cf3cd9",
|
"reference": "5e15a9c9aeeb44a99f7cf24aa75aa9607795f6f8",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
"psr/clock": "^1.0",
|
||||||
"symfony/filesystem": "^4.4|^5.0|^6.0",
|
"symfony/polyfill-php83": "^1.28"
|
||||||
"symfony/polyfill-ctype": "~1.8",
|
},
|
||||||
"symfony/polyfill-php80": "^1.16",
|
"provide": {
|
||||||
"symfony/polyfill-php81": "^1.22"
|
"psr/clock-implementation": "1.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"files": [
|
||||||
|
"Resources/now.php"
|
||||||
|
],
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\Clock\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Nicolas Grekas",
|
||||||
|
"email": "p@tchwork.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Decouples applications from the system clock",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"clock",
|
||||||
|
"psr20",
|
||||||
|
"time"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"source": "https://github.com/symfony/clock/tree/v6.4.24"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://symfony.com/sponsor",
|
||||||
|
"type": "custom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/fabpot",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
|
"type": "tidelift"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"time": "2025-07-10T08:14:14+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/config",
|
||||||
|
"version": "v6.4.26",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/config.git",
|
||||||
|
"reference": "f18dc5926cb203e125956987def795d052ee774e"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/config/zipball/f18dc5926cb203e125956987def795d052ee774e",
|
||||||
|
"reference": "f18dc5926cb203e125956987def795d052ee774e",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=8.1",
|
||||||
|
"symfony/deprecation-contracts": "^2.5|^3",
|
||||||
|
"symfony/filesystem": "^5.4|^6.0|^7.0",
|
||||||
|
"symfony/polyfill-ctype": "~1.8"
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"symfony/finder": "<4.4"
|
"symfony/finder": "<5.4",
|
||||||
|
"symfony/service-contracts": "<2.5"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"symfony/event-dispatcher": "^4.4|^5.0|^6.0",
|
"symfony/event-dispatcher": "^5.4|^6.0|^7.0",
|
||||||
"symfony/finder": "^4.4|^5.0|^6.0",
|
"symfony/finder": "^5.4|^6.0|^7.0",
|
||||||
"symfony/messenger": "^4.4|^5.0|^6.0",
|
"symfony/messenger": "^5.4|^6.0|^7.0",
|
||||||
"symfony/service-contracts": "^1.1|^2|^3",
|
"symfony/service-contracts": "^2.5|^3",
|
||||||
"symfony/yaml": "^4.4|^5.0|^6.0"
|
"symfony/yaml": "^5.4|^6.0|^7.0"
|
||||||
},
|
|
||||||
"suggest": {
|
|
||||||
"symfony/yaml": "To use the yaml reference dumper"
|
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -2039,7 +1340,7 @@
|
|||||||
"description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
|
"description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/config/tree/v5.4.31"
|
"source": "https://github.com/symfony/config/tree/v6.4.26"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -2050,61 +1351,60 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-09T08:22:43+00:00"
|
"time": "2025-09-11T09:57:09+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/console",
|
"name": "symfony/console",
|
||||||
"version": "v5.4.32",
|
"version": "v6.4.26",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/console.git",
|
"url": "https://github.com/symfony/console.git",
|
||||||
"reference": "c70df1ffaf23a8d340bded3cfab1b86752ad6ed7"
|
"reference": "492de6dfd93910d7d7a729c5a04ddcd2b9e99c4f"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/console/zipball/c70df1ffaf23a8d340bded3cfab1b86752ad6ed7",
|
"url": "https://api.github.com/repos/symfony/console/zipball/492de6dfd93910d7d7a729c5a04ddcd2b9e99c4f",
|
||||||
"reference": "c70df1ffaf23a8d340bded3cfab1b86752ad6ed7",
|
"reference": "492de6dfd93910d7d7a729c5a04ddcd2b9e99c4f",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
"symfony/deprecation-contracts": "^2.5|^3",
|
||||||
"symfony/polyfill-mbstring": "~1.0",
|
"symfony/polyfill-mbstring": "~1.0",
|
||||||
"symfony/polyfill-php73": "^1.9",
|
"symfony/service-contracts": "^2.5|^3",
|
||||||
"symfony/polyfill-php80": "^1.16",
|
"symfony/string": "^5.4|^6.0|^7.0"
|
||||||
"symfony/service-contracts": "^1.1|^2|^3",
|
|
||||||
"symfony/string": "^5.1|^6.0"
|
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"psr/log": ">=3",
|
"symfony/dependency-injection": "<5.4",
|
||||||
"symfony/dependency-injection": "<4.4",
|
"symfony/dotenv": "<5.4",
|
||||||
"symfony/dotenv": "<5.1",
|
"symfony/event-dispatcher": "<5.4",
|
||||||
"symfony/event-dispatcher": "<4.4",
|
"symfony/lock": "<5.4",
|
||||||
"symfony/lock": "<4.4",
|
"symfony/process": "<5.4"
|
||||||
"symfony/process": "<4.4"
|
|
||||||
},
|
},
|
||||||
"provide": {
|
"provide": {
|
||||||
"psr/log-implementation": "1.0|2.0"
|
"psr/log-implementation": "1.0|2.0|3.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"psr/log": "^1|^2",
|
"psr/log": "^1|^2|^3",
|
||||||
"symfony/config": "^4.4|^5.0|^6.0",
|
"symfony/config": "^5.4|^6.0|^7.0",
|
||||||
"symfony/dependency-injection": "^4.4|^5.0|^6.0",
|
"symfony/dependency-injection": "^5.4|^6.0|^7.0",
|
||||||
"symfony/event-dispatcher": "^4.4|^5.0|^6.0",
|
"symfony/event-dispatcher": "^5.4|^6.0|^7.0",
|
||||||
"symfony/lock": "^4.4|^5.0|^6.0",
|
"symfony/http-foundation": "^6.4|^7.0",
|
||||||
"symfony/process": "^4.4|^5.0|^6.0",
|
"symfony/http-kernel": "^6.4|^7.0",
|
||||||
"symfony/var-dumper": "^4.4|^5.0|^6.0"
|
"symfony/lock": "^5.4|^6.0|^7.0",
|
||||||
},
|
"symfony/messenger": "^5.4|^6.0|^7.0",
|
||||||
"suggest": {
|
"symfony/process": "^5.4|^6.0|^7.0",
|
||||||
"psr/log": "For using the console logger",
|
"symfony/stopwatch": "^5.4|^6.0|^7.0",
|
||||||
"symfony/event-dispatcher": "",
|
"symfony/var-dumper": "^5.4|^6.0|^7.0"
|
||||||
"symfony/lock": "",
|
|
||||||
"symfony/process": ""
|
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -2138,7 +1438,7 @@
|
|||||||
"terminal"
|
"terminal"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/console/tree/v5.4.32"
|
"source": "https://github.com/symfony/console/tree/v6.4.26"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -2149,57 +1449,53 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-18T18:23:04+00:00"
|
"time": "2025-09-26T12:13:46+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/dependency-injection",
|
"name": "symfony/dependency-injection",
|
||||||
"version": "v5.4.33",
|
"version": "v6.4.26",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/dependency-injection.git",
|
"url": "https://github.com/symfony/dependency-injection.git",
|
||||||
"reference": "14969a558cd6382b2a12b14b20ef9a851a02da79"
|
"reference": "5f311eaf0b321f8ec640f6bae12da43a14026898"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/14969a558cd6382b2a12b14b20ef9a851a02da79",
|
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/5f311eaf0b321f8ec640f6bae12da43a14026898",
|
||||||
"reference": "14969a558cd6382b2a12b14b20ef9a851a02da79",
|
"reference": "5f311eaf0b321f8ec640f6bae12da43a14026898",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"psr/container": "^1.1.1",
|
"psr/container": "^1.1|^2.0",
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
"symfony/deprecation-contracts": "^2.5|^3",
|
||||||
"symfony/polyfill-php80": "^1.16",
|
"symfony/service-contracts": "^2.5|^3.0",
|
||||||
"symfony/polyfill-php81": "^1.22",
|
"symfony/var-exporter": "^6.4.20|^7.2.5"
|
||||||
"symfony/service-contracts": "^1.1.6|^2"
|
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"ext-psr": "<1.1|>=2",
|
"ext-psr": "<1.1|>=2",
|
||||||
"symfony/config": "<5.3",
|
"symfony/config": "<6.1",
|
||||||
"symfony/finder": "<4.4",
|
"symfony/finder": "<5.4",
|
||||||
"symfony/proxy-manager-bridge": "<4.4",
|
"symfony/proxy-manager-bridge": "<6.3",
|
||||||
"symfony/yaml": "<4.4.26"
|
"symfony/yaml": "<5.4"
|
||||||
},
|
},
|
||||||
"provide": {
|
"provide": {
|
||||||
"psr/container-implementation": "1.0",
|
"psr/container-implementation": "1.1|2.0",
|
||||||
"symfony/service-implementation": "1.0|2.0"
|
"symfony/service-implementation": "1.1|2.0|3.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"symfony/config": "^5.3|^6.0",
|
"symfony/config": "^6.1|^7.0",
|
||||||
"symfony/expression-language": "^4.4|^5.0|^6.0",
|
"symfony/expression-language": "^5.4|^6.0|^7.0",
|
||||||
"symfony/yaml": "^4.4.26|^5.0|^6.0"
|
"symfony/yaml": "^5.4|^6.0|^7.0"
|
||||||
},
|
|
||||||
"suggest": {
|
|
||||||
"symfony/config": "",
|
|
||||||
"symfony/expression-language": "For using expressions in service container configuration",
|
|
||||||
"symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required",
|
|
||||||
"symfony/proxy-manager-bridge": "Generate service proxies to lazy load them",
|
|
||||||
"symfony/yaml": ""
|
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -2227,7 +1523,7 @@
|
|||||||
"description": "Allows you to standardize and centralize the way objects are constructed in your application",
|
"description": "Allows you to standardize and centralize the way objects are constructed in your application",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/dependency-injection/tree/v5.4.33"
|
"source": "https://github.com/symfony/dependency-injection/tree/v6.4.26"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -2238,25 +1534,29 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-30T08:15:37+00:00"
|
"time": "2025-09-11T09:57:09+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/deprecation-contracts",
|
"name": "symfony/deprecation-contracts",
|
||||||
"version": "v3.4.0",
|
"version": "v3.6.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/deprecation-contracts.git",
|
"url": "https://github.com/symfony/deprecation-contracts.git",
|
||||||
"reference": "7c3aff79d10325257a001fcf92d991f24fc967cf"
|
"reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf",
|
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62",
|
||||||
"reference": "7c3aff79d10325257a001fcf92d991f24fc967cf",
|
"reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -2264,12 +1564,12 @@
|
|||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
|
||||||
"dev-main": "3.4-dev"
|
|
||||||
},
|
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/contracts",
|
"url": "https://github.com/symfony/contracts",
|
||||||
"url": "https://github.com/symfony/contracts"
|
"name": "symfony/contracts"
|
||||||
|
},
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-main": "3.6-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -2294,7 +1594,7 @@
|
|||||||
"description": "A generic function and convention to trigger deprecation notices",
|
"description": "A generic function and convention to trigger deprecation notices",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0"
|
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -2310,29 +1610,32 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-05-23T14:45:45+00:00"
|
"time": "2024-09-25T14:21:43+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/dotenv",
|
"name": "symfony/dotenv",
|
||||||
"version": "v5.4.30",
|
"version": "v6.4.24",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/dotenv.git",
|
"url": "https://github.com/symfony/dotenv.git",
|
||||||
"reference": "ceed2cd28442adcf3679a9a82dacd45baeefc458"
|
"reference": "234b6c602f12b00693f4b0d1054386fb30dfc8ff"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/dotenv/zipball/ceed2cd28442adcf3679a9a82dacd45baeefc458",
|
"url": "https://api.github.com/repos/symfony/dotenv/zipball/234b6c602f12b00693f4b0d1054386fb30dfc8ff",
|
||||||
"reference": "ceed2cd28442adcf3679a9a82dacd45baeefc458",
|
"reference": "234b6c602f12b00693f4b0d1054386fb30dfc8ff",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1"
|
||||||
"symfony/deprecation-contracts": "^2.1|^3"
|
},
|
||||||
|
"conflict": {
|
||||||
|
"symfony/console": "<5.4",
|
||||||
|
"symfony/process": "<5.4"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"symfony/console": "^4.4|^5.0|^6.0",
|
"symfony/console": "^5.4|^6.0|^7.0",
|
||||||
"symfony/process": "^4.4|^5.0|^6.0"
|
"symfony/process": "^5.4|^6.0|^7.0"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -2365,7 +1668,7 @@
|
|||||||
"environment"
|
"environment"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/dotenv/tree/v5.4.30"
|
"source": "https://github.com/symfony/dotenv/tree/v6.4.24"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -2376,36 +1679,44 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-10-26T16:37:39+00:00"
|
"time": "2025-07-10T08:14:14+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/error-handler",
|
"name": "symfony/error-handler",
|
||||||
"version": "v5.4.29",
|
"version": "v6.4.26",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/error-handler.git",
|
"url": "https://github.com/symfony/error-handler.git",
|
||||||
"reference": "328c6fcfd2f90b64c16efaf0ea67a311d672f078"
|
"reference": "41bedcaec5b72640b0ec2096547b75fda72ead6c"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/error-handler/zipball/328c6fcfd2f90b64c16efaf0ea67a311d672f078",
|
"url": "https://api.github.com/repos/symfony/error-handler/zipball/41bedcaec5b72640b0ec2096547b75fda72ead6c",
|
||||||
"reference": "328c6fcfd2f90b64c16efaf0ea67a311d672f078",
|
"reference": "41bedcaec5b72640b0ec2096547b75fda72ead6c",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"psr/log": "^1|^2|^3",
|
"psr/log": "^1|^2|^3",
|
||||||
"symfony/var-dumper": "^4.4|^5.0|^6.0"
|
"symfony/var-dumper": "^5.4|^6.0|^7.0"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"symfony/deprecation-contracts": "<2.5",
|
||||||
|
"symfony/http-kernel": "<6.4"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
"symfony/deprecation-contracts": "^2.5|^3",
|
||||||
"symfony/http-kernel": "^4.4|^5.0|^6.0",
|
"symfony/http-kernel": "^6.4|^7.0",
|
||||||
"symfony/serializer": "^4.4|^5.0|^6.0"
|
"symfony/serializer": "^5.4|^6.0|^7.0"
|
||||||
},
|
},
|
||||||
"bin": [
|
"bin": [
|
||||||
"Resources/bin/patch-type-declarations"
|
"Resources/bin/patch-type-declarations"
|
||||||
@@ -2436,7 +1747,7 @@
|
|||||||
"description": "Provides tools to manage errors and ease debugging PHP code",
|
"description": "Provides tools to manage errors and ease debugging PHP code",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/error-handler/tree/v5.4.29"
|
"source": "https://github.com/symfony/error-handler/tree/v6.4.26"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -2447,53 +1758,52 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-09-06T21:54:06+00:00"
|
"time": "2025-09-11T09:57:09+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/event-dispatcher",
|
"name": "symfony/event-dispatcher",
|
||||||
"version": "v5.4.26",
|
"version": "v6.4.25",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/event-dispatcher.git",
|
"url": "https://github.com/symfony/event-dispatcher.git",
|
||||||
"reference": "5dcc00e03413f05c1e7900090927bb7247cb0aac"
|
"reference": "b0cf3162020603587363f0551cd3be43958611ff"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/5dcc00e03413f05c1e7900090927bb7247cb0aac",
|
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/b0cf3162020603587363f0551cd3be43958611ff",
|
||||||
"reference": "5dcc00e03413f05c1e7900090927bb7247cb0aac",
|
"reference": "b0cf3162020603587363f0551cd3be43958611ff",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
"symfony/event-dispatcher-contracts": "^2.5|^3"
|
||||||
"symfony/event-dispatcher-contracts": "^2|^3",
|
|
||||||
"symfony/polyfill-php80": "^1.16"
|
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"symfony/dependency-injection": "<4.4"
|
"symfony/dependency-injection": "<5.4",
|
||||||
|
"symfony/service-contracts": "<2.5"
|
||||||
},
|
},
|
||||||
"provide": {
|
"provide": {
|
||||||
"psr/event-dispatcher-implementation": "1.0",
|
"psr/event-dispatcher-implementation": "1.0",
|
||||||
"symfony/event-dispatcher-implementation": "2.0"
|
"symfony/event-dispatcher-implementation": "2.0|3.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"psr/log": "^1|^2|^3",
|
"psr/log": "^1|^2|^3",
|
||||||
"symfony/config": "^4.4|^5.0|^6.0",
|
"symfony/config": "^5.4|^6.0|^7.0",
|
||||||
"symfony/dependency-injection": "^4.4|^5.0|^6.0",
|
"symfony/dependency-injection": "^5.4|^6.0|^7.0",
|
||||||
"symfony/error-handler": "^4.4|^5.0|^6.0",
|
"symfony/error-handler": "^5.4|^6.0|^7.0",
|
||||||
"symfony/expression-language": "^4.4|^5.0|^6.0",
|
"symfony/expression-language": "^5.4|^6.0|^7.0",
|
||||||
"symfony/http-foundation": "^4.4|^5.0|^6.0",
|
"symfony/http-foundation": "^5.4|^6.0|^7.0",
|
||||||
"symfony/service-contracts": "^1.1|^2|^3",
|
"symfony/service-contracts": "^2.5|^3",
|
||||||
"symfony/stopwatch": "^4.4|^5.0|^6.0"
|
"symfony/stopwatch": "^5.4|^6.0|^7.0"
|
||||||
},
|
|
||||||
"suggest": {
|
|
||||||
"symfony/dependency-injection": "",
|
|
||||||
"symfony/http-kernel": ""
|
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -2521,7 +1831,7 @@
|
|||||||
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
|
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/event-dispatcher/tree/v5.4.26"
|
"source": "https://github.com/symfony/event-dispatcher/tree/v6.4.25"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -2532,25 +1842,29 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-07-06T06:34:20+00:00"
|
"time": "2025-08-13T09:41:44+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/event-dispatcher-contracts",
|
"name": "symfony/event-dispatcher-contracts",
|
||||||
"version": "v3.4.0",
|
"version": "v3.6.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
|
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
|
||||||
"reference": "a76aed96a42d2b521153fb382d418e30d18b59df"
|
"reference": "59eb412e93815df44f05f342958efa9f46b1e586"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/a76aed96a42d2b521153fb382d418e30d18b59df",
|
"url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586",
|
||||||
"reference": "a76aed96a42d2b521153fb382d418e30d18b59df",
|
"reference": "59eb412e93815df44f05f342958efa9f46b1e586",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -2559,12 +1873,12 @@
|
|||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
|
||||||
"dev-main": "3.4-dev"
|
|
||||||
},
|
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/contracts",
|
"url": "https://github.com/symfony/contracts",
|
||||||
"url": "https://github.com/symfony/contracts"
|
"name": "symfony/contracts"
|
||||||
|
},
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-main": "3.6-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -2597,7 +1911,7 @@
|
|||||||
"standards"
|
"standards"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.4.0"
|
"source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.6.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -2613,27 +1927,97 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-05-23T14:45:45+00:00"
|
"time": "2024-09-25T14:21:43+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/filesystem",
|
"name": "symfony/expression-language",
|
||||||
"version": "v5.4.25",
|
"version": "v6.4.24",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/filesystem.git",
|
"url": "https://github.com/symfony/expression-language.git",
|
||||||
"reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364"
|
"reference": "1ea0adaa53539ea7e70821ae9de49ebe03ae7091"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/filesystem/zipball/0ce3a62c9579a53358d3a7eb6b3dfb79789a6364",
|
"url": "https://api.github.com/repos/symfony/expression-language/zipball/1ea0adaa53539ea7e70821ae9de49ebe03ae7091",
|
||||||
"reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364",
|
"reference": "1ea0adaa53539ea7e70821ae9de49ebe03ae7091",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
|
"symfony/cache": "^5.4|^6.0|^7.0",
|
||||||
|
"symfony/deprecation-contracts": "^2.5|^3",
|
||||||
|
"symfony/service-contracts": "^2.5|^3"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\ExpressionLanguage\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Provides an engine that can compile and evaluate expressions",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"support": {
|
||||||
|
"source": "https://github.com/symfony/expression-language/tree/v6.4.24"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://symfony.com/sponsor",
|
||||||
|
"type": "custom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/fabpot",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
|
"type": "tidelift"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"time": "2025-07-10T08:14:14+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/filesystem",
|
||||||
|
"version": "v6.4.24",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/filesystem.git",
|
||||||
|
"reference": "75ae2edb7cdcc0c53766c30b0a2512b8df574bd8"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/filesystem/zipball/75ae2edb7cdcc0c53766c30b0a2512b8df574bd8",
|
||||||
|
"reference": "75ae2edb7cdcc0c53766c30b0a2512b8df574bd8",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=8.1",
|
||||||
"symfony/polyfill-ctype": "~1.8",
|
"symfony/polyfill-ctype": "~1.8",
|
||||||
"symfony/polyfill-mbstring": "~1.8",
|
"symfony/polyfill-mbstring": "~1.8"
|
||||||
"symfony/polyfill-php80": "^1.16"
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"symfony/process": "^5.4|^6.4|^7.0"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -2661,7 +2045,7 @@
|
|||||||
"description": "Provides basic utilities for the filesystem",
|
"description": "Provides basic utilities for the filesystem",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/filesystem/tree/v5.4.25"
|
"source": "https://github.com/symfony/filesystem/tree/v6.4.24"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -2672,31 +2056,36 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-05-31T13:04:02+00:00"
|
"time": "2025-07-10T08:14:14+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/finder",
|
"name": "symfony/finder",
|
||||||
"version": "v5.4.27",
|
"version": "v6.4.24",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/finder.git",
|
"url": "https://github.com/symfony/finder.git",
|
||||||
"reference": "ff4bce3c33451e7ec778070e45bd23f74214cd5d"
|
"reference": "73089124388c8510efb8d2d1689285d285937b08"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/finder/zipball/ff4bce3c33451e7ec778070e45bd23f74214cd5d",
|
"url": "https://api.github.com/repos/symfony/finder/zipball/73089124388c8510efb8d2d1689285d285937b08",
|
||||||
"reference": "ff4bce3c33451e7ec778070e45bd23f74214cd5d",
|
"reference": "73089124388c8510efb8d2d1689285d285937b08",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1"
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
},
|
||||||
"symfony/polyfill-php80": "^1.16"
|
"require-dev": {
|
||||||
|
"symfony/filesystem": "^6.0|^7.0"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -2724,7 +2113,7 @@
|
|||||||
"description": "Finds files and directories via an intuitive fluent interface",
|
"description": "Finds files and directories via an intuitive fluent interface",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/finder/tree/v5.4.27"
|
"source": "https://github.com/symfony/finder/tree/v6.4.24"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -2735,31 +2124,38 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-07-31T08:02:31+00:00"
|
"time": "2025-07-15T12:02:45+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/flex",
|
"name": "symfony/flex",
|
||||||
"version": "v2.4.2",
|
"version": "v2.8.2",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/flex.git",
|
"url": "https://github.com/symfony/flex.git",
|
||||||
"reference": "67ee785f1aedada76461de7a7ec10cd7f8ff8d36"
|
"reference": "f356aa35f3cf3d2f46c31d344c1098eb2d260426"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/flex/zipball/67ee785f1aedada76461de7a7ec10cd7f8ff8d36",
|
"url": "https://api.github.com/repos/symfony/flex/zipball/f356aa35f3cf3d2f46c31d344c1098eb2d260426",
|
||||||
"reference": "67ee785f1aedada76461de7a7ec10cd7f8ff8d36",
|
"reference": "f356aa35f3cf3d2f46c31d344c1098eb2d260426",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"composer-plugin-api": "^2.1",
|
"composer-plugin-api": "^2.1",
|
||||||
"php": ">=8.0"
|
"php": ">=8.0"
|
||||||
},
|
},
|
||||||
|
"conflict": {
|
||||||
|
"composer/semver": "<1.7.2"
|
||||||
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"composer/composer": "^2.1",
|
"composer/composer": "^2.1",
|
||||||
"symfony/dotenv": "^5.4|^6.0",
|
"symfony/dotenv": "^5.4|^6.0",
|
||||||
@@ -2789,7 +2185,7 @@
|
|||||||
"description": "Composer plugin for Symfony",
|
"description": "Composer plugin for Symfony",
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/symfony/flex/issues",
|
"issues": "https://github.com/symfony/flex/issues",
|
||||||
"source": "https://github.com/symfony/flex/tree/v2.4.2"
|
"source": "https://github.com/symfony/flex/tree/v2.8.2"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -2800,70 +2196,69 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-12-05T14:09:35+00:00"
|
"time": "2025-08-22T07:17:23+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/form",
|
"name": "symfony/form",
|
||||||
"version": "v5.4.33",
|
"version": "v6.4.26",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/form.git",
|
"url": "https://github.com/symfony/form.git",
|
||||||
"reference": "9c13bf53e728d3f75ce7a36046ffc2cd0e7d25ec"
|
"reference": "b40cdbe70be9274ea807ef61da7d0f8d1c70dc51"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/form/zipball/9c13bf53e728d3f75ce7a36046ffc2cd0e7d25ec",
|
"url": "https://api.github.com/repos/symfony/form/zipball/b40cdbe70be9274ea807ef61da7d0f8d1c70dc51",
|
||||||
"reference": "9c13bf53e728d3f75ce7a36046ffc2cd0e7d25ec",
|
"reference": "b40cdbe70be9274ea807ef61da7d0f8d1c70dc51",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
"symfony/deprecation-contracts": "^2.5|^3",
|
||||||
"symfony/event-dispatcher": "^4.4|^5.0|^6.0",
|
"symfony/event-dispatcher": "^5.4|^6.0|^7.0",
|
||||||
"symfony/options-resolver": "^5.1|^6.0",
|
"symfony/options-resolver": "^5.4|^6.0|^7.0",
|
||||||
"symfony/polyfill-ctype": "~1.8",
|
"symfony/polyfill-ctype": "~1.8",
|
||||||
"symfony/polyfill-intl-icu": "^1.21",
|
"symfony/polyfill-intl-icu": "^1.21",
|
||||||
"symfony/polyfill-mbstring": "~1.0",
|
"symfony/polyfill-mbstring": "~1.0",
|
||||||
"symfony/polyfill-php80": "^1.16",
|
"symfony/property-access": "^5.4|^6.0|^7.0",
|
||||||
"symfony/polyfill-php81": "^1.23",
|
"symfony/service-contracts": "^2.5|^3"
|
||||||
"symfony/property-access": "^5.0.8|^6.0",
|
|
||||||
"symfony/service-contracts": "^1.1|^2|^3"
|
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"symfony/console": "<4.4",
|
"symfony/console": "<5.4",
|
||||||
"symfony/dependency-injection": "<4.4",
|
"symfony/dependency-injection": "<5.4",
|
||||||
"symfony/doctrine-bridge": "<5.4.21|>=6,<6.2.7",
|
"symfony/doctrine-bridge": "<5.4.21|>=6,<6.2.7",
|
||||||
"symfony/error-handler": "<4.4.5",
|
"symfony/error-handler": "<5.4",
|
||||||
"symfony/framework-bundle": "<4.4",
|
"symfony/framework-bundle": "<5.4",
|
||||||
"symfony/http-kernel": "<4.4",
|
"symfony/http-kernel": "<5.4",
|
||||||
"symfony/translation": "<4.4",
|
"symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3|>=7.0,<7.0.3",
|
||||||
"symfony/translation-contracts": "<1.1.7",
|
"symfony/translation-contracts": "<2.5",
|
||||||
"symfony/twig-bridge": "<5.4.21|>=6,<6.2.7"
|
"symfony/twig-bridge": "<6.3"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"doctrine/collections": "^1.0|^2.0",
|
"doctrine/collections": "^1.0|^2.0",
|
||||||
"symfony/config": "^4.4|^5.0|^6.0",
|
"symfony/config": "^5.4|^6.0|^7.0",
|
||||||
"symfony/console": "^5.4|^6.0",
|
"symfony/console": "^5.4|^6.0|^7.0",
|
||||||
"symfony/dependency-injection": "^4.4|^5.0|^6.0",
|
"symfony/dependency-injection": "^5.4|^6.0|^7.0",
|
||||||
"symfony/expression-language": "^4.4|^5.0|^6.0",
|
"symfony/expression-language": "^5.4|^6.0|^7.0",
|
||||||
"symfony/http-foundation": "^4.4|^5.0|^6.0",
|
"symfony/html-sanitizer": "^6.1|^7.0",
|
||||||
"symfony/http-kernel": "^4.4|^5.0|^6.0",
|
"symfony/http-foundation": "^5.4|^6.0|^7.0",
|
||||||
"symfony/intl": "^4.4|^5.0|^6.0",
|
"symfony/http-kernel": "^5.4|^6.0|^7.0",
|
||||||
"symfony/security-csrf": "^4.4|^5.0|^6.0",
|
"symfony/intl": "^5.4|^6.0|^7.0",
|
||||||
"symfony/translation": "^4.4|^5.0|^6.0",
|
"symfony/security-core": "^6.2|^7.0",
|
||||||
"symfony/uid": "^5.1|^6.0",
|
"symfony/security-csrf": "^5.4|^6.0|^7.0",
|
||||||
"symfony/validator": "^4.4.17|^5.1.9|^6.0",
|
"symfony/translation": "^5.4.35|~6.3.12|^6.4.3|^7.0.3",
|
||||||
"symfony/var-dumper": "^4.4|^5.0|^6.0"
|
"symfony/uid": "^5.4|^6.0|^7.0",
|
||||||
},
|
"symfony/validator": "^5.4|^6.0|^7.0",
|
||||||
"suggest": {
|
"symfony/var-dumper": "^5.4|^6.0|^7.0"
|
||||||
"symfony/security-csrf": "For protecting forms against CSRF attacks.",
|
|
||||||
"symfony/twig-bridge": "For templating with Twig.",
|
|
||||||
"symfony/validator": "For form validation."
|
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -2891,7 +2286,7 @@
|
|||||||
"description": "Allows to easily create, process and reuse HTML forms",
|
"description": "Allows to easily create, process and reuse HTML forms",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/form/tree/v5.4.33"
|
"source": "https://github.com/symfony/form/tree/v6.4.26"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -2902,118 +2297,121 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-30T10:45:54+00:00"
|
"time": "2025-09-20T07:40:41+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/framework-bundle",
|
"name": "symfony/framework-bundle",
|
||||||
"version": "v5.4.32",
|
"version": "v6.4.26",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/framework-bundle.git",
|
"url": "https://github.com/symfony/framework-bundle.git",
|
||||||
"reference": "14597eccde5051368918bce92393be9ba941db14"
|
"reference": "e16f6ddaf8f026d5f3323f3bbc0660654ccdd837"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/framework-bundle/zipball/14597eccde5051368918bce92393be9ba941db14",
|
"url": "https://api.github.com/repos/symfony/framework-bundle/zipball/e16f6ddaf8f026d5f3323f3bbc0660654ccdd837",
|
||||||
"reference": "14597eccde5051368918bce92393be9ba941db14",
|
"reference": "e16f6ddaf8f026d5f3323f3bbc0660654ccdd837",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
"composer-runtime-api": ">=2.1",
|
||||||
"ext-xml": "*",
|
"ext-xml": "*",
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"symfony/cache": "^5.2|^6.0",
|
"symfony/cache": "^5.4|^6.0|^7.0",
|
||||||
"symfony/config": "^5.3|^6.0",
|
"symfony/config": "^6.1|^7.0",
|
||||||
"symfony/dependency-injection": "^5.4.5|^6.0.5",
|
"symfony/dependency-injection": "^6.4.12|^7.0",
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
"symfony/deprecation-contracts": "^2.5|^3",
|
||||||
"symfony/error-handler": "^4.4.1|^5.0.1|^6.0",
|
"symfony/error-handler": "^6.1|^7.0",
|
||||||
"symfony/event-dispatcher": "^5.1|^6.0",
|
"symfony/event-dispatcher": "^5.4|^6.0|^7.0",
|
||||||
"symfony/filesystem": "^4.4|^5.0|^6.0",
|
"symfony/filesystem": "^5.4|^6.0|^7.0",
|
||||||
"symfony/finder": "^4.4|^5.0|^6.0",
|
"symfony/finder": "^5.4|^6.0|^7.0",
|
||||||
"symfony/http-foundation": "^5.4.24|^6.2.11",
|
"symfony/http-foundation": "^6.4|^7.0",
|
||||||
"symfony/http-kernel": "^5.4|^6.0",
|
"symfony/http-kernel": "^6.4",
|
||||||
"symfony/polyfill-mbstring": "~1.0",
|
"symfony/polyfill-mbstring": "~1.0",
|
||||||
"symfony/polyfill-php80": "^1.16",
|
"symfony/routing": "^6.4|^7.0"
|
||||||
"symfony/polyfill-php81": "^1.22",
|
|
||||||
"symfony/routing": "^5.3|^6.0"
|
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"doctrine/annotations": "<1.13.1",
|
"doctrine/annotations": "<1.13.1",
|
||||||
"doctrine/cache": "<1.11",
|
|
||||||
"doctrine/persistence": "<1.3",
|
"doctrine/persistence": "<1.3",
|
||||||
"phpdocumentor/reflection-docblock": "<3.2.2",
|
"phpdocumentor/reflection-docblock": "<3.2.2",
|
||||||
"phpdocumentor/type-resolver": "<1.4.0",
|
"phpdocumentor/type-resolver": "<1.4.0",
|
||||||
"symfony/asset": "<5.3",
|
"symfony/asset": "<5.4",
|
||||||
"symfony/console": "<5.2.5",
|
"symfony/asset-mapper": "<6.4",
|
||||||
"symfony/dom-crawler": "<4.4",
|
"symfony/clock": "<6.3",
|
||||||
"symfony/dotenv": "<5.1",
|
"symfony/console": "<5.4|>=7.0",
|
||||||
"symfony/form": "<5.2",
|
"symfony/dom-crawler": "<6.4",
|
||||||
"symfony/http-client": "<4.4",
|
"symfony/dotenv": "<5.4",
|
||||||
"symfony/lock": "<4.4",
|
"symfony/form": "<5.4",
|
||||||
"symfony/mailer": "<5.2",
|
"symfony/http-client": "<6.3",
|
||||||
"symfony/messenger": "<5.4",
|
"symfony/lock": "<5.4",
|
||||||
"symfony/mime": "<4.4",
|
"symfony/mailer": "<5.4",
|
||||||
"symfony/property-access": "<5.3",
|
"symfony/messenger": "<6.3",
|
||||||
"symfony/property-info": "<4.4",
|
"symfony/mime": "<6.4",
|
||||||
"symfony/security-csrf": "<5.3",
|
"symfony/property-access": "<5.4",
|
||||||
"symfony/serializer": "<5.2",
|
"symfony/property-info": "<5.4",
|
||||||
"symfony/service-contracts": ">=3.0",
|
"symfony/runtime": "<5.4.45|>=6.0,<6.4.13|>=7.0,<7.1.6",
|
||||||
"symfony/stopwatch": "<4.4",
|
"symfony/scheduler": "<6.4.4|>=7.0.0,<7.0.4",
|
||||||
"symfony/translation": "<5.3",
|
"symfony/security-core": "<5.4",
|
||||||
"symfony/twig-bridge": "<4.4",
|
"symfony/security-csrf": "<5.4",
|
||||||
"symfony/twig-bundle": "<4.4",
|
"symfony/serializer": "<6.4",
|
||||||
"symfony/validator": "<5.3.11",
|
"symfony/stopwatch": "<5.4",
|
||||||
"symfony/web-profiler-bundle": "<4.4",
|
"symfony/translation": "<6.4",
|
||||||
"symfony/workflow": "<5.2"
|
"symfony/twig-bridge": "<5.4",
|
||||||
|
"symfony/twig-bundle": "<5.4",
|
||||||
|
"symfony/validator": "<6.4",
|
||||||
|
"symfony/web-profiler-bundle": "<6.4",
|
||||||
|
"symfony/workflow": "<6.4"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"doctrine/annotations": "^1.13.1|^2",
|
"doctrine/annotations": "^1.13.1|^2",
|
||||||
"doctrine/cache": "^1.11|^2.0",
|
|
||||||
"doctrine/persistence": "^1.3|^2|^3",
|
"doctrine/persistence": "^1.3|^2|^3",
|
||||||
|
"dragonmantank/cron-expression": "^3.1",
|
||||||
"phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
|
"phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
|
||||||
"symfony/asset": "^5.3|^6.0",
|
"seld/jsonlint": "^1.10",
|
||||||
"symfony/browser-kit": "^5.4|^6.0",
|
"symfony/asset": "^5.4|^6.0|^7.0",
|
||||||
"symfony/console": "^5.4.9|^6.0.9",
|
"symfony/asset-mapper": "^6.4|^7.0",
|
||||||
"symfony/css-selector": "^4.4|^5.0|^6.0",
|
"symfony/browser-kit": "^5.4|^6.0|^7.0",
|
||||||
"symfony/dom-crawler": "^4.4.30|^5.3.7|^6.0",
|
"symfony/clock": "^6.2|^7.0",
|
||||||
"symfony/dotenv": "^5.1|^6.0",
|
"symfony/console": "^5.4.9|^6.0.9|^7.0",
|
||||||
"symfony/expression-language": "^4.4|^5.0|^6.0",
|
"symfony/css-selector": "^5.4|^6.0|^7.0",
|
||||||
"symfony/form": "^5.2|^6.0",
|
"symfony/dom-crawler": "^6.4|^7.0",
|
||||||
"symfony/http-client": "^4.4|^5.0|^6.0",
|
"symfony/dotenv": "^5.4|^6.0|^7.0",
|
||||||
"symfony/lock": "^4.4|^5.0|^6.0",
|
"symfony/expression-language": "^5.4|^6.0|^7.0",
|
||||||
"symfony/mailer": "^5.2|^6.0",
|
"symfony/form": "^5.4|^6.0|^7.0",
|
||||||
"symfony/messenger": "^5.4|^6.0",
|
"symfony/html-sanitizer": "^6.1|^7.0",
|
||||||
"symfony/mime": "^4.4|^5.0|^6.0",
|
"symfony/http-client": "^6.3|^7.0",
|
||||||
"symfony/notifier": "^5.4|^6.0",
|
"symfony/lock": "^5.4|^6.0|^7.0",
|
||||||
|
"symfony/mailer": "^5.4|^6.0|^7.0",
|
||||||
|
"symfony/messenger": "^6.3|^7.0",
|
||||||
|
"symfony/mime": "^6.4|^7.0",
|
||||||
|
"symfony/notifier": "^5.4|^6.0|^7.0",
|
||||||
"symfony/polyfill-intl-icu": "~1.0",
|
"symfony/polyfill-intl-icu": "~1.0",
|
||||||
"symfony/process": "^4.4|^5.0|^6.0",
|
"symfony/process": "^5.4|^6.0|^7.0",
|
||||||
"symfony/property-info": "^4.4|^5.0|^6.0",
|
"symfony/property-info": "^5.4|^6.0|^7.0",
|
||||||
"symfony/rate-limiter": "^5.2|^6.0",
|
"symfony/rate-limiter": "^5.4|^6.0|^7.0",
|
||||||
"symfony/security-bundle": "^5.4|^6.0",
|
"symfony/scheduler": "^6.4.4|^7.0.4",
|
||||||
"symfony/serializer": "^5.4|^6.0",
|
"symfony/security-bundle": "^5.4|^6.0|^7.0",
|
||||||
"symfony/stopwatch": "^4.4|^5.0|^6.0",
|
"symfony/semaphore": "^5.4|^6.0|^7.0",
|
||||||
"symfony/string": "^5.0|^6.0",
|
"symfony/serializer": "^6.4|^7.0",
|
||||||
"symfony/translation": "^5.3|^6.0",
|
"symfony/stopwatch": "^5.4|^6.0|^7.0",
|
||||||
"symfony/twig-bundle": "^4.4|^5.0|^6.0",
|
"symfony/string": "^5.4|^6.0|^7.0",
|
||||||
"symfony/validator": "^5.3.11|^6.0",
|
"symfony/translation": "^6.4|^7.0",
|
||||||
"symfony/web-link": "^4.4|^5.0|^6.0",
|
"symfony/twig-bundle": "^5.4|^6.0|^7.0",
|
||||||
"symfony/workflow": "^5.2|^6.0",
|
"symfony/uid": "^5.4|^6.0|^7.0",
|
||||||
"symfony/yaml": "^4.4|^5.0|^6.0",
|
"symfony/validator": "^6.4|^7.0",
|
||||||
"twig/twig": "^2.10|^3.0"
|
"symfony/web-link": "^5.4|^6.0|^7.0",
|
||||||
},
|
"symfony/workflow": "^6.4|^7.0",
|
||||||
"suggest": {
|
"symfony/yaml": "^5.4|^6.0|^7.0",
|
||||||
"ext-apcu": "For best performance of the system caches",
|
"twig/twig": "^2.10|^3.0.4"
|
||||||
"symfony/console": "For using the console commands",
|
|
||||||
"symfony/form": "For using forms",
|
|
||||||
"symfony/property-info": "For using the property_info service",
|
|
||||||
"symfony/serializer": "For using the serializer service",
|
|
||||||
"symfony/validator": "For using validation",
|
|
||||||
"symfony/web-link": "For using web links, features such as preloading, prefetching or prerendering",
|
|
||||||
"symfony/yaml": "For using the debug:config and lint:yaml commands"
|
|
||||||
},
|
},
|
||||||
"type": "symfony-bundle",
|
"type": "symfony-bundle",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -3041,7 +2439,7 @@
|
|||||||
"description": "Provides a tight integration between Symfony components and the Symfony full-stack framework",
|
"description": "Provides a tight integration between Symfony components and the Symfony full-stack framework",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/framework-bundle/tree/v5.4.32"
|
"source": "https://github.com/symfony/framework-bundle/tree/v6.4.26"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -3052,56 +2450,63 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-23T15:18:29+00:00"
|
"time": "2025-09-16T07:32:45+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/http-client",
|
"name": "symfony/http-client",
|
||||||
"version": "v5.4.31",
|
"version": "v6.4.26",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/http-client.git",
|
"url": "https://github.com/symfony/http-client.git",
|
||||||
"reference": "6cdf6cdf48101454f014a9ab4e0905f0b902389d"
|
"reference": "6740cdc1a3bffa127966b6056e883b3fe3709849"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/http-client/zipball/6cdf6cdf48101454f014a9ab4e0905f0b902389d",
|
"url": "https://api.github.com/repos/symfony/http-client/zipball/6740cdc1a3bffa127966b6056e883b3fe3709849",
|
||||||
"reference": "6cdf6cdf48101454f014a9ab4e0905f0b902389d",
|
"reference": "6740cdc1a3bffa127966b6056e883b3fe3709849",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"psr/log": "^1|^2|^3",
|
"psr/log": "^1|^2|^3",
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
"symfony/deprecation-contracts": "^2.5|^3",
|
||||||
"symfony/http-client-contracts": "^2.4",
|
"symfony/http-client-contracts": "~3.4.4|^3.5.2",
|
||||||
"symfony/polyfill-php73": "^1.11",
|
"symfony/polyfill-php83": "^1.29",
|
||||||
"symfony/polyfill-php80": "^1.16",
|
"symfony/service-contracts": "^2.5|^3"
|
||||||
"symfony/service-contracts": "^1.0|^2|^3"
|
},
|
||||||
|
"conflict": {
|
||||||
|
"php-http/discovery": "<1.15",
|
||||||
|
"symfony/http-foundation": "<6.3"
|
||||||
},
|
},
|
||||||
"provide": {
|
"provide": {
|
||||||
"php-http/async-client-implementation": "*",
|
"php-http/async-client-implementation": "*",
|
||||||
"php-http/client-implementation": "*",
|
"php-http/client-implementation": "*",
|
||||||
"psr/http-client-implementation": "1.0",
|
"psr/http-client-implementation": "1.0",
|
||||||
"symfony/http-client-implementation": "2.4"
|
"symfony/http-client-implementation": "3.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"amphp/amp": "^2.5",
|
"amphp/amp": "^2.5",
|
||||||
"amphp/http-client": "^4.2.1",
|
"amphp/http-client": "^4.2.1",
|
||||||
"amphp/http-tunnel": "^1.0",
|
"amphp/http-tunnel": "^1.0",
|
||||||
"amphp/socket": "^1.1",
|
"amphp/socket": "^1.1",
|
||||||
"guzzlehttp/promises": "^1.4",
|
"guzzlehttp/promises": "^1.4|^2.0",
|
||||||
"nyholm/psr7": "^1.0",
|
"nyholm/psr7": "^1.0",
|
||||||
"php-http/httplug": "^1.0|^2.0",
|
"php-http/httplug": "^1.0|^2.0",
|
||||||
"php-http/message-factory": "^1.0",
|
|
||||||
"psr/http-client": "^1.0",
|
"psr/http-client": "^1.0",
|
||||||
"symfony/dependency-injection": "^4.4|^5.0|^6.0",
|
"symfony/dependency-injection": "^5.4|^6.0|^7.0",
|
||||||
"symfony/http-kernel": "^4.4.13|^5.1.5|^6.0",
|
"symfony/http-kernel": "^5.4|^6.0|^7.0",
|
||||||
"symfony/process": "^4.4|^5.0|^6.0",
|
"symfony/messenger": "^5.4|^6.0|^7.0",
|
||||||
"symfony/stopwatch": "^4.4|^5.0|^6.0"
|
"symfony/process": "^5.4|^6.0|^7.0",
|
||||||
|
"symfony/stopwatch": "^5.4|^6.0|^7.0"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -3132,7 +2537,7 @@
|
|||||||
"http"
|
"http"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/http-client/tree/v5.4.31"
|
"source": "https://github.com/symfony/http-client/tree/v6.4.26"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -3143,47 +2548,51 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-10-29T12:33:05+00:00"
|
"time": "2025-09-11T09:57:09+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/http-client-contracts",
|
"name": "symfony/http-client-contracts",
|
||||||
"version": "v2.5.2",
|
"version": "v3.6.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/http-client-contracts.git",
|
"url": "https://github.com/symfony/http-client-contracts.git",
|
||||||
"reference": "ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70"
|
"reference": "75d7043853a42837e68111812f4d964b01e5101c"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70",
|
"url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/75d7043853a42837e68111812f4d964b01e5101c",
|
||||||
"reference": "ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70",
|
"reference": "75d7043853a42837e68111812f4d964b01e5101c",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5"
|
"php": ">=8.1"
|
||||||
},
|
|
||||||
"suggest": {
|
|
||||||
"symfony/http-client-implementation": ""
|
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
|
||||||
"dev-main": "2.5-dev"
|
|
||||||
},
|
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/contracts",
|
"url": "https://github.com/symfony/contracts",
|
||||||
"url": "https://github.com/symfony/contracts"
|
"name": "symfony/contracts"
|
||||||
|
},
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-main": "3.6-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
"Symfony\\Contracts\\HttpClient\\": ""
|
"Symfony\\Contracts\\HttpClient\\": ""
|
||||||
}
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Test/"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
"license": [
|
"license": [
|
||||||
@@ -3210,7 +2619,7 @@
|
|||||||
"standards"
|
"standards"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/http-client-contracts/tree/v2.5.2"
|
"source": "https://github.com/symfony/http-client-contracts/tree/v3.6.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -3226,39 +2635,40 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-04-12T15:48:08+00:00"
|
"time": "2025-04-29T11:18:49+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/http-foundation",
|
"name": "symfony/http-foundation",
|
||||||
"version": "v5.4.32",
|
"version": "v6.4.26",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/http-foundation.git",
|
"url": "https://github.com/symfony/http-foundation.git",
|
||||||
"reference": "cbcd80a4c36f59772d62860fdb0cb6a38da63fd2"
|
"reference": "369241591d92bb5dfb4c6ccd6ee94378a45b1521"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/cbcd80a4c36f59772d62860fdb0cb6a38da63fd2",
|
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/369241591d92bb5dfb4c6ccd6ee94378a45b1521",
|
||||||
"reference": "cbcd80a4c36f59772d62860fdb0cb6a38da63fd2",
|
"reference": "369241591d92bb5dfb4c6ccd6ee94378a45b1521",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
"symfony/deprecation-contracts": "^2.5|^3",
|
||||||
"symfony/polyfill-mbstring": "~1.1",
|
"symfony/polyfill-mbstring": "~1.1",
|
||||||
"symfony/polyfill-php80": "^1.16"
|
"symfony/polyfill-php83": "^1.27"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"symfony/cache": "<6.4.12|>=7.0,<7.1.5"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"predis/predis": "~1.0",
|
"doctrine/dbal": "^2.13.1|^3|^4",
|
||||||
"symfony/cache": "^4.4|^5.0|^6.0",
|
"predis/predis": "^1.1|^2.0",
|
||||||
"symfony/dependency-injection": "^5.4|^6.0",
|
"symfony/cache": "^6.4.12|^7.1.5",
|
||||||
"symfony/expression-language": "^4.4|^5.0|^6.0",
|
"symfony/dependency-injection": "^5.4|^6.0|^7.0",
|
||||||
"symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4",
|
"symfony/expression-language": "^5.4|^6.0|^7.0",
|
||||||
"symfony/mime": "^4.4|^5.0|^6.0",
|
"symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0",
|
||||||
"symfony/rate-limiter": "^5.2|^6.0"
|
"symfony/mime": "^5.4|^6.0|^7.0",
|
||||||
},
|
"symfony/rate-limiter": "^5.4|^6.0|^7.0"
|
||||||
"suggest": {
|
|
||||||
"symfony/mime": "To use the file extension guesser"
|
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -3286,7 +2696,7 @@
|
|||||||
"description": "Defines an object-oriented layer for the HTTP specification",
|
"description": "Defines an object-oriented layer for the HTTP specification",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/http-foundation/tree/v5.4.32"
|
"source": "https://github.com/symfony/http-foundation/tree/v6.4.26"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -3297,81 +2707,87 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-20T15:40:25+00:00"
|
"time": "2025-09-16T08:22:30+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/http-kernel",
|
"name": "symfony/http-kernel",
|
||||||
"version": "v5.4.33",
|
"version": "v6.4.26",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/http-kernel.git",
|
"url": "https://github.com/symfony/http-kernel.git",
|
||||||
"reference": "892636f9279f953dc266dc088f900b03eecb4ffa"
|
"reference": "8b0f963293aede77593c9845c8c0af34752e893a"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/892636f9279f953dc266dc088f900b03eecb4ffa",
|
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/8b0f963293aede77593c9845c8c0af34752e893a",
|
||||||
"reference": "892636f9279f953dc266dc088f900b03eecb4ffa",
|
"reference": "8b0f963293aede77593c9845c8c0af34752e893a",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"psr/log": "^1|^2",
|
"psr/log": "^1|^2|^3",
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
"symfony/deprecation-contracts": "^2.5|^3",
|
||||||
"symfony/error-handler": "^4.4|^5.0|^6.0",
|
"symfony/error-handler": "^6.4|^7.0",
|
||||||
"symfony/event-dispatcher": "^5.0|^6.0",
|
"symfony/event-dispatcher": "^5.4|^6.0|^7.0",
|
||||||
"symfony/http-foundation": "^5.4.21|^6.2.7",
|
"symfony/http-foundation": "^6.4|^7.0",
|
||||||
"symfony/polyfill-ctype": "^1.8",
|
"symfony/polyfill-ctype": "^1.8"
|
||||||
"symfony/polyfill-php73": "^1.9",
|
|
||||||
"symfony/polyfill-php80": "^1.16"
|
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"symfony/browser-kit": "<5.4",
|
"symfony/browser-kit": "<5.4",
|
||||||
"symfony/cache": "<5.0",
|
"symfony/cache": "<5.4",
|
||||||
"symfony/config": "<5.0",
|
"symfony/config": "<6.1",
|
||||||
"symfony/console": "<4.4",
|
"symfony/console": "<5.4",
|
||||||
"symfony/dependency-injection": "<5.3",
|
"symfony/dependency-injection": "<6.4",
|
||||||
"symfony/doctrine-bridge": "<5.0",
|
"symfony/doctrine-bridge": "<5.4",
|
||||||
"symfony/form": "<5.0",
|
"symfony/form": "<5.4",
|
||||||
"symfony/http-client": "<5.0",
|
"symfony/http-client": "<5.4",
|
||||||
"symfony/mailer": "<5.0",
|
"symfony/http-client-contracts": "<2.5",
|
||||||
"symfony/messenger": "<5.0",
|
"symfony/mailer": "<5.4",
|
||||||
"symfony/translation": "<5.0",
|
"symfony/messenger": "<5.4",
|
||||||
"symfony/twig-bridge": "<5.0",
|
"symfony/translation": "<5.4",
|
||||||
"symfony/validator": "<5.0",
|
"symfony/translation-contracts": "<2.5",
|
||||||
|
"symfony/twig-bridge": "<5.4",
|
||||||
|
"symfony/validator": "<6.4",
|
||||||
|
"symfony/var-dumper": "<6.3",
|
||||||
"twig/twig": "<2.13"
|
"twig/twig": "<2.13"
|
||||||
},
|
},
|
||||||
"provide": {
|
"provide": {
|
||||||
"psr/log-implementation": "1.0|2.0"
|
"psr/log-implementation": "1.0|2.0|3.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"psr/cache": "^1.0|^2.0|^3.0",
|
"psr/cache": "^1.0|^2.0|^3.0",
|
||||||
"symfony/browser-kit": "^5.4|^6.0",
|
"symfony/browser-kit": "^5.4|^6.0|^7.0",
|
||||||
"symfony/config": "^5.0|^6.0",
|
"symfony/clock": "^6.2|^7.0",
|
||||||
"symfony/console": "^4.4|^5.0|^6.0",
|
"symfony/config": "^6.1|^7.0",
|
||||||
"symfony/css-selector": "^4.4|^5.0|^6.0",
|
"symfony/console": "^5.4|^6.0|^7.0",
|
||||||
"symfony/dependency-injection": "^5.3|^6.0",
|
"symfony/css-selector": "^5.4|^6.0|^7.0",
|
||||||
"symfony/dom-crawler": "^4.4|^5.0|^6.0",
|
"symfony/dependency-injection": "^6.4|^7.0",
|
||||||
"symfony/expression-language": "^4.4|^5.0|^6.0",
|
"symfony/dom-crawler": "^5.4|^6.0|^7.0",
|
||||||
"symfony/finder": "^4.4|^5.0|^6.0",
|
"symfony/expression-language": "^5.4|^6.0|^7.0",
|
||||||
"symfony/http-client-contracts": "^1.1|^2|^3",
|
"symfony/finder": "^5.4|^6.0|^7.0",
|
||||||
"symfony/process": "^4.4|^5.0|^6.0",
|
"symfony/http-client-contracts": "^2.5|^3",
|
||||||
"symfony/routing": "^4.4|^5.0|^6.0",
|
"symfony/process": "^5.4|^6.0|^7.0",
|
||||||
"symfony/stopwatch": "^4.4|^5.0|^6.0",
|
"symfony/property-access": "^5.4.5|^6.0.5|^7.0",
|
||||||
"symfony/translation": "^4.4|^5.0|^6.0",
|
"symfony/routing": "^5.4|^6.0|^7.0",
|
||||||
"symfony/translation-contracts": "^1.1|^2|^3",
|
"symfony/serializer": "^6.4.4|^7.0.4",
|
||||||
|
"symfony/stopwatch": "^5.4|^6.0|^7.0",
|
||||||
|
"symfony/translation": "^5.4|^6.0|^7.0",
|
||||||
|
"symfony/translation-contracts": "^2.5|^3",
|
||||||
|
"symfony/uid": "^5.4|^6.0|^7.0",
|
||||||
|
"symfony/validator": "^6.4|^7.0",
|
||||||
|
"symfony/var-dumper": "^5.4|^6.4|^7.0",
|
||||||
|
"symfony/var-exporter": "^6.2|^7.0",
|
||||||
"twig/twig": "^2.13|^3.0.4"
|
"twig/twig": "^2.13|^3.0.4"
|
||||||
},
|
},
|
||||||
"suggest": {
|
|
||||||
"symfony/browser-kit": "",
|
|
||||||
"symfony/config": "",
|
|
||||||
"symfony/console": "",
|
|
||||||
"symfony/dependency-injection": ""
|
|
||||||
},
|
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
@@ -3398,7 +2814,7 @@
|
|||||||
"description": "Provides a structured process for converting a Request into a Response",
|
"description": "Provides a structured process for converting a Request into a Response",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/http-kernel/tree/v5.4.33"
|
"source": "https://github.com/symfony/http-kernel/tree/v6.4.26"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -3409,44 +2825,56 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-12-01T16:51:11+00:00"
|
"time": "2025-09-27T12:20:56+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/lock",
|
"name": "symfony/monolog-bridge",
|
||||||
"version": "v5.4.32",
|
"version": "v6.4.26",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/lock.git",
|
"url": "https://github.com/symfony/monolog-bridge.git",
|
||||||
"reference": "a6d7d829f4907134775a0e1b162780e61f80ed87"
|
"reference": "71f632717b17014f9673beec1c9df601304b0a2f"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/lock/zipball/a6d7d829f4907134775a0e1b162780e61f80ed87",
|
"url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/71f632717b17014f9673beec1c9df601304b0a2f",
|
||||||
"reference": "a6d7d829f4907134775a0e1b162780e61f80ed87",
|
"reference": "71f632717b17014f9673beec1c9df601304b0a2f",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"monolog/monolog": "^1.25.1|^2|^3",
|
||||||
"psr/log": "^1|^2|^3",
|
"php": ">=8.1",
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
"symfony/deprecation-contracts": "^2.5|^3",
|
||||||
"symfony/polyfill-php80": "^1.16"
|
"symfony/http-kernel": "^5.4|^6.0|^7.0",
|
||||||
|
"symfony/service-contracts": "^2.5|^3"
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"doctrine/dbal": "<2.13"
|
"symfony/console": "<5.4",
|
||||||
|
"symfony/http-foundation": "<5.4",
|
||||||
|
"symfony/security-core": "<5.4"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"doctrine/dbal": "^2.13|^3|^4",
|
"symfony/console": "^5.4|^6.0|^7.0",
|
||||||
"predis/predis": "~1.0"
|
"symfony/http-client": "^5.4|^6.0|^7.0",
|
||||||
|
"symfony/mailer": "^5.4|^6.0|^7.0",
|
||||||
|
"symfony/messenger": "^5.4|^6.0|^7.0",
|
||||||
|
"symfony/mime": "^5.4|^6.0|^7.0",
|
||||||
|
"symfony/security-core": "^5.4|^6.0|^7.0",
|
||||||
|
"symfony/var-dumper": "^5.4|^6.0|^7.0"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "symfony-bridge",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
"Symfony\\Component\\Lock\\": ""
|
"Symfony\\Bridge\\Monolog\\": ""
|
||||||
},
|
},
|
||||||
"exclude-from-classmap": [
|
"exclude-from-classmap": [
|
||||||
"/Tests/"
|
"/Tests/"
|
||||||
@@ -3458,26 +2886,103 @@
|
|||||||
],
|
],
|
||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
"name": "Jérémy Derussé",
|
"name": "Fabien Potencier",
|
||||||
"email": "jeremy@derusse.com"
|
"email": "fabien@symfony.com"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Symfony Community",
|
"name": "Symfony Community",
|
||||||
"homepage": "https://symfony.com/contributors"
|
"homepage": "https://symfony.com/contributors"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Creates and manages locks, a mechanism to provide exclusive access to a shared resource",
|
"description": "Provides integration for Monolog with various Symfony components",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"support": {
|
||||||
|
"source": "https://github.com/symfony/monolog-bridge/tree/v6.4.26"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://symfony.com/sponsor",
|
||||||
|
"type": "custom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/fabpot",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
|
"type": "tidelift"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"time": "2025-09-11T09:57:09+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/monolog-bundle",
|
||||||
|
"version": "v3.10.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/monolog-bundle.git",
|
||||||
|
"reference": "414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181",
|
||||||
|
"reference": "414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"monolog/monolog": "^1.25.1 || ^2.0 || ^3.0",
|
||||||
|
"php": ">=7.2.5",
|
||||||
|
"symfony/config": "^5.4 || ^6.0 || ^7.0",
|
||||||
|
"symfony/dependency-injection": "^5.4 || ^6.0 || ^7.0",
|
||||||
|
"symfony/http-kernel": "^5.4 || ^6.0 || ^7.0",
|
||||||
|
"symfony/monolog-bridge": "^5.4 || ^6.0 || ^7.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"symfony/console": "^5.4 || ^6.0 || ^7.0",
|
||||||
|
"symfony/phpunit-bridge": "^6.3 || ^7.0",
|
||||||
|
"symfony/yaml": "^5.4 || ^6.0 || ^7.0"
|
||||||
|
},
|
||||||
|
"type": "symfony-bundle",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "3.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Bundle\\MonologBundle\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony MonologBundle",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"cas",
|
"log",
|
||||||
"flock",
|
"logging"
|
||||||
"locking",
|
|
||||||
"mutex",
|
|
||||||
"redlock",
|
|
||||||
"semaphore"
|
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/lock/tree/v5.4.32"
|
"issues": "https://github.com/symfony/monolog-bundle/issues",
|
||||||
|
"source": "https://github.com/symfony/monolog-bundle/tree/v3.10.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -3493,27 +2998,25 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-20T15:40:25+00:00"
|
"time": "2023-11-06T17:08:13+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/options-resolver",
|
"name": "symfony/options-resolver",
|
||||||
"version": "v5.4.21",
|
"version": "v6.4.25",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/options-resolver.git",
|
"url": "https://github.com/symfony/options-resolver.git",
|
||||||
"reference": "4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9"
|
"reference": "d28e7e2db8a73e9511df892d36445f61314bbebe"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/options-resolver/zipball/4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9",
|
"url": "https://api.github.com/repos/symfony/options-resolver/zipball/d28e7e2db8a73e9511df892d36445f61314bbebe",
|
||||||
"reference": "4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9",
|
"reference": "d28e7e2db8a73e9511df892d36445f61314bbebe",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
"symfony/deprecation-contracts": "^2.5|^3"
|
||||||
"symfony/polyfill-php73": "~1.0",
|
|
||||||
"symfony/polyfill-php80": "^1.16"
|
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -3546,7 +3049,7 @@
|
|||||||
"options"
|
"options"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/options-resolver/tree/v5.4.21"
|
"source": "https://github.com/symfony/options-resolver/tree/v6.4.25"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -3557,38 +3060,40 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-02-14T08:03:56+00:00"
|
"time": "2025-08-04T17:06:28+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/password-hasher",
|
"name": "symfony/password-hasher",
|
||||||
"version": "v5.4.31",
|
"version": "v6.4.24",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/password-hasher.git",
|
"url": "https://github.com/symfony/password-hasher.git",
|
||||||
"reference": "f1a07181f3442836b0aadfd4c65841804d4173c4"
|
"reference": "dcab5ac87450aaed26483ba49c2ce86808da7557"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/password-hasher/zipball/f1a07181f3442836b0aadfd4c65841804d4173c4",
|
"url": "https://api.github.com/repos/symfony/password-hasher/zipball/dcab5ac87450aaed26483ba49c2ce86808da7557",
|
||||||
"reference": "f1a07181f3442836b0aadfd4c65841804d4173c4",
|
"reference": "dcab5ac87450aaed26483ba49c2ce86808da7557",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1"
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
|
||||||
"symfony/polyfill-php80": "^1.15"
|
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"symfony/security-core": "<5.3"
|
"symfony/security-core": "<5.4"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"symfony/console": "^5.3|^6.0",
|
"symfony/console": "^5.4|^6.0|^7.0",
|
||||||
"symfony/security-core": "^5.3|^6.0"
|
"symfony/security-core": "^5.4|^6.0|^7.0"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -3620,7 +3125,7 @@
|
|||||||
"password"
|
"password"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/password-hasher/tree/v5.4.31"
|
"source": "https://github.com/symfony/password-hasher/tree/v6.4.24"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -3631,41 +3136,42 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-02T10:18:11+00:00"
|
"time": "2025-07-10T08:14:14+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-intl-grapheme",
|
"name": "symfony/polyfill-intl-grapheme",
|
||||||
"version": "v1.28.0",
|
"version": "v1.33.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
|
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
|
||||||
"reference": "875e90aeea2777b6f135677f618529449334a612"
|
"reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612",
|
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/380872130d3a5dd3ace2f4010d95125fde5d5c70",
|
||||||
"reference": "875e90aeea2777b6f135677f618529449334a612",
|
"reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.1"
|
"php": ">=7.2"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"ext-intl": "For best performance"
|
"ext-intl": "For best performance"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
|
||||||
"dev-main": "1.28-dev"
|
|
||||||
},
|
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"url": "https://github.com/symfony/polyfill",
|
||||||
"url": "https://github.com/symfony/polyfill"
|
"name": "symfony/polyfill"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -3701,7 +3207,7 @@
|
|||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0"
|
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.33.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -3712,41 +3218,42 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-01-26T09:26:14+00:00"
|
"time": "2025-06-27T09:58:17+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-intl-icu",
|
"name": "symfony/polyfill-intl-icu",
|
||||||
"version": "v1.28.0",
|
"version": "v1.33.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-intl-icu.git",
|
"url": "https://github.com/symfony/polyfill-intl-icu.git",
|
||||||
"reference": "e46b4da57951a16053cd751f63f4a24292788157"
|
"reference": "bfc8fa13dbaf21d69114b0efcd72ab700fb04d0c"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/e46b4da57951a16053cd751f63f4a24292788157",
|
"url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/bfc8fa13dbaf21d69114b0efcd72ab700fb04d0c",
|
||||||
"reference": "e46b4da57951a16053cd751f63f4a24292788157",
|
"reference": "bfc8fa13dbaf21d69114b0efcd72ab700fb04d0c",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.1"
|
"php": ">=7.2"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"ext-intl": "For best performance and support of other locales than \"en\""
|
"ext-intl": "For best performance and support of other locales than \"en\""
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
|
||||||
"dev-main": "1.28-dev"
|
|
||||||
},
|
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"url": "https://github.com/symfony/polyfill",
|
||||||
"url": "https://github.com/symfony/polyfill"
|
"name": "symfony/polyfill"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -3788,7 +3295,7 @@
|
|||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.28.0"
|
"source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.33.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -3799,41 +3306,42 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-03-21T17:27:24+00:00"
|
"time": "2025-06-20T22:24:30+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-intl-normalizer",
|
"name": "symfony/polyfill-intl-normalizer",
|
||||||
"version": "v1.28.0",
|
"version": "v1.33.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
|
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
|
||||||
"reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92"
|
"reference": "3833d7255cc303546435cb650316bff708a1c75c"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
|
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c",
|
||||||
"reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
|
"reference": "3833d7255cc303546435cb650316bff708a1c75c",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.1"
|
"php": ">=7.2"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"ext-intl": "For best performance"
|
"ext-intl": "For best performance"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
|
||||||
"dev-main": "1.28-dev"
|
|
||||||
},
|
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"url": "https://github.com/symfony/polyfill",
|
||||||
"url": "https://github.com/symfony/polyfill"
|
"name": "symfony/polyfill"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -3872,7 +3380,7 @@
|
|||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0"
|
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.33.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -3883,29 +3391,34 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-01-26T09:26:14+00:00"
|
"time": "2024-09-09T11:45:10+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-mbstring",
|
"name": "symfony/polyfill-mbstring",
|
||||||
"version": "v1.28.0",
|
"version": "v1.33.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
||||||
"reference": "42292d99c55abe617799667f454222c54c60e229"
|
"reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229",
|
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493",
|
||||||
"reference": "42292d99c55abe617799667f454222c54c60e229",
|
"reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.1"
|
"ext-iconv": "*",
|
||||||
|
"php": ">=7.2"
|
||||||
},
|
},
|
||||||
"provide": {
|
"provide": {
|
||||||
"ext-mbstring": "*"
|
"ext-mbstring": "*"
|
||||||
@@ -3915,12 +3428,9 @@
|
|||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
|
||||||
"dev-main": "1.28-dev"
|
|
||||||
},
|
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"url": "https://github.com/symfony/polyfill",
|
||||||
"url": "https://github.com/symfony/polyfill"
|
"name": "symfony/polyfill"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -3955,7 +3465,7 @@
|
|||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0"
|
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -3966,38 +3476,39 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-07-28T09:04:16+00:00"
|
"time": "2024-12-23T08:48:59+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-php73",
|
"name": "symfony/polyfill-php83",
|
||||||
"version": "v1.28.0",
|
"version": "v1.33.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-php73.git",
|
"url": "https://github.com/symfony/polyfill-php83.git",
|
||||||
"reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5"
|
"reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fe2f306d1d9d346a7fee353d0d5012e401e984b5",
|
"url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/17f6f9a6b1735c0f163024d959f700cfbc5155e5",
|
||||||
"reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5",
|
"reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.1"
|
"php": ">=7.2"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
|
||||||
"dev-main": "1.28-dev"
|
|
||||||
},
|
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"url": "https://github.com/symfony/polyfill",
|
||||||
"url": "https://github.com/symfony/polyfill"
|
"name": "symfony/polyfill"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -4005,7 +3516,7 @@
|
|||||||
"bootstrap.php"
|
"bootstrap.php"
|
||||||
],
|
],
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
"Symfony\\Polyfill\\Php73\\": ""
|
"Symfony\\Polyfill\\Php83\\": ""
|
||||||
},
|
},
|
||||||
"classmap": [
|
"classmap": [
|
||||||
"Resources/stubs"
|
"Resources/stubs"
|
||||||
@@ -4025,7 +3536,7 @@
|
|||||||
"homepage": "https://symfony.com/contributors"
|
"homepage": "https://symfony.com/contributors"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions",
|
"description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"compatibility",
|
"compatibility",
|
||||||
@@ -4034,7 +3545,7 @@
|
|||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/polyfill-php73/tree/v1.28.0"
|
"source": "https://github.com/symfony/polyfill-php83/tree/v1.33.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -4046,86 +3557,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://github.com/nicolas-grekas",
|
||||||
"type": "tidelift"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"time": "2023-01-26T09:26:14+00:00"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "symfony/polyfill-php80",
|
|
||||||
"version": "v1.28.0",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/symfony/polyfill-php80.git",
|
|
||||||
"reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
|
|
||||||
"reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": ">=7.1"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"extra": {
|
|
||||||
"branch-alias": {
|
|
||||||
"dev-main": "1.28-dev"
|
|
||||||
},
|
|
||||||
"thanks": {
|
|
||||||
"name": "symfony/polyfill",
|
|
||||||
"url": "https://github.com/symfony/polyfill"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"autoload": {
|
|
||||||
"files": [
|
|
||||||
"bootstrap.php"
|
|
||||||
],
|
|
||||||
"psr-4": {
|
|
||||||
"Symfony\\Polyfill\\Php80\\": ""
|
|
||||||
},
|
|
||||||
"classmap": [
|
|
||||||
"Resources/stubs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Ion Bazan",
|
|
||||||
"email": "ion.bazan@gmail.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Nicolas Grekas",
|
|
||||||
"email": "p@tchwork.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Symfony Community",
|
|
||||||
"homepage": "https://symfony.com/contributors"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
|
|
||||||
"homepage": "https://symfony.com",
|
|
||||||
"keywords": [
|
|
||||||
"compatibility",
|
|
||||||
"polyfill",
|
|
||||||
"portable",
|
|
||||||
"shim"
|
|
||||||
],
|
|
||||||
"support": {
|
|
||||||
"source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0"
|
|
||||||
},
|
|
||||||
"funding": [
|
|
||||||
{
|
|
||||||
"url": "https://symfony.com/sponsor",
|
|
||||||
"type": "custom"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "https://github.com/fabpot",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -4133,112 +3565,29 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-01-26T09:26:14+00:00"
|
"time": "2025-07-08T02:45:35+00:00"
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "symfony/polyfill-php81",
|
|
||||||
"version": "v1.28.0",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/symfony/polyfill-php81.git",
|
|
||||||
"reference": "7581cd600fa9fd681b797d00b02f068e2f13263b"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/7581cd600fa9fd681b797d00b02f068e2f13263b",
|
|
||||||
"reference": "7581cd600fa9fd681b797d00b02f068e2f13263b",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": ">=7.1"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"extra": {
|
|
||||||
"branch-alias": {
|
|
||||||
"dev-main": "1.28-dev"
|
|
||||||
},
|
|
||||||
"thanks": {
|
|
||||||
"name": "symfony/polyfill",
|
|
||||||
"url": "https://github.com/symfony/polyfill"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"autoload": {
|
|
||||||
"files": [
|
|
||||||
"bootstrap.php"
|
|
||||||
],
|
|
||||||
"psr-4": {
|
|
||||||
"Symfony\\Polyfill\\Php81\\": ""
|
|
||||||
},
|
|
||||||
"classmap": [
|
|
||||||
"Resources/stubs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Nicolas Grekas",
|
|
||||||
"email": "p@tchwork.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Symfony Community",
|
|
||||||
"homepage": "https://symfony.com/contributors"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
|
|
||||||
"homepage": "https://symfony.com",
|
|
||||||
"keywords": [
|
|
||||||
"compatibility",
|
|
||||||
"polyfill",
|
|
||||||
"portable",
|
|
||||||
"shim"
|
|
||||||
],
|
|
||||||
"support": {
|
|
||||||
"source": "https://github.com/symfony/polyfill-php81/tree/v1.28.0"
|
|
||||||
},
|
|
||||||
"funding": [
|
|
||||||
{
|
|
||||||
"url": "https://symfony.com/sponsor",
|
|
||||||
"type": "custom"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "https://github.com/fabpot",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
|
||||||
"type": "tidelift"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"time": "2023-01-26T09:26:14+00:00"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/property-access",
|
"name": "symfony/property-access",
|
||||||
"version": "v5.4.26",
|
"version": "v6.4.25",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/property-access.git",
|
"url": "https://github.com/symfony/property-access.git",
|
||||||
"reference": "0249e46f69e92049a488f39fcf531cb42c50caaa"
|
"reference": "fedc771326d4978a7d3167fa009a509b06a2e168"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/property-access/zipball/0249e46f69e92049a488f39fcf531cb42c50caaa",
|
"url": "https://api.github.com/repos/symfony/property-access/zipball/fedc771326d4978a7d3167fa009a509b06a2e168",
|
||||||
"reference": "0249e46f69e92049a488f39fcf531cb42c50caaa",
|
"reference": "fedc771326d4978a7d3167fa009a509b06a2e168",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
"symfony/deprecation-contracts": "^2.5|^3",
|
||||||
"symfony/polyfill-php80": "^1.16",
|
"symfony/property-info": "^5.4|^6.0|^7.0"
|
||||||
"symfony/property-info": "^5.2|^6.0"
|
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"symfony/cache": "^4.4|^5.0|^6.0"
|
"symfony/cache": "^5.4|^6.0|^7.0"
|
||||||
},
|
|
||||||
"suggest": {
|
|
||||||
"psr/cache-implementation": "To cache access methods."
|
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -4277,7 +3626,7 @@
|
|||||||
"reflection"
|
"reflection"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/property-access/tree/v5.4.26"
|
"source": "https://github.com/symfony/property-access/tree/v6.4.25"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -4288,51 +3637,50 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-07-13T15:20:41+00:00"
|
"time": "2025-08-12T15:42:57+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/property-info",
|
"name": "symfony/property-info",
|
||||||
"version": "v5.4.24",
|
"version": "v6.4.24",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/property-info.git",
|
"url": "https://github.com/symfony/property-info.git",
|
||||||
"reference": "d43b85b00699b4484964c297575b5c6f9dc5f6e1"
|
"reference": "1056ae3621eeddd78d7c5ec074f1c1784324eec6"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/property-info/zipball/d43b85b00699b4484964c297575b5c6f9dc5f6e1",
|
"url": "https://api.github.com/repos/symfony/property-info/zipball/1056ae3621eeddd78d7c5ec074f1c1784324eec6",
|
||||||
"reference": "d43b85b00699b4484964c297575b5c6f9dc5f6e1",
|
"reference": "1056ae3621eeddd78d7c5ec074f1c1784324eec6",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
"symfony/string": "^5.4|^6.0|^7.0"
|
||||||
"symfony/polyfill-php80": "^1.16",
|
|
||||||
"symfony/string": "^5.1|^6.0"
|
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"phpdocumentor/reflection-docblock": "<3.2.2",
|
"doctrine/annotations": "<1.12",
|
||||||
"phpdocumentor/type-resolver": "<1.4.0",
|
"phpdocumentor/reflection-docblock": "<5.2",
|
||||||
"symfony/dependency-injection": "<4.4"
|
"phpdocumentor/type-resolver": "<1.5.1",
|
||||||
|
"symfony/cache": "<5.4",
|
||||||
|
"symfony/dependency-injection": "<5.4|>=6.0,<6.4",
|
||||||
|
"symfony/serializer": "<5.4"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"doctrine/annotations": "^1.10.4|^2",
|
"doctrine/annotations": "^1.12|^2",
|
||||||
"phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
|
"phpdocumentor/reflection-docblock": "^5.2",
|
||||||
"phpstan/phpdoc-parser": "^1.0",
|
"phpstan/phpdoc-parser": "^1.0|^2.0",
|
||||||
"symfony/cache": "^4.4|^5.0|^6.0",
|
"symfony/cache": "^5.4|^6.0|^7.0",
|
||||||
"symfony/dependency-injection": "^4.4|^5.0|^6.0",
|
"symfony/dependency-injection": "^5.4|^6.0|^7.0",
|
||||||
"symfony/serializer": "^4.4|^5.0|^6.0"
|
"symfony/serializer": "^5.4|^6.4|^7.0"
|
||||||
},
|
|
||||||
"suggest": {
|
|
||||||
"phpdocumentor/reflection-docblock": "To use the PHPDoc",
|
|
||||||
"psr/cache-implementation": "To cache results",
|
|
||||||
"symfony/doctrine-bridge": "To use Doctrine metadata",
|
|
||||||
"symfony/serializer": "To use Serializer metadata"
|
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -4368,7 +3716,7 @@
|
|||||||
"validator"
|
"validator"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/property-info/tree/v5.4.24"
|
"source": "https://github.com/symfony/property-info/tree/v6.4.24"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -4379,52 +3727,51 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-05-15T20:11:03+00:00"
|
"time": "2025-07-14T16:38:25+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/psr-http-message-bridge",
|
"name": "symfony/psr-http-message-bridge",
|
||||||
"version": "v2.3.1",
|
"version": "v6.4.24",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/psr-http-message-bridge.git",
|
"url": "https://github.com/symfony/psr-http-message-bridge.git",
|
||||||
"reference": "581ca6067eb62640de5ff08ee1ba6850a0ee472e"
|
"reference": "6954b4e8aef0e5d46f8558c90edcf27bb01b4724"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/581ca6067eb62640de5ff08ee1ba6850a0ee472e",
|
"url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/6954b4e8aef0e5d46f8558c90edcf27bb01b4724",
|
||||||
"reference": "581ca6067eb62640de5ff08ee1ba6850a0ee472e",
|
"reference": "6954b4e8aef0e5d46f8558c90edcf27bb01b4724",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"psr/http-message": "^1.0 || ^2.0",
|
"psr/http-message": "^1.0|^2.0",
|
||||||
"symfony/deprecation-contracts": "^2.5 || ^3.0",
|
"symfony/http-foundation": "^5.4|^6.0|^7.0"
|
||||||
"symfony/http-foundation": "^5.4 || ^6.0"
|
},
|
||||||
|
"conflict": {
|
||||||
|
"php-http/discovery": "<1.15",
|
||||||
|
"symfony/http-kernel": "<6.2"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"nyholm/psr7": "^1.1",
|
"nyholm/psr7": "^1.1",
|
||||||
"psr/log": "^1.1 || ^2 || ^3",
|
"php-http/discovery": "^1.15",
|
||||||
"symfony/browser-kit": "^5.4 || ^6.0",
|
"psr/log": "^1.1.4|^2|^3",
|
||||||
"symfony/config": "^5.4 || ^6.0",
|
"symfony/browser-kit": "^5.4|^6.0|^7.0",
|
||||||
"symfony/event-dispatcher": "^5.4 || ^6.0",
|
"symfony/config": "^5.4|^6.0|^7.0",
|
||||||
"symfony/framework-bundle": "^5.4 || ^6.0",
|
"symfony/event-dispatcher": "^5.4|^6.0|^7.0",
|
||||||
"symfony/http-kernel": "^5.4 || ^6.0",
|
"symfony/framework-bundle": "^6.2|^7.0",
|
||||||
"symfony/phpunit-bridge": "^6.2"
|
"symfony/http-kernel": "^6.2|^7.0"
|
||||||
},
|
|
||||||
"suggest": {
|
|
||||||
"nyholm/psr7": "For a super lightweight PSR-7/17 implementation"
|
|
||||||
},
|
},
|
||||||
"type": "symfony-bridge",
|
"type": "symfony-bridge",
|
||||||
"extra": {
|
|
||||||
"branch-alias": {
|
|
||||||
"dev-main": "2.3-dev"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
"Symfony\\Bridge\\PsrHttpMessage\\": ""
|
"Symfony\\Bridge\\PsrHttpMessage\\": ""
|
||||||
@@ -4444,11 +3791,11 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Symfony Community",
|
"name": "Symfony Community",
|
||||||
"homepage": "http://symfony.com/contributors"
|
"homepage": "https://symfony.com/contributors"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "PSR HTTP message bridge",
|
"description": "PSR HTTP message bridge",
|
||||||
"homepage": "http://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"http",
|
"http",
|
||||||
"http-message",
|
"http-message",
|
||||||
@@ -4456,8 +3803,7 @@
|
|||||||
"psr-7"
|
"psr-7"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/symfony/psr-http-message-bridge/issues",
|
"source": "https://github.com/symfony/psr-http-message-bridge/tree/v6.4.24"
|
||||||
"source": "https://github.com/symfony/psr-http-message-bridge/tree/v2.3.1"
|
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -4468,34 +3814,39 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-07-26T11:53:26+00:00"
|
"time": "2025-07-10T08:14:14+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/rate-limiter",
|
"name": "symfony/rate-limiter",
|
||||||
"version": "v5.4.30",
|
"version": "v6.4.24",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/rate-limiter.git",
|
"url": "https://github.com/symfony/rate-limiter.git",
|
||||||
"reference": "10c8064e57ae1bb6dee152d44d737a1a799f8386"
|
"reference": "15a9a10fd0f060243c88ce98d5c29e9cc4b886e7"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/rate-limiter/zipball/10c8064e57ae1bb6dee152d44d737a1a799f8386",
|
"url": "https://api.github.com/repos/symfony/rate-limiter/zipball/15a9a10fd0f060243c88ce98d5c29e9cc4b886e7",
|
||||||
"reference": "10c8064e57ae1bb6dee152d44d737a1a799f8386",
|
"reference": "15a9a10fd0f060243c88ce98d5c29e9cc4b886e7",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"symfony/lock": "^5.2|^6.0",
|
"symfony/deprecation-contracts": "^2.5|^3",
|
||||||
"symfony/options-resolver": "^5.1|^6.0"
|
"symfony/options-resolver": "^5.4|^6.0|^7.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"psr/cache": "^1.0|^2.0|^3.0"
|
"psr/cache": "^1.0|^2.0|^3.0",
|
||||||
|
"symfony/lock": "^5.4|^6.0|^7.0"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -4527,7 +3878,7 @@
|
|||||||
"rate-limiter"
|
"rate-limiter"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/rate-limiter/tree/v5.4.30"
|
"source": "https://github.com/symfony/rate-limiter/tree/v6.4.24"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -4538,52 +3889,49 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-10-10T05:34:18+00:00"
|
"time": "2025-07-10T08:14:14+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/routing",
|
"name": "symfony/routing",
|
||||||
"version": "v5.4.33",
|
"version": "v6.4.26",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/routing.git",
|
"url": "https://github.com/symfony/routing.git",
|
||||||
"reference": "5b5b86670f947db92ab54cdcff585e76064d0b04"
|
"reference": "6fc4c445f22857d4b8b40a02b73f423ddab295de"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/routing/zipball/5b5b86670f947db92ab54cdcff585e76064d0b04",
|
"url": "https://api.github.com/repos/symfony/routing/zipball/6fc4c445f22857d4b8b40a02b73f423ddab295de",
|
||||||
"reference": "5b5b86670f947db92ab54cdcff585e76064d0b04",
|
"reference": "6fc4c445f22857d4b8b40a02b73f423ddab295de",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
"symfony/deprecation-contracts": "^2.5|^3"
|
||||||
"symfony/polyfill-php80": "^1.16"
|
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"doctrine/annotations": "<1.12",
|
"doctrine/annotations": "<1.12",
|
||||||
"symfony/config": "<5.3",
|
"symfony/config": "<6.2",
|
||||||
"symfony/dependency-injection": "<4.4",
|
"symfony/dependency-injection": "<5.4",
|
||||||
"symfony/yaml": "<4.4"
|
"symfony/yaml": "<5.4"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"doctrine/annotations": "^1.12|^2",
|
"doctrine/annotations": "^1.12|^2",
|
||||||
"psr/log": "^1|^2|^3",
|
"psr/log": "^1|^2|^3",
|
||||||
"symfony/config": "^5.3|^6.0",
|
"symfony/config": "^6.2|^7.0",
|
||||||
"symfony/dependency-injection": "^4.4|^5.0|^6.0",
|
"symfony/dependency-injection": "^5.4|^6.0|^7.0",
|
||||||
"symfony/expression-language": "^4.4|^5.0|^6.0",
|
"symfony/expression-language": "^5.4|^6.0|^7.0",
|
||||||
"symfony/http-foundation": "^4.4|^5.0|^6.0",
|
"symfony/http-foundation": "^5.4|^6.0|^7.0",
|
||||||
"symfony/yaml": "^4.4|^5.0|^6.0"
|
"symfony/yaml": "^5.4|^6.0|^7.0"
|
||||||
},
|
|
||||||
"suggest": {
|
|
||||||
"symfony/config": "For using the all-in-one router or any loader",
|
|
||||||
"symfony/expression-language": "For using expression matching",
|
|
||||||
"symfony/http-foundation": "For using a Symfony Request object",
|
|
||||||
"symfony/yaml": "For using the YAML loader"
|
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -4617,7 +3965,7 @@
|
|||||||
"url"
|
"url"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/routing/tree/v5.4.33"
|
"source": "https://github.com/symfony/routing/tree/v6.4.26"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -4628,41 +3976,44 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-12-01T09:28:00+00:00"
|
"time": "2025-09-11T09:57:09+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/runtime",
|
"name": "symfony/runtime",
|
||||||
"version": "v5.4.26",
|
"version": "v6.4.26",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/runtime.git",
|
"url": "https://github.com/symfony/runtime.git",
|
||||||
"reference": "4659b552bc9f2380986e3f4b7e2bd4e512470e0d"
|
"reference": "59933ca737fd60fad548241b6d879cd0e4be31ab"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/runtime/zipball/4659b552bc9f2380986e3f4b7e2bd4e512470e0d",
|
"url": "https://api.github.com/repos/symfony/runtime/zipball/59933ca737fd60fad548241b6d879cd0e4be31ab",
|
||||||
"reference": "4659b552bc9f2380986e3f4b7e2bd4e512470e0d",
|
"reference": "59933ca737fd60fad548241b6d879cd0e4be31ab",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"composer-plugin-api": "^1.0|^2.0",
|
"composer-plugin-api": "^1.0|^2.0",
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1"
|
||||||
"symfony/polyfill-php80": "^1.15"
|
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"symfony/dotenv": "<5.1"
|
"symfony/dotenv": "<5.4"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"composer/composer": "^1.0.2|^2.0",
|
"composer/composer": "^1.0.2|^2.0",
|
||||||
"symfony/console": "^4.4.30|^5.4.9|^6.0.9",
|
"symfony/console": "^5.4.9|^6.0.9|^7.0",
|
||||||
"symfony/dotenv": "^5.1|^6.0",
|
"symfony/dotenv": "^5.4|^6.0|^7.0",
|
||||||
"symfony/http-foundation": "^4.4.30|^5.3.7|^6.0",
|
"symfony/http-foundation": "^5.4|^6.0|^7.0",
|
||||||
"symfony/http-kernel": "^4.4.30|^5.3.7|^6.0"
|
"symfony/http-kernel": "^5.4|^6.0|^7.0"
|
||||||
},
|
},
|
||||||
"type": "composer-plugin",
|
"type": "composer-plugin",
|
||||||
"extra": {
|
"extra": {
|
||||||
@@ -4697,7 +4048,7 @@
|
|||||||
"runtime"
|
"runtime"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/runtime/tree/v5.4.26"
|
"source": "https://github.com/symfony/runtime/tree/v6.4.26"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -4708,71 +4059,84 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-07-16T16:48:57+00:00"
|
"time": "2025-09-11T15:30:54+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/security-bundle",
|
"name": "symfony/security-bundle",
|
||||||
"version": "v5.4.31",
|
"version": "v6.4.26",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/security-bundle.git",
|
"url": "https://github.com/symfony/security-bundle.git",
|
||||||
"reference": "92e24de1759b6a502896d87c5e0997973ef47ac4"
|
"reference": "b83773107a5b83a5507df9e88bd50d495f6e8b72"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/security-bundle/zipball/92e24de1759b6a502896d87c5e0997973ef47ac4",
|
"url": "https://api.github.com/repos/symfony/security-bundle/zipball/b83773107a5b83a5507df9e88bd50d495f6e8b72",
|
||||||
"reference": "92e24de1759b6a502896d87c5e0997973ef47ac4",
|
"reference": "b83773107a5b83a5507df9e88bd50d495f6e8b72",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
"composer-runtime-api": ">=2.1",
|
||||||
"ext-xml": "*",
|
"ext-xml": "*",
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"symfony/config": "^4.4|^5.0|^6.0",
|
"symfony/clock": "^6.3|^7.0",
|
||||||
"symfony/dependency-injection": "^5.3|^6.0",
|
"symfony/config": "^6.1|^7.0",
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
"symfony/dependency-injection": "^6.4.11|^7.1.4",
|
||||||
"symfony/event-dispatcher": "^5.1|^6.0",
|
"symfony/deprecation-contracts": "^2.5|^3",
|
||||||
"symfony/http-foundation": "^5.3|^6.0",
|
"symfony/event-dispatcher": "^5.4|^6.0|^7.0",
|
||||||
"symfony/http-kernel": "^5.3|^6.0",
|
"symfony/http-foundation": "^6.2|^7.0",
|
||||||
"symfony/password-hasher": "^5.3|^6.0",
|
"symfony/http-kernel": "^6.2",
|
||||||
"symfony/polyfill-php80": "^1.16",
|
"symfony/password-hasher": "^5.4|^6.0|^7.0",
|
||||||
"symfony/security-core": "^5.4|^6.0",
|
"symfony/security-core": "^6.2|^7.0",
|
||||||
"symfony/security-csrf": "^4.4|^5.0|^6.0",
|
"symfony/security-csrf": "^5.4|^6.0|^7.0",
|
||||||
"symfony/security-guard": "^5.3",
|
"symfony/security-http": "^6.3.6|^7.0",
|
||||||
"symfony/security-http": "^5.4.30|^6.3.6",
|
"symfony/service-contracts": "^2.5|^3"
|
||||||
"symfony/service-contracts": "^1.10|^2|^3"
|
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"symfony/browser-kit": "<4.4",
|
"symfony/browser-kit": "<5.4",
|
||||||
"symfony/console": "<4.4",
|
"symfony/console": "<5.4",
|
||||||
"symfony/framework-bundle": "<4.4",
|
"symfony/framework-bundle": "<6.4",
|
||||||
"symfony/ldap": "<5.1",
|
"symfony/http-client": "<5.4",
|
||||||
"symfony/twig-bundle": "<4.4"
|
"symfony/ldap": "<5.4",
|
||||||
|
"symfony/serializer": "<6.4",
|
||||||
|
"symfony/twig-bundle": "<5.4",
|
||||||
|
"symfony/validator": "<6.4"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"doctrine/annotations": "^1.10.4|^2",
|
"symfony/asset": "^5.4|^6.0|^7.0",
|
||||||
"symfony/asset": "^4.4|^5.0|^6.0",
|
"symfony/browser-kit": "^5.4|^6.0|^7.0",
|
||||||
"symfony/browser-kit": "^4.4|^5.0|^6.0",
|
"symfony/console": "^5.4|^6.0|^7.0",
|
||||||
"symfony/console": "^4.4|^5.0|^6.0",
|
"symfony/css-selector": "^5.4|^6.0|^7.0",
|
||||||
"symfony/css-selector": "^4.4|^5.0|^6.0",
|
"symfony/dom-crawler": "^5.4|^6.0|^7.0",
|
||||||
"symfony/dom-crawler": "^4.4|^5.0|^6.0",
|
"symfony/expression-language": "^5.4|^6.0|^7.0",
|
||||||
"symfony/expression-language": "^4.4|^5.0|^6.0",
|
"symfony/form": "^5.4|^6.0|^7.0",
|
||||||
"symfony/form": "^4.4|^5.0|^6.0",
|
"symfony/framework-bundle": "^6.4|^7.0",
|
||||||
"symfony/framework-bundle": "^5.3|^6.0",
|
"symfony/http-client": "^5.4|^6.0|^7.0",
|
||||||
"symfony/ldap": "^5.3|^6.0",
|
"symfony/ldap": "^5.4|^6.0|^7.0",
|
||||||
"symfony/process": "^4.4|^5.0|^6.0",
|
"symfony/process": "^5.4|^6.0|^7.0",
|
||||||
"symfony/rate-limiter": "^5.2|^6.0",
|
"symfony/rate-limiter": "^5.4|^6.0|^7.0",
|
||||||
"symfony/serializer": "^4.4|^5.0|^6.0",
|
"symfony/serializer": "^6.4|^7.0",
|
||||||
"symfony/translation": "^4.4|^5.0|^6.0",
|
"symfony/translation": "^5.4|^6.0|^7.0",
|
||||||
"symfony/twig-bridge": "^4.4|^5.0|^6.0",
|
"symfony/twig-bridge": "^5.4|^6.0|^7.0",
|
||||||
"symfony/twig-bundle": "^4.4|^5.0|^6.0",
|
"symfony/twig-bundle": "^5.4|^6.0|^7.0",
|
||||||
"symfony/validator": "^4.4|^5.0|^6.0",
|
"symfony/validator": "^6.4|^7.0",
|
||||||
"symfony/yaml": "^4.4|^5.0|^6.0",
|
"symfony/yaml": "^5.4|^6.0|^7.0",
|
||||||
"twig/twig": "^2.13|^3.0.4"
|
"twig/twig": "^2.13|^3.0.4",
|
||||||
|
"web-token/jwt-checker": "^3.1",
|
||||||
|
"web-token/jwt-signature-algorithm-ecdsa": "^3.1",
|
||||||
|
"web-token/jwt-signature-algorithm-eddsa": "^3.1",
|
||||||
|
"web-token/jwt-signature-algorithm-hmac": "^3.1",
|
||||||
|
"web-token/jwt-signature-algorithm-none": "^3.1",
|
||||||
|
"web-token/jwt-signature-algorithm-rsa": "^3.1"
|
||||||
},
|
},
|
||||||
"type": "symfony-bundle",
|
"type": "symfony-bundle",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -4800,7 +4164,7 @@
|
|||||||
"description": "Provides a tight integration of the Security component into the Symfony full-stack framework",
|
"description": "Provides a tight integration of the Security component into the Symfony full-stack framework",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/security-bundle/tree/v5.4.31"
|
"source": "https://github.com/symfony/security-bundle/tree/v6.4.26"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -4811,61 +4175,58 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-09T09:26:13+00:00"
|
"time": "2025-09-22T15:03:07+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/security-core",
|
"name": "symfony/security-core",
|
||||||
"version": "v5.4.30",
|
"version": "v6.4.26",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/security-core.git",
|
"url": "https://github.com/symfony/security-core.git",
|
||||||
"reference": "3908c54da30dd68c2fe31915d82a1c81809d1928"
|
"reference": "8b7c95bf04d82fcd0c06a918b2d849bfb2ab9cc0"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/security-core/zipball/3908c54da30dd68c2fe31915d82a1c81809d1928",
|
"url": "https://api.github.com/repos/symfony/security-core/zipball/8b7c95bf04d82fcd0c06a918b2d849bfb2ab9cc0",
|
||||||
"reference": "3908c54da30dd68c2fe31915d82a1c81809d1928",
|
"reference": "8b7c95bf04d82fcd0c06a918b2d849bfb2ab9cc0",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
"symfony/deprecation-contracts": "^2.5|^3",
|
||||||
"symfony/event-dispatcher-contracts": "^1.1|^2|^3",
|
"symfony/event-dispatcher-contracts": "^2.5|^3",
|
||||||
"symfony/password-hasher": "^5.3|^6.0",
|
"symfony/password-hasher": "^5.4|^6.0|^7.0",
|
||||||
"symfony/polyfill-php80": "^1.16",
|
"symfony/service-contracts": "^2.5|^3"
|
||||||
"symfony/service-contracts": "^1.1.6|^2|^3"
|
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"symfony/event-dispatcher": "<4.4",
|
"symfony/event-dispatcher": "<5.4",
|
||||||
"symfony/http-foundation": "<5.3",
|
"symfony/http-foundation": "<5.4",
|
||||||
"symfony/ldap": "<4.4",
|
"symfony/ldap": "<5.4",
|
||||||
"symfony/security-guard": "<4.4",
|
"symfony/security-guard": "<5.4",
|
||||||
"symfony/validator": "<5.2"
|
"symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3|>=7.0,<7.0.3",
|
||||||
|
"symfony/validator": "<5.4"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"psr/cache": "^1.0|^2.0|^3.0",
|
"psr/cache": "^1.0|^2.0|^3.0",
|
||||||
"psr/container": "^1.0|^2.0",
|
"psr/container": "^1.1|^2.0",
|
||||||
"psr/log": "^1|^2|^3",
|
"psr/log": "^1|^2|^3",
|
||||||
"symfony/cache": "^4.4|^5.0|^6.0",
|
"symfony/cache": "^5.4|^6.0|^7.0",
|
||||||
"symfony/event-dispatcher": "^4.4|^5.0|^6.0",
|
"symfony/event-dispatcher": "^5.4|^6.0|^7.0",
|
||||||
"symfony/expression-language": "^4.4|^5.0|^6.0",
|
"symfony/expression-language": "^5.4|^6.0|^7.0",
|
||||||
"symfony/http-foundation": "^5.3|^6.0",
|
"symfony/http-foundation": "^5.4|^6.0|^7.0",
|
||||||
"symfony/ldap": "^4.4|^5.0|^6.0",
|
"symfony/ldap": "^5.4|^6.0|^7.0",
|
||||||
"symfony/translation": "^4.4|^5.0|^6.0",
|
"symfony/string": "^5.4|^6.0|^7.0",
|
||||||
"symfony/validator": "^5.2|^6.0"
|
"symfony/translation": "^5.4.35|~6.3.12|^6.4.3|^7.0.3",
|
||||||
},
|
"symfony/validator": "^6.4|^7.0"
|
||||||
"suggest": {
|
|
||||||
"psr/container-implementation": "To instantiate the Security class",
|
|
||||||
"symfony/event-dispatcher": "",
|
|
||||||
"symfony/expression-language": "For using the expression voter",
|
|
||||||
"symfony/http-foundation": "",
|
|
||||||
"symfony/ldap": "For using LDAP integration",
|
|
||||||
"symfony/validator": "For using the user password constraint"
|
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -4893,7 +4254,7 @@
|
|||||||
"description": "Symfony Security Component - Core Library",
|
"description": "Symfony Security Component - Core Library",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/security-core/tree/v5.4.30"
|
"source": "https://github.com/symfony/security-core/tree/v6.4.26"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -4904,41 +4265,40 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-10-27T07:38:28+00:00"
|
"time": "2025-09-02T19:15:26+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/security-csrf",
|
"name": "symfony/security-csrf",
|
||||||
"version": "v5.4.27",
|
"version": "v6.4.24",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/security-csrf.git",
|
"url": "https://github.com/symfony/security-csrf.git",
|
||||||
"reference": "995fcfcc5a3be09df157b4960668f61cceb86611"
|
"reference": "9a1efc8c10b86bcedc9233affd10c716b54ca1b7"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/security-csrf/zipball/995fcfcc5a3be09df157b4960668f61cceb86611",
|
"url": "https://api.github.com/repos/symfony/security-csrf/zipball/9a1efc8c10b86bcedc9233affd10c716b54ca1b7",
|
||||||
"reference": "995fcfcc5a3be09df157b4960668f61cceb86611",
|
"reference": "9a1efc8c10b86bcedc9233affd10c716b54ca1b7",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
"symfony/security-core": "^5.4|^6.0|^7.0"
|
||||||
"symfony/polyfill-php80": "^1.16",
|
|
||||||
"symfony/security-core": "^4.4|^5.0|^6.0"
|
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"symfony/http-foundation": "<5.3"
|
"symfony/http-foundation": "<5.4"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"symfony/http-foundation": "^5.3|^6.0"
|
"symfony/http-foundation": "^5.4|^6.0|^7.0"
|
||||||
},
|
|
||||||
"suggest": {
|
|
||||||
"symfony/http-foundation": "For using the class SessionTokenStorage."
|
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -4966,7 +4326,7 @@
|
|||||||
"description": "Symfony Security Component - CSRF Library",
|
"description": "Symfony Security Component - CSRF Library",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/security-csrf/tree/v5.4.27"
|
"source": "https://github.com/symfony/security-csrf/tree/v6.4.24"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -4978,71 +4338,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://github.com/nicolas-grekas",
|
||||||
"type": "tidelift"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"time": "2023-07-28T14:44:35+00:00"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "symfony/security-guard",
|
|
||||||
"version": "v5.4.27",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/symfony/security-guard.git",
|
|
||||||
"reference": "72c53142533462fc6fda4a429c2a21c2b944a8cc"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/symfony/security-guard/zipball/72c53142533462fc6fda4a429c2a21c2b944a8cc",
|
|
||||||
"reference": "72c53142533462fc6fda4a429c2a21c2b944a8cc",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": ">=7.2.5",
|
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
|
||||||
"symfony/polyfill-php80": "^1.15",
|
|
||||||
"symfony/security-core": "^5.0",
|
|
||||||
"symfony/security-http": "^5.3"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"psr/log": "^1|^2|^3"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": {
|
|
||||||
"Symfony\\Component\\Security\\Guard\\": ""
|
|
||||||
},
|
|
||||||
"exclude-from-classmap": [
|
|
||||||
"/Tests/"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Fabien Potencier",
|
|
||||||
"email": "fabien@symfony.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Symfony Community",
|
|
||||||
"homepage": "https://symfony.com/contributors"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "Symfony Security Component - Guard",
|
|
||||||
"homepage": "https://symfony.com",
|
|
||||||
"support": {
|
|
||||||
"source": "https://github.com/symfony/security-guard/tree/v5.4.27"
|
|
||||||
},
|
|
||||||
"funding": [
|
|
||||||
{
|
|
||||||
"url": "https://symfony.com/sponsor",
|
|
||||||
"type": "custom"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "https://github.com/fabpot",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -5050,49 +4346,51 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-07-28T14:44:35+00:00"
|
"time": "2025-07-10T08:14:14+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/security-http",
|
"name": "symfony/security-http",
|
||||||
"version": "v5.4.31",
|
"version": "v6.4.26",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/security-http.git",
|
"url": "https://github.com/symfony/security-http.git",
|
||||||
"reference": "6d3cd5a4deee9697738db8d24258890ca4140ae9"
|
"reference": "6c2e236f0fc3e0853770a5574ef7af471486ba4c"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/security-http/zipball/6d3cd5a4deee9697738db8d24258890ca4140ae9",
|
"url": "https://api.github.com/repos/symfony/security-http/zipball/6c2e236f0fc3e0853770a5574ef7af471486ba4c",
|
||||||
"reference": "6d3cd5a4deee9697738db8d24258890ca4140ae9",
|
"reference": "6c2e236f0fc3e0853770a5574ef7af471486ba4c",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
"symfony/deprecation-contracts": "^2.5|^3",
|
||||||
"symfony/http-foundation": "^5.3|^6.0",
|
"symfony/http-foundation": "^6.2|^7.0",
|
||||||
"symfony/http-kernel": "^5.3|^6.0",
|
"symfony/http-kernel": "^6.3|^7.0",
|
||||||
"symfony/polyfill-mbstring": "~1.0",
|
"symfony/polyfill-mbstring": "~1.0",
|
||||||
"symfony/polyfill-php80": "^1.16",
|
"symfony/property-access": "^5.4|^6.0|^7.0",
|
||||||
"symfony/property-access": "^4.4|^5.0|^6.0",
|
"symfony/security-core": "^6.4|^7.0",
|
||||||
"symfony/security-core": "^5.4.19|~6.0.19|~6.1.11|^6.2.5",
|
"symfony/service-contracts": "^2.5|^3"
|
||||||
"symfony/service-contracts": "^1.10|^2|^3"
|
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"symfony/event-dispatcher": "<4.3",
|
"symfony/clock": "<6.3",
|
||||||
"symfony/security-bundle": "<5.3",
|
"symfony/event-dispatcher": "<5.4.9|>=6,<6.0.9",
|
||||||
"symfony/security-csrf": "<4.4"
|
"symfony/http-client-contracts": "<3.0",
|
||||||
|
"symfony/security-bundle": "<5.4",
|
||||||
|
"symfony/security-csrf": "<5.4"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"psr/log": "^1|^2|^3",
|
"psr/log": "^1|^2|^3",
|
||||||
"symfony/cache": "^4.4|^5.0|^6.0",
|
"symfony/cache": "^5.4|^6.0|^7.0",
|
||||||
"symfony/rate-limiter": "^5.2|^6.0",
|
"symfony/clock": "^6.3|^7.0",
|
||||||
"symfony/routing": "^4.4|^5.0|^6.0",
|
"symfony/expression-language": "^5.4|^6.0|^7.0",
|
||||||
"symfony/security-csrf": "^4.4|^5.0|^6.0",
|
"symfony/http-client-contracts": "^3.0",
|
||||||
"symfony/translation": "^4.4|^5.0|^6.0"
|
"symfony/rate-limiter": "^5.4|^6.0|^7.0",
|
||||||
},
|
"symfony/routing": "^5.4|^6.0|^7.0",
|
||||||
"suggest": {
|
"symfony/security-csrf": "^5.4|^6.0|^7.0",
|
||||||
"symfony/routing": "For using the HttpUtils class to create sub-requests, redirect the user, and match URLs",
|
"symfony/translation": "^5.4|^6.0|^7.0",
|
||||||
"symfony/security-csrf": "For using tokens to protect authentication/logout attempts"
|
"web-token/jwt-checker": "^3.1",
|
||||||
|
"web-token/jwt-signature-algorithm-ecdsa": "^3.1"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -5120,7 +4418,7 @@
|
|||||||
"description": "Symfony Security Component - HTTP Integration",
|
"description": "Symfony Security Component - HTTP Integration",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/security-http/tree/v5.4.31"
|
"source": "https://github.com/symfony/security-http/tree/v6.4.26"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -5131,52 +4429,56 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-03T16:13:08+00:00"
|
"time": "2025-09-05T18:17:25+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/service-contracts",
|
"name": "symfony/service-contracts",
|
||||||
"version": "v2.5.2",
|
"version": "v3.6.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/service-contracts.git",
|
"url": "https://github.com/symfony/service-contracts.git",
|
||||||
"reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c"
|
"reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c",
|
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4",
|
||||||
"reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c",
|
"reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"psr/container": "^1.1",
|
"psr/container": "^1.1|^2.0",
|
||||||
"symfony/deprecation-contracts": "^2.1|^3"
|
"symfony/deprecation-contracts": "^2.5|^3"
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"ext-psr": "<1.1|>=2"
|
"ext-psr": "<1.1|>=2"
|
||||||
},
|
},
|
||||||
"suggest": {
|
|
||||||
"symfony/service-implementation": ""
|
|
||||||
},
|
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
|
||||||
"dev-main": "2.5-dev"
|
|
||||||
},
|
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/contracts",
|
"url": "https://github.com/symfony/contracts",
|
||||||
"url": "https://github.com/symfony/contracts"
|
"name": "symfony/contracts"
|
||||||
|
},
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-main": "3.6-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
"Symfony\\Contracts\\Service\\": ""
|
"Symfony\\Contracts\\Service\\": ""
|
||||||
}
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Test/"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
"license": [
|
"license": [
|
||||||
@@ -5203,7 +4505,7 @@
|
|||||||
"standards"
|
"standards"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/service-contracts/tree/v2.5.2"
|
"source": "https://github.com/symfony/service-contracts/tree/v3.6.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -5219,38 +4521,37 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-05-30T19:17:29+00:00"
|
"time": "2025-04-25T09:37:31+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/string",
|
"name": "symfony/string",
|
||||||
"version": "v5.4.32",
|
"version": "v6.4.26",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/string.git",
|
"url": "https://github.com/symfony/string.git",
|
||||||
"reference": "91bf4453d65d8231688a04376c3a40efe0770f04"
|
"reference": "5621f039a71a11c87c106c1c598bdcd04a19aeea"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/string/zipball/91bf4453d65d8231688a04376c3a40efe0770f04",
|
"url": "https://api.github.com/repos/symfony/string/zipball/5621f039a71a11c87c106c1c598bdcd04a19aeea",
|
||||||
"reference": "91bf4453d65d8231688a04376c3a40efe0770f04",
|
"reference": "5621f039a71a11c87c106c1c598bdcd04a19aeea",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"symfony/polyfill-ctype": "~1.8",
|
"symfony/polyfill-ctype": "~1.8",
|
||||||
"symfony/polyfill-intl-grapheme": "~1.0",
|
"symfony/polyfill-intl-grapheme": "~1.0",
|
||||||
"symfony/polyfill-intl-normalizer": "~1.0",
|
"symfony/polyfill-intl-normalizer": "~1.0",
|
||||||
"symfony/polyfill-mbstring": "~1.0",
|
"symfony/polyfill-mbstring": "~1.0"
|
||||||
"symfony/polyfill-php80": "~1.15"
|
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"symfony/translation-contracts": ">=3.0"
|
"symfony/translation-contracts": "<2.5"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"symfony/error-handler": "^4.4|^5.0|^6.0",
|
"symfony/http-client": "^5.4|^6.0|^7.0",
|
||||||
"symfony/http-client": "^4.4|^5.0|^6.0",
|
"symfony/intl": "^6.2|^7.0",
|
||||||
"symfony/translation-contracts": "^1.1|^2",
|
"symfony/translation-contracts": "^2.5|^3.0",
|
||||||
"symfony/var-exporter": "^4.4|^5.0|^6.0"
|
"symfony/var-exporter": "^5.4|^6.0|^7.0"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -5289,7 +4590,7 @@
|
|||||||
"utf8"
|
"utf8"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/string/tree/v5.4.32"
|
"source": "https://github.com/symfony/string/tree/v6.4.26"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -5300,62 +4601,64 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-26T13:43:46+00:00"
|
"time": "2025-09-11T14:32:46+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/translation",
|
"name": "symfony/translation",
|
||||||
"version": "v5.4.31",
|
"version": "v6.4.26",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/translation.git",
|
"url": "https://github.com/symfony/translation.git",
|
||||||
"reference": "ba72f72fceddf36f00bd495966b5873f2d17ad8f"
|
"reference": "c8559fe25c7ee7aa9d28f228903a46db008156a4"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/translation/zipball/ba72f72fceddf36f00bd495966b5873f2d17ad8f",
|
"url": "https://api.github.com/repos/symfony/translation/zipball/c8559fe25c7ee7aa9d28f228903a46db008156a4",
|
||||||
"reference": "ba72f72fceddf36f00bd495966b5873f2d17ad8f",
|
"reference": "c8559fe25c7ee7aa9d28f228903a46db008156a4",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
"symfony/deprecation-contracts": "^2.5|^3",
|
||||||
"symfony/polyfill-mbstring": "~1.0",
|
"symfony/polyfill-mbstring": "~1.0",
|
||||||
"symfony/polyfill-php80": "^1.16",
|
"symfony/translation-contracts": "^2.5|^3.0"
|
||||||
"symfony/translation-contracts": "^2.3"
|
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"symfony/config": "<4.4",
|
"symfony/config": "<5.4",
|
||||||
"symfony/console": "<5.3",
|
"symfony/console": "<5.4",
|
||||||
"symfony/dependency-injection": "<5.0",
|
"symfony/dependency-injection": "<5.4",
|
||||||
"symfony/http-kernel": "<5.0",
|
"symfony/http-client-contracts": "<2.5",
|
||||||
"symfony/twig-bundle": "<5.0",
|
"symfony/http-kernel": "<5.4",
|
||||||
"symfony/yaml": "<4.4"
|
"symfony/service-contracts": "<2.5",
|
||||||
|
"symfony/twig-bundle": "<5.4",
|
||||||
|
"symfony/yaml": "<5.4"
|
||||||
},
|
},
|
||||||
"provide": {
|
"provide": {
|
||||||
"symfony/translation-implementation": "2.3"
|
"symfony/translation-implementation": "2.3|3.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
|
"nikic/php-parser": "^4.18|^5.0",
|
||||||
"psr/log": "^1|^2|^3",
|
"psr/log": "^1|^2|^3",
|
||||||
"symfony/config": "^4.4|^5.0|^6.0",
|
"symfony/config": "^5.4|^6.0|^7.0",
|
||||||
"symfony/console": "^5.4|^6.0",
|
"symfony/console": "^5.4|^6.0|^7.0",
|
||||||
"symfony/dependency-injection": "^5.0|^6.0",
|
"symfony/dependency-injection": "^5.4|^6.0|^7.0",
|
||||||
"symfony/finder": "^4.4|^5.0|^6.0",
|
"symfony/finder": "^5.4|^6.0|^7.0",
|
||||||
"symfony/http-client-contracts": "^1.1|^2.0|^3.0",
|
"symfony/http-client-contracts": "^2.5|^3.0",
|
||||||
"symfony/http-kernel": "^5.0|^6.0",
|
"symfony/http-kernel": "^5.4|^6.0|^7.0",
|
||||||
"symfony/intl": "^4.4|^5.0|^6.0",
|
"symfony/intl": "^5.4|^6.0|^7.0",
|
||||||
"symfony/polyfill-intl-icu": "^1.21",
|
"symfony/polyfill-intl-icu": "^1.21",
|
||||||
"symfony/service-contracts": "^1.1.2|^2|^3",
|
"symfony/routing": "^5.4|^6.0|^7.0",
|
||||||
"symfony/yaml": "^4.4|^5.0|^6.0"
|
"symfony/service-contracts": "^2.5|^3",
|
||||||
},
|
"symfony/yaml": "^5.4|^6.0|^7.0"
|
||||||
"suggest": {
|
|
||||||
"psr/log-implementation": "To use logging capability in translator",
|
|
||||||
"symfony/config": "",
|
|
||||||
"symfony/yaml": ""
|
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -5386,7 +4689,7 @@
|
|||||||
"description": "Provides tools to internationalize your application",
|
"description": "Provides tools to internationalize your application",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/translation/tree/v5.4.31"
|
"source": "https://github.com/symfony/translation/tree/v6.4.26"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -5397,47 +4700,51 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-03T16:16:43+00:00"
|
"time": "2025-09-05T18:17:25+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/translation-contracts",
|
"name": "symfony/translation-contracts",
|
||||||
"version": "v2.5.2",
|
"version": "v3.6.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/translation-contracts.git",
|
"url": "https://github.com/symfony/translation-contracts.git",
|
||||||
"reference": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe"
|
"reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/136b19dd05cdf0709db6537d058bcab6dd6e2dbe",
|
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/df210c7a2573f1913b2d17cc95f90f53a73d8f7d",
|
||||||
"reference": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe",
|
"reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5"
|
"php": ">=8.1"
|
||||||
},
|
|
||||||
"suggest": {
|
|
||||||
"symfony/translation-implementation": ""
|
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
|
||||||
"dev-main": "2.5-dev"
|
|
||||||
},
|
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/contracts",
|
"url": "https://github.com/symfony/contracts",
|
||||||
"url": "https://github.com/symfony/contracts"
|
"name": "symfony/contracts"
|
||||||
|
},
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-main": "3.6-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
"Symfony\\Contracts\\Translation\\": ""
|
"Symfony\\Contracts\\Translation\\": ""
|
||||||
}
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Test/"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
"license": [
|
"license": [
|
||||||
@@ -5464,7 +4771,7 @@
|
|||||||
"standards"
|
"standards"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/translation-contracts/tree/v2.5.2"
|
"source": "https://github.com/symfony/translation-contracts/tree/v3.6.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -5480,85 +4787,73 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-06-27T16:58:25+00:00"
|
"time": "2024-09-27T08:32:26+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/twig-bridge",
|
"name": "symfony/twig-bridge",
|
||||||
"version": "v5.4.31",
|
"version": "v6.4.25",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/twig-bridge.git",
|
"url": "https://github.com/symfony/twig-bridge.git",
|
||||||
"reference": "fc6ee0a3b672ea12ca1f26592d257bfc7f4ee942"
|
"reference": "9d13e87591c9de3221c8d6f23cd9a2b5958607bf"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/twig-bridge/zipball/fc6ee0a3b672ea12ca1f26592d257bfc7f4ee942",
|
"url": "https://api.github.com/repos/symfony/twig-bridge/zipball/9d13e87591c9de3221c8d6f23cd9a2b5958607bf",
|
||||||
"reference": "fc6ee0a3b672ea12ca1f26592d257bfc7f4ee942",
|
"reference": "9d13e87591c9de3221c8d6f23cd9a2b5958607bf",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"symfony/polyfill-php80": "^1.16",
|
"symfony/deprecation-contracts": "^2.5|^3",
|
||||||
"symfony/translation-contracts": "^1.1|^2|^3",
|
"symfony/translation-contracts": "^2.5|^3",
|
||||||
"twig/twig": "^2.13|^3.0.4"
|
"twig/twig": "^2.13|^3.0.4"
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"phpdocumentor/reflection-docblock": "<3.2.2",
|
"phpdocumentor/reflection-docblock": "<3.2.2",
|
||||||
"phpdocumentor/type-resolver": "<1.4.0",
|
"phpdocumentor/type-resolver": "<1.4.0",
|
||||||
"symfony/console": "<5.3",
|
"symfony/console": "<5.4",
|
||||||
"symfony/form": "<5.4.21|>=6,<6.2.7",
|
"symfony/form": "<6.3",
|
||||||
"symfony/http-foundation": "<5.3",
|
"symfony/http-foundation": "<5.4",
|
||||||
"symfony/http-kernel": "<4.4",
|
"symfony/http-kernel": "<6.4",
|
||||||
"symfony/translation": "<5.2",
|
"symfony/mime": "<6.2",
|
||||||
"symfony/workflow": "<5.2"
|
"symfony/serializer": "<6.4",
|
||||||
|
"symfony/translation": "<5.4",
|
||||||
|
"symfony/workflow": "<5.4"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"doctrine/annotations": "^1.12|^2",
|
|
||||||
"egulias/email-validator": "^2.1.10|^3|^4",
|
"egulias/email-validator": "^2.1.10|^3|^4",
|
||||||
|
"league/html-to-markdown": "^5.0",
|
||||||
"phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
|
"phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
|
||||||
"symfony/asset": "^4.4|^5.0|^6.0",
|
"symfony/asset": "^5.4|^6.0|^7.0",
|
||||||
"symfony/console": "^5.3|^6.0",
|
"symfony/asset-mapper": "^6.3|^7.0",
|
||||||
"symfony/dependency-injection": "^4.4|^5.0|^6.0",
|
"symfony/console": "^5.4|^6.0|^7.0",
|
||||||
"symfony/expression-language": "^4.4|^5.0|^6.0",
|
"symfony/dependency-injection": "^5.4|^6.0|^7.0",
|
||||||
"symfony/finder": "^4.4|^5.0|^6.0",
|
"symfony/expression-language": "^5.4|^6.0|^7.0",
|
||||||
"symfony/form": "^5.4.21|^6.2.7",
|
"symfony/finder": "^5.4|^6.0|^7.0",
|
||||||
"symfony/http-foundation": "^5.3|^6.0",
|
"symfony/form": "^6.4.20|^7.2.5",
|
||||||
"symfony/http-kernel": "^4.4|^5.0|^6.0",
|
"symfony/html-sanitizer": "^6.1|^7.0",
|
||||||
"symfony/intl": "^4.4|^5.0|^6.0",
|
"symfony/http-foundation": "^5.4|^6.0|^7.0",
|
||||||
"symfony/mime": "^5.2|^6.0",
|
"symfony/http-kernel": "^6.4|^7.0",
|
||||||
|
"symfony/intl": "^5.4|^6.0|^7.0",
|
||||||
|
"symfony/mime": "^6.2|^7.0",
|
||||||
"symfony/polyfill-intl-icu": "~1.0",
|
"symfony/polyfill-intl-icu": "~1.0",
|
||||||
"symfony/property-info": "^4.4|^5.1|^6.0",
|
"symfony/property-info": "^5.4|^6.0|^7.0",
|
||||||
"symfony/routing": "^4.4|^5.0|^6.0",
|
"symfony/routing": "^5.4|^6.0|^7.0",
|
||||||
"symfony/security-acl": "^2.8|^3.0",
|
"symfony/security-acl": "^2.8|^3.0",
|
||||||
"symfony/security-core": "^4.4|^5.0|^6.0",
|
"symfony/security-core": "^5.4|^6.0|^7.0",
|
||||||
"symfony/security-csrf": "^4.4|^5.0|^6.0",
|
"symfony/security-csrf": "^5.4|^6.0|^7.0",
|
||||||
"symfony/security-http": "^4.4|^5.0|^6.0",
|
"symfony/security-http": "^5.4|^6.0|^7.0",
|
||||||
"symfony/serializer": "^5.2|^6.0",
|
"symfony/serializer": "^6.4.3|^7.0.3",
|
||||||
"symfony/stopwatch": "^4.4|^5.0|^6.0",
|
"symfony/stopwatch": "^5.4|^6.0|^7.0",
|
||||||
"symfony/translation": "^5.2|^6.0",
|
"symfony/translation": "^6.1|^7.0",
|
||||||
"symfony/web-link": "^4.4|^5.0|^6.0",
|
"symfony/web-link": "^5.4|^6.0|^7.0",
|
||||||
"symfony/workflow": "^5.2|^6.0",
|
"symfony/workflow": "^5.4|^6.0|^7.0",
|
||||||
"symfony/yaml": "^4.4|^5.0|^6.0",
|
"symfony/yaml": "^5.4|^6.0|^7.0",
|
||||||
"twig/cssinliner-extra": "^2.12|^3",
|
"twig/cssinliner-extra": "^2.12|^3",
|
||||||
"twig/inky-extra": "^2.12|^3",
|
"twig/inky-extra": "^2.12|^3",
|
||||||
"twig/markdown-extra": "^2.12|^3"
|
"twig/markdown-extra": "^2.12|^3"
|
||||||
},
|
},
|
||||||
"suggest": {
|
|
||||||
"symfony/asset": "For using the AssetExtension",
|
|
||||||
"symfony/expression-language": "For using the ExpressionExtension",
|
|
||||||
"symfony/finder": "",
|
|
||||||
"symfony/form": "For using the FormExtension",
|
|
||||||
"symfony/http-kernel": "For using the HttpKernelExtension",
|
|
||||||
"symfony/routing": "For using the RoutingExtension",
|
|
||||||
"symfony/security-core": "For using the SecurityExtension",
|
|
||||||
"symfony/security-csrf": "For using the CsrfExtension",
|
|
||||||
"symfony/security-http": "For using the LogoutUrlExtension",
|
|
||||||
"symfony/stopwatch": "For using the StopwatchExtension",
|
|
||||||
"symfony/translation": "For using the TranslationExtension",
|
|
||||||
"symfony/var-dumper": "For using the DumpExtension",
|
|
||||||
"symfony/web-link": "For using the WebLinkExtension",
|
|
||||||
"symfony/yaml": "For using the YamlExtension"
|
|
||||||
},
|
|
||||||
"type": "symfony-bridge",
|
"type": "symfony-bridge",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
@@ -5585,7 +4880,7 @@
|
|||||||
"description": "Provides integration for Twig with various Symfony components",
|
"description": "Provides integration for Twig with various Symfony components",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/twig-bridge/tree/v5.4.31"
|
"source": "https://github.com/symfony/twig-bridge/tree/v6.4.25"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -5596,58 +4891,56 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-09T21:19:08+00:00"
|
"time": "2025-08-13T09:41:44+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/twig-bundle",
|
"name": "symfony/twig-bundle",
|
||||||
"version": "v5.4.31",
|
"version": "v6.4.24",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/twig-bundle.git",
|
"url": "https://github.com/symfony/twig-bundle.git",
|
||||||
"reference": "62e3505a62f482a577f55ba08747dc6a3b7463b3"
|
"reference": "3b48b6e8225495c6d2438828982b4d219ca565ba"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/twig-bundle/zipball/62e3505a62f482a577f55ba08747dc6a3b7463b3",
|
"url": "https://api.github.com/repos/symfony/twig-bundle/zipball/3b48b6e8225495c6d2438828982b4d219ca565ba",
|
||||||
"reference": "62e3505a62f482a577f55ba08747dc6a3b7463b3",
|
"reference": "3b48b6e8225495c6d2438828982b4d219ca565ba",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"composer-runtime-api": ">=2.1",
|
||||||
"symfony/config": "^4.4|^5.0|^6.0",
|
"php": ">=8.1",
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
"symfony/config": "^6.1|^7.0",
|
||||||
"symfony/http-foundation": "^4.4|^5.0|^6.0",
|
"symfony/dependency-injection": "^6.1|^7.0",
|
||||||
"symfony/http-kernel": "^5.0|^6.0",
|
"symfony/http-foundation": "^5.4|^6.0|^7.0",
|
||||||
"symfony/polyfill-ctype": "~1.8",
|
"symfony/http-kernel": "^6.2",
|
||||||
"symfony/polyfill-php80": "^1.16",
|
"symfony/twig-bridge": "^6.4",
|
||||||
"symfony/twig-bridge": "^5.3|^6.0",
|
|
||||||
"twig/twig": "^2.13|^3.0.4"
|
"twig/twig": "^2.13|^3.0.4"
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"symfony/dependency-injection": "<5.3",
|
"symfony/framework-bundle": "<5.4",
|
||||||
"symfony/framework-bundle": "<5.0",
|
"symfony/translation": "<5.4"
|
||||||
"symfony/service-contracts": ">=3.0",
|
|
||||||
"symfony/translation": "<5.0"
|
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"doctrine/annotations": "^1.10.4|^2",
|
"symfony/asset": "^5.4|^6.0|^7.0",
|
||||||
"doctrine/cache": "^1.0|^2.0",
|
"symfony/expression-language": "^5.4|^6.0|^7.0",
|
||||||
"symfony/asset": "^4.4|^5.0|^6.0",
|
"symfony/finder": "^5.4|^6.0|^7.0",
|
||||||
"symfony/dependency-injection": "^5.3|^6.0",
|
"symfony/form": "^5.4|^6.0|^7.0",
|
||||||
"symfony/expression-language": "^4.4|^5.0|^6.0",
|
"symfony/framework-bundle": "^5.4|^6.0|^7.0",
|
||||||
"symfony/finder": "^4.4|^5.0|^6.0",
|
"symfony/routing": "^5.4|^6.0|^7.0",
|
||||||
"symfony/form": "^4.4|^5.0|^6.0",
|
"symfony/stopwatch": "^5.4|^6.0|^7.0",
|
||||||
"symfony/framework-bundle": "^5.0|^6.0",
|
"symfony/translation": "^5.4|^6.0|^7.0",
|
||||||
"symfony/routing": "^4.4|^5.0|^6.0",
|
"symfony/web-link": "^5.4|^6.0|^7.0",
|
||||||
"symfony/stopwatch": "^4.4|^5.0|^6.0",
|
"symfony/yaml": "^5.4|^6.0|^7.0"
|
||||||
"symfony/translation": "^5.0|^6.0",
|
|
||||||
"symfony/web-link": "^4.4|^5.0|^6.0",
|
|
||||||
"symfony/yaml": "^4.4|^5.0|^6.0"
|
|
||||||
},
|
},
|
||||||
"type": "symfony-bundle",
|
"type": "symfony-bundle",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -5675,7 +4968,7 @@
|
|||||||
"description": "Provides a tight integration of Twig into the Symfony full-stack framework",
|
"description": "Provides a tight integration of Twig into the Symfony full-stack framework",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/twig-bundle/tree/v5.4.31"
|
"source": "https://github.com/symfony/twig-bundle/tree/v6.4.24"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -5686,80 +4979,68 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-10-31T07:58:33+00:00"
|
"time": "2025-07-10T08:14:14+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/validator",
|
"name": "symfony/validator",
|
||||||
"version": "v5.4.32",
|
"version": "v6.4.26",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/validator.git",
|
"url": "https://github.com/symfony/validator.git",
|
||||||
"reference": "d205d071c4a7ef5b6b43349c7e41d47d1b227636"
|
"reference": "3ed456b3cd04e61fc7ed2601805fee3c1130663a"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/validator/zipball/d205d071c4a7ef5b6b43349c7e41d47d1b227636",
|
"url": "https://api.github.com/repos/symfony/validator/zipball/3ed456b3cd04e61fc7ed2601805fee3c1130663a",
|
||||||
"reference": "d205d071c4a7ef5b6b43349c7e41d47d1b227636",
|
"reference": "3ed456b3cd04e61fc7ed2601805fee3c1130663a",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
"symfony/deprecation-contracts": "^2.5|^3",
|
||||||
"symfony/polyfill-ctype": "~1.8",
|
"symfony/polyfill-ctype": "~1.8",
|
||||||
"symfony/polyfill-mbstring": "~1.0",
|
"symfony/polyfill-mbstring": "~1.0",
|
||||||
"symfony/polyfill-php73": "~1.0",
|
"symfony/polyfill-php83": "^1.27",
|
||||||
"symfony/polyfill-php80": "^1.16",
|
"symfony/translation-contracts": "^2.5|^3"
|
||||||
"symfony/polyfill-php81": "^1.22",
|
|
||||||
"symfony/translation-contracts": "^1.1|^2|^3"
|
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"doctrine/annotations": "<1.13",
|
"doctrine/annotations": "<1.13",
|
||||||
"doctrine/cache": "<1.11",
|
|
||||||
"doctrine/lexer": "<1.1",
|
"doctrine/lexer": "<1.1",
|
||||||
"symfony/dependency-injection": "<4.4",
|
"symfony/dependency-injection": "<5.4",
|
||||||
"symfony/expression-language": "<5.1",
|
"symfony/expression-language": "<5.4",
|
||||||
"symfony/http-kernel": "<4.4",
|
"symfony/http-kernel": "<5.4",
|
||||||
"symfony/intl": "<4.4",
|
"symfony/intl": "<5.4",
|
||||||
"symfony/property-info": "<5.3",
|
"symfony/property-info": "<5.4",
|
||||||
"symfony/translation": "<4.4",
|
"symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3|>=7.0,<7.0.3",
|
||||||
"symfony/yaml": "<4.4"
|
"symfony/yaml": "<5.4"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"doctrine/annotations": "^1.13|^2",
|
"doctrine/annotations": "^1.13|^2",
|
||||||
"doctrine/cache": "^1.11|^2.0",
|
|
||||||
"egulias/email-validator": "^2.1.10|^3|^4",
|
"egulias/email-validator": "^2.1.10|^3|^4",
|
||||||
"symfony/cache": "^4.4|^5.0|^6.0",
|
"symfony/cache": "^5.4|^6.0|^7.0",
|
||||||
"symfony/config": "^4.4|^5.0|^6.0",
|
"symfony/config": "^5.4|^6.0|^7.0",
|
||||||
"symfony/console": "^4.4|^5.0|^6.0",
|
"symfony/console": "^5.4|^6.0|^7.0",
|
||||||
"symfony/dependency-injection": "^4.4|^5.0|^6.0",
|
"symfony/dependency-injection": "^5.4|^6.0|^7.0",
|
||||||
"symfony/expression-language": "^5.1|^6.0",
|
"symfony/expression-language": "^5.4|^6.0|^7.0",
|
||||||
"symfony/finder": "^4.4|^5.0|^6.0",
|
"symfony/finder": "^5.4|^6.0|^7.0",
|
||||||
"symfony/http-client": "^4.4|^5.0|^6.0",
|
"symfony/http-client": "^5.4|^6.0|^7.0",
|
||||||
"symfony/http-foundation": "^4.4|^5.0|^6.0",
|
"symfony/http-foundation": "^5.4|^6.0|^7.0",
|
||||||
"symfony/http-kernel": "^4.4|^5.0|^6.0",
|
"symfony/http-kernel": "^5.4|^6.0|^7.0",
|
||||||
"symfony/intl": "^4.4|^5.0|^6.0",
|
"symfony/intl": "^5.4|^6.0|^7.0",
|
||||||
"symfony/mime": "^4.4|^5.0|^6.0",
|
"symfony/mime": "^5.4|^6.0|^7.0",
|
||||||
"symfony/property-access": "^4.4|^5.0|^6.0",
|
"symfony/property-access": "^5.4|^6.0|^7.0",
|
||||||
"symfony/property-info": "^5.3|^6.0",
|
"symfony/property-info": "^5.4|^6.0|^7.0",
|
||||||
"symfony/translation": "^4.4|^5.0|^6.0",
|
"symfony/translation": "^5.4.35|~6.3.12|^6.4.3|^7.0.3",
|
||||||
"symfony/yaml": "^4.4|^5.0|^6.0"
|
"symfony/yaml": "^5.4|^6.0|^7.0"
|
||||||
},
|
|
||||||
"suggest": {
|
|
||||||
"egulias/email-validator": "Strict (RFC compliant) email validation",
|
|
||||||
"psr/cache-implementation": "For using the mapping cache.",
|
|
||||||
"symfony/config": "",
|
|
||||||
"symfony/expression-language": "For using the Expression validator and the ExpressionLanguageSyntax constraints",
|
|
||||||
"symfony/http-foundation": "",
|
|
||||||
"symfony/intl": "",
|
|
||||||
"symfony/property-access": "For accessing properties within comparison constraints",
|
|
||||||
"symfony/property-info": "To automatically add NotNull and Type constraints",
|
|
||||||
"symfony/translation": "For translating validation errors.",
|
|
||||||
"symfony/yaml": ""
|
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -5767,7 +5048,8 @@
|
|||||||
"Symfony\\Component\\Validator\\": ""
|
"Symfony\\Component\\Validator\\": ""
|
||||||
},
|
},
|
||||||
"exclude-from-classmap": [
|
"exclude-from-classmap": [
|
||||||
"/Tests/"
|
"/Tests/",
|
||||||
|
"/Resources/bin/"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
@@ -5787,7 +5069,7 @@
|
|||||||
"description": "Provides tools to validate values",
|
"description": "Provides tools to validate values",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/validator/tree/v5.4.32"
|
"source": "https://github.com/symfony/validator/tree/v6.4.26"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -5798,48 +5080,47 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-29T07:42:18+00:00"
|
"time": "2025-09-25T15:37:27+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/var-dumper",
|
"name": "symfony/var-dumper",
|
||||||
"version": "v5.4.29",
|
"version": "v6.4.26",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/var-dumper.git",
|
"url": "https://github.com/symfony/var-dumper.git",
|
||||||
"reference": "6172e4ae3534d25ee9e07eb487c20be7760fcc65"
|
"reference": "cfae1497a2f1eaad78dbc0590311c599c7178d4a"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/6172e4ae3534d25ee9e07eb487c20be7760fcc65",
|
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/cfae1497a2f1eaad78dbc0590311c599c7178d4a",
|
||||||
"reference": "6172e4ae3534d25ee9e07eb487c20be7760fcc65",
|
"reference": "cfae1497a2f1eaad78dbc0590311c599c7178d4a",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"symfony/polyfill-mbstring": "~1.0",
|
"symfony/deprecation-contracts": "^2.5|^3",
|
||||||
"symfony/polyfill-php80": "^1.16"
|
"symfony/polyfill-mbstring": "~1.0"
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"symfony/console": "<4.4"
|
"symfony/console": "<5.4"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"ext-iconv": "*",
|
"symfony/console": "^5.4|^6.0|^7.0",
|
||||||
"symfony/console": "^4.4|^5.0|^6.0",
|
"symfony/error-handler": "^6.3|^7.0",
|
||||||
"symfony/http-kernel": "^4.4|^5.0|^6.0",
|
"symfony/http-kernel": "^5.4|^6.0|^7.0",
|
||||||
"symfony/process": "^4.4|^5.0|^6.0",
|
"symfony/process": "^5.4|^6.0|^7.0",
|
||||||
"symfony/uid": "^5.1|^6.0",
|
"symfony/uid": "^5.4|^6.0|^7.0",
|
||||||
"twig/twig": "^2.13|^3.0.4"
|
"twig/twig": "^2.13|^3.0.4"
|
||||||
},
|
},
|
||||||
"suggest": {
|
|
||||||
"ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).",
|
|
||||||
"ext-intl": "To show region name in time zone dump",
|
|
||||||
"symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script"
|
|
||||||
},
|
|
||||||
"bin": [
|
"bin": [
|
||||||
"Resources/bin/var-dump-server"
|
"Resources/bin/var-dump-server"
|
||||||
],
|
],
|
||||||
@@ -5876,7 +5157,7 @@
|
|||||||
"dump"
|
"dump"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/var-dumper/tree/v5.4.29"
|
"source": "https://github.com/symfony/var-dumper/tree/v6.4.26"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -5887,25 +5168,29 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-09-12T10:09:58+00:00"
|
"time": "2025-09-25T15:37:27+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/var-exporter",
|
"name": "symfony/var-exporter",
|
||||||
"version": "v6.4.1",
|
"version": "v6.4.26",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/var-exporter.git",
|
"url": "https://github.com/symfony/var-exporter.git",
|
||||||
"reference": "2d08ca6b9cc704dce525615d1e6d1788734f36d9"
|
"reference": "466fcac5fa2e871f83d31173f80e9c2684743bfc"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/var-exporter/zipball/2d08ca6b9cc704dce525615d1e6d1788734f36d9",
|
"url": "https://api.github.com/repos/symfony/var-exporter/zipball/466fcac5fa2e871f83d31173f80e9c2684743bfc",
|
||||||
"reference": "2d08ca6b9cc704dce525615d1e6d1788734f36d9",
|
"reference": "466fcac5fa2e871f83d31173f80e9c2684743bfc",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -5913,6 +5198,8 @@
|
|||||||
"symfony/deprecation-contracts": "^2.5|^3"
|
"symfony/deprecation-contracts": "^2.5|^3"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
|
"symfony/property-access": "^6.4|^7.0",
|
||||||
|
"symfony/serializer": "^6.4|^7.0",
|
||||||
"symfony/var-dumper": "^5.4|^6.0|^7.0"
|
"symfony/var-dumper": "^5.4|^6.0|^7.0"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
@@ -5951,7 +5238,7 @@
|
|||||||
"serialize"
|
"serialize"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/var-exporter/tree/v6.4.1"
|
"source": "https://github.com/symfony/var-exporter/tree/v6.4.26"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -5963,83 +5250,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://github.com/nicolas-grekas",
|
||||||
"type": "tidelift"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"time": "2023-11-30T10:32:10+00:00"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "symfony/web-profiler-bundle",
|
|
||||||
"version": "v5.4.31",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/symfony/web-profiler-bundle.git",
|
|
||||||
"reference": "c3e04e0ad13df22acad1157a5b66404a85c3c538"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/c3e04e0ad13df22acad1157a5b66404a85c3c538",
|
|
||||||
"reference": "c3e04e0ad13df22acad1157a5b66404a85c3c538",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": ">=7.2.5",
|
|
||||||
"symfony/config": "^4.4|^5.0|^6.0",
|
|
||||||
"symfony/framework-bundle": "^5.3|^6.0,<6.4",
|
|
||||||
"symfony/http-kernel": "^5.3|^6.0",
|
|
||||||
"symfony/polyfill-php80": "^1.16",
|
|
||||||
"symfony/routing": "^4.4|^5.0|^6.0",
|
|
||||||
"symfony/twig-bundle": "^4.4|^5.0|^6.0",
|
|
||||||
"twig/twig": "^2.13|^3.0.4"
|
|
||||||
},
|
|
||||||
"conflict": {
|
|
||||||
"symfony/dependency-injection": "<5.2",
|
|
||||||
"symfony/form": "<4.4",
|
|
||||||
"symfony/mailer": "<5.4",
|
|
||||||
"symfony/messenger": "<4.4"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"symfony/browser-kit": "^4.4|^5.0|^6.0",
|
|
||||||
"symfony/console": "^4.4|^5.0|^6.0",
|
|
||||||
"symfony/css-selector": "^4.4|^5.0|^6.0",
|
|
||||||
"symfony/stopwatch": "^4.4|^5.0|^6.0"
|
|
||||||
},
|
|
||||||
"type": "symfony-bundle",
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": {
|
|
||||||
"Symfony\\Bundle\\WebProfilerBundle\\": ""
|
|
||||||
},
|
|
||||||
"exclude-from-classmap": [
|
|
||||||
"/Tests/"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Fabien Potencier",
|
|
||||||
"email": "fabien@symfony.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Symfony Community",
|
|
||||||
"homepage": "https://symfony.com/contributors"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "Provides a development tool that gives detailed information about the execution of any request",
|
|
||||||
"homepage": "https://symfony.com",
|
|
||||||
"support": {
|
|
||||||
"source": "https://github.com/symfony/web-profiler-bundle/tree/v5.4.31"
|
|
||||||
},
|
|
||||||
"funding": [
|
|
||||||
{
|
|
||||||
"url": "https://symfony.com/sponsor",
|
|
||||||
"type": "custom"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "https://github.com/fabpot",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -6047,43 +5258,42 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-10-31T14:39:57+00:00"
|
"time": "2025-09-11T09:57:09+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/webpack-encore-bundle",
|
"name": "symfony/webpack-encore-bundle",
|
||||||
"version": "v1.17.2",
|
"version": "v2.3.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/webpack-encore-bundle.git",
|
"url": "https://github.com/symfony/webpack-encore-bundle.git",
|
||||||
"reference": "471ebbc03072dad6e31840dc317bc634a32785f5"
|
"reference": "7ae70d44c24c3b913f308af8396169b5c6d9e0f5"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/webpack-encore-bundle/zipball/471ebbc03072dad6e31840dc317bc634a32785f5",
|
"url": "https://api.github.com/repos/symfony/webpack-encore-bundle/zipball/7ae70d44c24c3b913f308af8396169b5c6d9e0f5",
|
||||||
"reference": "471ebbc03072dad6e31840dc317bc634a32785f5",
|
"reference": "7ae70d44c24c3b913f308af8396169b5c6d9e0f5",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.1.3",
|
"php": ">=8.1.0",
|
||||||
"symfony/asset": "^4.4 || ^5.0 || ^6.0",
|
"symfony/asset": "^5.4 || ^6.2 || ^7.0 || ^8.0",
|
||||||
"symfony/config": "^4.4 || ^5.0 || ^6.0",
|
"symfony/config": "^5.4 || ^6.2 || ^7.0 || ^8.0",
|
||||||
"symfony/dependency-injection": "^4.4 || ^5.0 || ^6.0",
|
"symfony/dependency-injection": "^5.4 || ^6.2 || ^7.0 || ^8.0",
|
||||||
"symfony/deprecation-contracts": "^2.1 || ^3.0",
|
"symfony/http-kernel": "^5.4 || ^6.2 || ^7.0 || ^8.0",
|
||||||
"symfony/http-kernel": "^4.4 || ^5.0 || ^6.0",
|
"symfony/service-contracts": "^1.1.9 || ^2.1.3 || ^3.0"
|
||||||
"symfony/polyfill-php80": "^1.25.0",
|
|
||||||
"symfony/service-contracts": "^1.0 || ^2.0 || ^3.0"
|
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"symfony/framework-bundle": "^4.4 || ^5.0 || ^6.0",
|
"symfony/framework-bundle": "^5.4 || ^6.2 || ^7.0 || ^8.0",
|
||||||
"symfony/phpunit-bridge": "^5.3 || ^6.0",
|
"symfony/http-client": "^5.4 || ^6.2 || ^7.0 || ^8.0",
|
||||||
"symfony/twig-bundle": "^4.4 || ^5.0 || ^6.0",
|
"symfony/phpunit-bridge": "^5.4 || ^6.2 || ^7.0 || ^8.0",
|
||||||
"symfony/web-link": "^4.4 || ^5.0 || ^6.0"
|
"symfony/twig-bundle": "^5.4 || ^6.2 || ^7.0 || ^8.0",
|
||||||
|
"symfony/web-link": "^5.4 || ^6.2 || ^7.0 || ^8.0"
|
||||||
},
|
},
|
||||||
"type": "symfony-bundle",
|
"type": "symfony-bundle",
|
||||||
"extra": {
|
"extra": {
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/webpack-encore",
|
"url": "https://github.com/symfony/webpack-encore",
|
||||||
"url": "https://github.com/symfony/webpack-encore"
|
"name": "symfony/webpack-encore"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -6101,10 +5311,10 @@
|
|||||||
"homepage": "https://symfony.com/contributors"
|
"homepage": "https://symfony.com/contributors"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Integration with your Symfony app & Webpack Encore!",
|
"description": "Integration of your Symfony app with Webpack Encore",
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/symfony/webpack-encore-bundle/issues",
|
"issues": "https://github.com/symfony/webpack-encore-bundle/issues",
|
||||||
"source": "https://github.com/symfony/webpack-encore-bundle/tree/v1.17.2"
|
"source": "https://github.com/symfony/webpack-encore-bundle/tree/v2.3.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -6115,40 +5325,41 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-09-26T14:36:28+00:00"
|
"time": "2025-08-05T11:43:32+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/yaml",
|
"name": "symfony/yaml",
|
||||||
"version": "v5.4.31",
|
"version": "v6.4.26",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/yaml.git",
|
"url": "https://github.com/symfony/yaml.git",
|
||||||
"reference": "f387675d7f5fc4231f7554baa70681f222f73563"
|
"reference": "0fc8b966fd0dcaab544ae59bfc3a433f048c17b0"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/yaml/zipball/f387675d7f5fc4231f7554baa70681f222f73563",
|
"url": "https://api.github.com/repos/symfony/yaml/zipball/0fc8b966fd0dcaab544ae59bfc3a433f048c17b0",
|
||||||
"reference": "f387675d7f5fc4231f7554baa70681f222f73563",
|
"reference": "0fc8b966fd0dcaab544ae59bfc3a433f048c17b0",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1",
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
"symfony/deprecation-contracts": "^2.5|^3",
|
||||||
"symfony/polyfill-ctype": "^1.8"
|
"symfony/polyfill-ctype": "^1.8"
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"symfony/console": "<5.3"
|
"symfony/console": "<5.4"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"symfony/console": "^5.3|^6.0"
|
"symfony/console": "^5.4|^6.0|^7.0"
|
||||||
},
|
|
||||||
"suggest": {
|
|
||||||
"symfony/console": "For validating YAML files using the lint command"
|
|
||||||
},
|
},
|
||||||
"bin": [
|
"bin": [
|
||||||
"Resources/bin/yaml-lint"
|
"Resources/bin/yaml-lint"
|
||||||
@@ -6179,7 +5390,7 @@
|
|||||||
"description": "Loads and dumps YAML files",
|
"description": "Loads and dumps YAML files",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/yaml/tree/v5.4.31"
|
"source": "https://github.com/symfony/yaml/tree/v6.4.26"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -6190,39 +5401,50 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-03T14:41:28+00:00"
|
"time": "2025-09-26T15:07:38+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "twig/twig",
|
"name": "twig/twig",
|
||||||
"version": "v3.8.0",
|
"version": "v3.21.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/twigphp/Twig.git",
|
"url": "https://github.com/twigphp/Twig.git",
|
||||||
"reference": "9d15f0ac07f44dc4217883ec6ae02fd555c6f71d"
|
"reference": "285123877d4dd97dd7c11842ac5fb7e86e60d81d"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/twigphp/Twig/zipball/9d15f0ac07f44dc4217883ec6ae02fd555c6f71d",
|
"url": "https://api.github.com/repos/twigphp/Twig/zipball/285123877d4dd97dd7c11842ac5fb7e86e60d81d",
|
||||||
"reference": "9d15f0ac07f44dc4217883ec6ae02fd555c6f71d",
|
"reference": "285123877d4dd97dd7c11842ac5fb7e86e60d81d",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.1.0",
|
||||||
|
"symfony/deprecation-contracts": "^2.5|^3",
|
||||||
"symfony/polyfill-ctype": "^1.8",
|
"symfony/polyfill-ctype": "^1.8",
|
||||||
"symfony/polyfill-mbstring": "^1.3",
|
"symfony/polyfill-mbstring": "^1.3"
|
||||||
"symfony/polyfill-php80": "^1.22"
|
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
|
"phpstan/phpstan": "^2.0",
|
||||||
"psr/container": "^1.0|^2.0",
|
"psr/container": "^1.0|^2.0",
|
||||||
"symfony/phpunit-bridge": "^5.4.9|^6.3|^7.0"
|
"symfony/phpunit-bridge": "^5.4.9|^6.4|^7.0"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
"files": [
|
||||||
|
"src/Resources/core.php",
|
||||||
|
"src/Resources/debug.php",
|
||||||
|
"src/Resources/escaper.php",
|
||||||
|
"src/Resources/string_loader.php"
|
||||||
|
],
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
"Twig\\": "src/"
|
"Twig\\": "src/"
|
||||||
}
|
}
|
||||||
@@ -6255,7 +5477,7 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/twigphp/Twig/issues",
|
"issues": "https://github.com/twigphp/Twig/issues",
|
||||||
"source": "https://github.com/twigphp/Twig/tree/v3.8.0"
|
"source": "https://github.com/twigphp/Twig/tree/v3.21.1"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -6267,20 +5489,299 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-21T18:54:41+00:00"
|
"time": "2025-05-03T07:21:55+00:00"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"packages-dev": [
|
||||||
|
{
|
||||||
|
"name": "phpstan/phpstan",
|
||||||
|
"version": "2.1.29",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/phpstan/phpstan-phar-composer-source.git",
|
||||||
|
"reference": "git"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/d618573eed4a1b6b75e37b2e0b65ac65c885d88e",
|
||||||
|
"reference": "d618573eed4a1b6b75e37b2e0b65ac65c885d88e",
|
||||||
|
"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-09-25T06:58:18+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "rector/rector",
|
||||||
|
"version": "2.1.7",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/rectorphp/rector.git",
|
||||||
|
"reference": "c34cc07c4698f007a20dc5c99ff820089ae413ce"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/rectorphp/rector/zipball/c34cc07c4698f007a20dc5c99ff820089ae413ce",
|
||||||
|
"reference": "c34cc07c4698f007a20dc5c99ff820089ae413ce",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.4|^8.0",
|
||||||
|
"phpstan/phpstan": "^2.1.18"
|
||||||
|
},
|
||||||
|
"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.7"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://github.com/tomasvotruba",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"time": "2025-09-10T11:13:58+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/debug-bundle",
|
||||||
|
"version": "v6.4.13",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/debug-bundle.git",
|
||||||
|
"reference": "7bcfaff39e094cc09455201916d016d9b2ae08ff"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/debug-bundle/zipball/7bcfaff39e094cc09455201916d016d9b2ae08ff",
|
||||||
|
"reference": "7bcfaff39e094cc09455201916d016d9b2ae08ff",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"ext-xml": "*",
|
||||||
|
"php": ">=8.1",
|
||||||
|
"symfony/dependency-injection": "^5.4|^6.0|^7.0",
|
||||||
|
"symfony/http-kernel": "^5.4|^6.0|^7.0",
|
||||||
|
"symfony/twig-bridge": "^5.4|^6.0|^7.0",
|
||||||
|
"symfony/var-dumper": "^5.4|^6.0|^7.0"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"symfony/config": "<5.4",
|
||||||
|
"symfony/dependency-injection": "<5.4"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"symfony/config": "^5.4|^6.0|^7.0",
|
||||||
|
"symfony/web-profiler-bundle": "^5.4|^6.0|^7.0"
|
||||||
|
},
|
||||||
|
"type": "symfony-bundle",
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Bundle\\DebugBundle\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Provides a tight integration of the Symfony VarDumper component and the ServerLogCommand from MonologBridge into the Symfony full-stack framework",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"support": {
|
||||||
|
"source": "https://github.com/symfony/debug-bundle/tree/v6.4.13"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://symfony.com/sponsor",
|
||||||
|
"type": "custom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/fabpot",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
|
"type": "tidelift"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"time": "2024-09-25T14:18:03+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/web-profiler-bundle",
|
||||||
|
"version": "v6.4.25",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/web-profiler-bundle.git",
|
||||||
|
"reference": "4c1754d6b3ffe52e9eaed0d9a392eb43a60fc910"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/4c1754d6b3ffe52e9eaed0d9a392eb43a60fc910",
|
||||||
|
"reference": "4c1754d6b3ffe52e9eaed0d9a392eb43a60fc910",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=8.1",
|
||||||
|
"symfony/config": "^5.4|^6.0|^7.0",
|
||||||
|
"symfony/framework-bundle": "^6.4|^7.0",
|
||||||
|
"symfony/http-kernel": "^6.4|^7.0",
|
||||||
|
"symfony/routing": "^5.4|^6.0|^7.0",
|
||||||
|
"symfony/twig-bundle": "^5.4|^6.0",
|
||||||
|
"twig/twig": "^2.13|^3.0.4"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"symfony/form": "<5.4",
|
||||||
|
"symfony/mailer": "<5.4",
|
||||||
|
"symfony/messenger": "<5.4",
|
||||||
|
"symfony/twig-bundle": ">=7.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"symfony/browser-kit": "^5.4|^6.0|^7.0",
|
||||||
|
"symfony/console": "^5.4|^6.0|^7.0",
|
||||||
|
"symfony/css-selector": "^5.4|^6.0|^7.0",
|
||||||
|
"symfony/stopwatch": "^5.4|^6.0|^7.0"
|
||||||
|
},
|
||||||
|
"type": "symfony-bundle",
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Bundle\\WebProfilerBundle\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Provides a development tool that gives detailed information about the execution of any request",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"dev"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"source": "https://github.com/symfony/web-profiler-bundle/tree/v6.4.25"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://symfony.com/sponsor",
|
||||||
|
"type": "custom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/fabpot",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
|
"type": "tidelift"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"time": "2025-08-07T12:02:05+00:00"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"packages-dev": [],
|
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"minimum-stability": "stable",
|
"minimum-stability": "stable",
|
||||||
"stability-flags": [],
|
"stability-flags": {},
|
||||||
"prefer-stable": true,
|
"prefer-stable": true,
|
||||||
"prefer-lowest": false,
|
"prefer-lowest": false,
|
||||||
"platform": {
|
"platform": {
|
||||||
"php": ">=7.2.5",
|
"php": "^8.4",
|
||||||
"ext-ctype": "*",
|
"ext-ctype": "*",
|
||||||
"ext-iconv": "*"
|
"ext-iconv": "*"
|
||||||
},
|
},
|
||||||
"platform-dev": [],
|
"platform-dev": {},
|
||||||
"plugin-api-version": "2.3.0"
|
"plugin-api-version": "2.6.0"
|
||||||
}
|
}
|
||||||
|
@@ -7,4 +7,6 @@ return [
|
|||||||
Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true],
|
Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true],
|
||||||
Symfony\WebpackEncoreBundle\WebpackEncoreBundle::class => ['all' => true],
|
Symfony\WebpackEncoreBundle\WebpackEncoreBundle::class => ['all' => true],
|
||||||
Sentry\SentryBundle\SentryBundle::class => ['all' => true],
|
Sentry\SentryBundle\SentryBundle::class => ['all' => true],
|
||||||
|
Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true],
|
||||||
|
Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true],
|
||||||
];
|
];
|
||||||
|
@@ -1,19 +1,15 @@
|
|||||||
framework:
|
framework:
|
||||||
cache:
|
cache:
|
||||||
# Unique name of your app: used to compute stable namespaces for cache keys.
|
prefix_seed: '%env(VERSION)%'
|
||||||
#prefix_seed: your_vendor_name/app_name
|
|
||||||
|
|
||||||
# The "app" cache stores to the filesystem by default.
|
|
||||||
# The data in this cache should persist between deploys.
|
|
||||||
# Other options include:
|
|
||||||
|
|
||||||
# Redis
|
|
||||||
app: cache.adapter.redis
|
app: cache.adapter.redis
|
||||||
default_redis_provider: '%env(REDIS_DSN)%'
|
default_redis_provider: '%env(REDIS_DSN)%'
|
||||||
|
|
||||||
# APCu (not recommended with heavy random-write workloads as memory fragmentation can cause perf issues)
|
pools:
|
||||||
#app: cache.adapter.apcu
|
cache.validator:
|
||||||
|
adapter: cache.adapter.apcu
|
||||||
# Namespaced pools use the above "app" backend by default
|
cache.serializer:
|
||||||
#pools:
|
adapter: cache.adapter.apcu
|
||||||
#my.dedicated.cache: null
|
cache.annotations:
|
||||||
|
adapter: cache.adapter.apcu
|
||||||
|
cache.webpack_encore:
|
||||||
|
adapter: cache.adapter.apcu
|
||||||
|
5
config/packages/debug.yaml
Normal file
5
config/packages/debug.yaml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
when@dev:
|
||||||
|
debug:
|
||||||
|
# Forwards VarDumper Data clones to a centralized server allowing to inspect dumps on CLI or in your browser.
|
||||||
|
# See the "server:dump" command to start a new server.
|
||||||
|
dump_destination: "tcp://%env(VAR_DUMPER_SERVER)%"
|
@@ -2,13 +2,16 @@ parameters:
|
|||||||
base_url: '%env(BASE_URL)%'
|
base_url: '%env(BASE_URL)%'
|
||||||
env(BASE_URL): '//'
|
env(BASE_URL): '//'
|
||||||
|
|
||||||
|
base_path: '%env(BASE_PATH)%'
|
||||||
|
env(BASE_PATH): '/'
|
||||||
|
|
||||||
cookie_path: '%env(COOKIE_PATH)%'
|
cookie_path: '%env(COOKIE_PATH)%'
|
||||||
env(COOKIE_PATH): '/'
|
env(COOKIE_PATH): '/'
|
||||||
framework:
|
framework:
|
||||||
secret: '%env(APP_SECRET)%'
|
secret: '%env(APP_SECRET)%'
|
||||||
#csrf_protection: true
|
#csrf_protection: true
|
||||||
http_method_override: false
|
http_method_override: false
|
||||||
|
handle_all_throwables: true
|
||||||
# Enables session support. Note that the session will ONLY be started if you read or write from it.
|
# Enables session support. Note that the session will ONLY be started if you read or write from it.
|
||||||
# Remove or comment this section to explicitly disable session support.
|
# Remove or comment this section to explicitly disable session support.
|
||||||
session:
|
session:
|
||||||
@@ -17,8 +20,10 @@ framework:
|
|||||||
cookie_samesite: lax
|
cookie_samesite: lax
|
||||||
storage_factory_id: session.storage.factory.native
|
storage_factory_id: session.storage.factory.native
|
||||||
cookie_path: "%cookie_path%"
|
cookie_path: "%cookie_path%"
|
||||||
|
name: HYDRA_SQL_SESSID
|
||||||
|
|
||||||
assets:
|
assets:
|
||||||
base_urls: '%base_url%'
|
json_manifest_path: '%kernel.project_dir%/public/build/manifest.json'
|
||||||
router:
|
router:
|
||||||
default_uri: '%base_url%'
|
default_uri: '%base_url%'
|
||||||
#esi: true
|
#esi: true
|
||||||
|
@@ -1,2 +0,0 @@
|
|||||||
framework:
|
|
||||||
lock: '%env(LOCK_DSN)%'
|
|
6
config/packages/monolog.yaml
Normal file
6
config/packages/monolog.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
monolog:
|
||||||
|
handlers:
|
||||||
|
stdout:
|
||||||
|
type: stream
|
||||||
|
path: php://stdout
|
||||||
|
level: debug
|
@@ -1,5 +1,4 @@
|
|||||||
security:
|
security:
|
||||||
enable_authenticator_manager: true
|
|
||||||
# https://symfony.com/doc/current/security.html#registering-the-user-hashing-passwords
|
# https://symfony.com/doc/current/security.html#registering-the-user-hashing-passwords
|
||||||
password_hashers:
|
password_hashers:
|
||||||
app_hasher:
|
app_hasher:
|
||||||
|
@@ -1,10 +1,11 @@
|
|||||||
twig:
|
twig:
|
||||||
globals:
|
globals:
|
||||||
locales: "%locales%"
|
locales: "%app.supported_locales%"
|
||||||
url_link: '%env(URL_LINK)%'
|
url_link: "%env(URL_LINK)%"
|
||||||
default_path: '%kernel.project_dir%/templates'
|
default_path: "%kernel.project_dir%/templates"
|
||||||
form_themes:
|
form_themes:
|
||||||
- 'bootstrap_5_layout.html.twig'
|
- "bootstrap_5_layout.html.twig"
|
||||||
|
- "altcha.html.twig"
|
||||||
when@test:
|
when@test:
|
||||||
twig:
|
twig:
|
||||||
strict_variables: true
|
strict_variables: true
|
||||||
|
@@ -2,53 +2,10 @@ webpack_encore:
|
|||||||
# The path where Encore is building the assets - i.e. Encore.setOutputPath()
|
# The path where Encore is building the assets - i.e. Encore.setOutputPath()
|
||||||
# If multiple builds are defined (as shown below), you can disable the default build:
|
# If multiple builds are defined (as shown below), you can disable the default build:
|
||||||
# output_path: false
|
# output_path: false
|
||||||
output_path: false
|
output_path: "%kernel.project_dir%/public/build"
|
||||||
builds:
|
|
||||||
appConfig: '%kernel.project_dir%/public/build/app'
|
|
||||||
themeConfig: '%kernel.project_dir%/public/build/theme'
|
|
||||||
# Set attributes that will be rendered on all script and link tags
|
# Set attributes that will be rendered on all script and link tags
|
||||||
script_attributes:
|
script_attributes:
|
||||||
defer: true
|
defer: true
|
||||||
# Uncomment (also under link_attributes) if using Turbo Drive
|
# Uncomment (also under link_attributes) if using Turbo Drive
|
||||||
# https://turbo.hotwired.dev/handbook/drive#reloading-when-assets-change
|
# https://turbo.hotwired.dev/handbook/drive#reloading-when-assets-change
|
||||||
# 'data-turbo-track': reload
|
# 'data-turbo-track': reload
|
||||||
# link_attributes:
|
|
||||||
# Uncomment if using Turbo Drive
|
|
||||||
# 'data-turbo-track': reload
|
|
||||||
|
|
||||||
# If using Encore.enableIntegrityHashes() and need the crossorigin attribute (default: false, or use 'anonymous' or 'use-credentials')
|
|
||||||
# crossorigin: 'anonymous'
|
|
||||||
|
|
||||||
# Preload all rendered script and link tags automatically via the HTTP/2 Link header
|
|
||||||
# preload: true
|
|
||||||
|
|
||||||
# Throw an exception if the entrypoints.json file is missing or an entry is missing from the data
|
|
||||||
# strict_mode: false
|
|
||||||
|
|
||||||
# If you have multiple builds:
|
|
||||||
# builds:
|
|
||||||
# frontend: '%kernel.project_dir%/public/frontend/build'
|
|
||||||
|
|
||||||
# pass the build name as the 3rd argument to the Twig functions
|
|
||||||
# {{ encore_entry_script_tags('entry1', null, 'frontend') }}
|
|
||||||
|
|
||||||
# Cache the entrypoints.json (rebuild Symfony's cache when entrypoints.json changes)
|
|
||||||
# Put in config/packages/prod/webpack_encore.yaml
|
|
||||||
# cache: true
|
|
||||||
|
|
||||||
framework:
|
|
||||||
assets:
|
|
||||||
packages:
|
|
||||||
app:
|
|
||||||
json_manifest_path: '%kernel.project_dir%/public/build/app/manifest.json'
|
|
||||||
theme:
|
|
||||||
json_manifest_path: '%kernel.project_dir%/public/build/theme/manifest.json'
|
|
||||||
#when@prod:
|
|
||||||
# webpack_encore:
|
|
||||||
# # Cache the entrypoints.json (rebuild Symfony's cache when entrypoints.json changes)
|
|
||||||
# # Available in version 1.2
|
|
||||||
# cache: true
|
|
||||||
|
|
||||||
#when@test:
|
|
||||||
# webpack_encore:
|
|
||||||
# strict_mode: false
|
|
||||||
|
@@ -4,6 +4,7 @@
|
|||||||
# Put parameters here that don't need to change on each machine where the app is deployed
|
# Put parameters here that don't need to change on each machine where the app is deployed
|
||||||
# https://symfony.com/doc/current/best_practices.html#use-parameters-for-application-configuration
|
# https://symfony.com/doc/current/best_practices.html#use-parameters-for-application-configuration
|
||||||
parameters:
|
parameters:
|
||||||
|
.container.dumper.inline_factories: true
|
||||||
# Données de connexion à la base de données distante
|
# Données de connexion à la base de données distante
|
||||||
database.dsn: "%env(resolve:DSN_REMOTE_DATABASE)%"
|
database.dsn: "%env(resolve:DSN_REMOTE_DATABASE)%"
|
||||||
database.user: "%env(resolve:DB_USER)%"
|
database.user: "%env(resolve:DB_USER)%"
|
||||||
@@ -75,3 +76,23 @@ services:
|
|||||||
$securityPattern: '%security_pattern%'
|
$securityPattern: '%security_pattern%'
|
||||||
# add more service definitions when explicit configuration is needed
|
# add more service definitions when explicit configuration is needed
|
||||||
# please note that last definitions always *replace* previous ones
|
# please note that last definitions always *replace* previous ones
|
||||||
|
|
||||||
|
App\Altcha\Form\AltchaType:
|
||||||
|
arguments:
|
||||||
|
$altchaHost: "%env(ALTCHA_HOST)%"
|
||||||
|
$altchaBaseUrl: "%env(ALTCHA_BASE_URL)%"
|
||||||
|
$altchaDebug: "%env(bool:ALTCHA_DEBUG)%"
|
||||||
|
$altchaWorkers: "%env(ALTCHA_WORKERS)%"
|
||||||
|
$altchaDelay: "%env(ALTCHA_DELAY)%"
|
||||||
|
$altchaMockError: "%env(bool:ALTCHA_MOCK_ERROR)%"
|
||||||
|
tags:
|
||||||
|
- { name: form.type, alias: altcha}
|
||||||
|
|
||||||
|
App\Form\LoginType:
|
||||||
|
arguments:
|
||||||
|
$altchaEnabled: "%env(bool:ALTCHA_ENABLED)%"
|
||||||
|
|
||||||
|
App\Altcha\AltchaValidator:
|
||||||
|
arguments:
|
||||||
|
$altchaHost: "%env(ALTCHA_HOST)%"
|
||||||
|
$altchaBaseUrl: "%env(ALTCHA_BASE_URL)%"
|
||||||
|
30
misc/compose/haproxy/haproxy.cfg
Normal file
30
misc/compose/haproxy/haproxy.cfg
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
|
||||||
|
defaults
|
||||||
|
mode http
|
||||||
|
timeout client 10s
|
||||||
|
timeout connect 5s
|
||||||
|
timeout server 10s
|
||||||
|
timeout http-request 10s
|
||||||
|
default-server init-addr last,libc,none
|
||||||
|
|
||||||
|
frontend sql-frontend
|
||||||
|
bind 0.0.0.0:10500
|
||||||
|
default_backend sql-backend
|
||||||
|
|
||||||
|
backend sql-backend
|
||||||
|
server sql hydra-sql:10500
|
||||||
|
|
||||||
|
frontend hydra-frontend
|
||||||
|
bind 0.0.0.0:10501
|
||||||
|
default_backend hydra-backend
|
||||||
|
|
||||||
|
backend hydra-backend
|
||||||
|
server hydra hydra:4444
|
||||||
|
|
||||||
|
|
||||||
|
frontend pgadmin-frontend
|
||||||
|
bind 0.0.0.0:10503
|
||||||
|
default_backend pgadmin-backend
|
||||||
|
|
||||||
|
backend pgadmin-backend
|
||||||
|
server pgadmin pgadmin:80
|
@@ -1,38 +0,0 @@
|
|||||||
<VirtualHost *:80>
|
|
||||||
# Uncomment the following line to force Apache to pass the Authorization
|
|
||||||
# header to PHP: required for "basic_auth" under PHP-FPM and FastCGI
|
|
||||||
#
|
|
||||||
# SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
|
|
||||||
|
|
||||||
# For Apache 2.4.9 or higher
|
|
||||||
# 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"
|
|
||||||
# for Unix sockets, Apache 2.4.10 or higher
|
|
||||||
# SetHandler proxy:unix:/path/to/fpm.sock|fcgi://dummy
|
|
||||||
</FilesMatch>
|
|
||||||
|
|
||||||
# If you use Apache version below 2.4.9 you must consider update or use this instead
|
|
||||||
# ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/project/public/$1
|
|
||||||
|
|
||||||
# If you run your Symfony application on a subpath of your document root, the
|
|
||||||
# regular expression must be changed accordingly:
|
|
||||||
# ProxyPassMatch ^/path-to-app/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/project/public/$1
|
|
||||||
|
|
||||||
DocumentRoot /var/www/public
|
|
||||||
<Directory /var/www/public>
|
|
||||||
# enable the .htaccess rewrites
|
|
||||||
AllowOverride All
|
|
||||||
Require all granted
|
|
||||||
</Directory>
|
|
||||||
|
|
||||||
# uncomment the following lines if you install assets as symlinks
|
|
||||||
# or run into problems when compiling LESS/Sass/CoffeeScript assets
|
|
||||||
# <Directory /var/www/project>
|
|
||||||
# Options FollowSymlinks
|
|
||||||
# </Directory>
|
|
||||||
|
|
||||||
ErrorLog /var/log/apache2/project_error.log
|
|
||||||
CustomLog /var/log/apache2/project_access.log combined
|
|
||||||
</VirtualHost>
|
|
@@ -1,119 +0,0 @@
|
|||||||
FROM ubuntu:22.04
|
|
||||||
|
|
||||||
ARG HTTP_PROXY=
|
|
||||||
ARG HTTPS_PROXY=
|
|
||||||
ARG http_proxy=
|
|
||||||
ARG https_proxy=
|
|
||||||
|
|
||||||
ENV WAITFORIT_VERSION="v2.4.1"
|
|
||||||
|
|
||||||
ARG PHP_VERSION="8.1"
|
|
||||||
ENV PHP_VERSION $PHP_VERSION
|
|
||||||
|
|
||||||
RUN export DEBIAN_FRONTEND=noninteractive && \
|
|
||||||
apt-get update -y && \
|
|
||||||
apt-get install -y software-properties-common && \
|
|
||||||
add-apt-repository ppa:ondrej/php && \
|
|
||||||
apt-get update -y && \
|
|
||||||
apt-get install -y --no-install-recommends \
|
|
||||||
git bash wget ca-certificates supervisor cron rsyslog mysql-client jq \
|
|
||||||
mutt tree vim python3-setuptools python3-pip make \
|
|
||||||
php${PHP_VERSION}-cli php${PHP_VERSION}-ldap php${PHP_VERSION}-soap \
|
|
||||||
php${PHP_VERSION}-intl php${PHP_VERSION}-curl php${PHP_VERSION}-gd \
|
|
||||||
php${PHP_VERSION}-xml php${PHP_VERSION}-bcmath \
|
|
||||||
php${PHP_VERSION}-zip php${PHP_VERSION}-fpm \
|
|
||||||
php${PHP_VERSION}-mbstring \
|
|
||||||
php${PHP_VERSION}-pgsql \
|
|
||||||
php${PHP_VERSION}-mysql \
|
|
||||||
php${PHP_VERSION}-pdo-pgsql \
|
|
||||||
php${PHP_VERSION}-pdo-mysql \
|
|
||||||
php${PHP_VERSION}-ssh2 libxml2-utils \
|
|
||||||
locales \
|
|
||||||
apache2 \
|
|
||||||
libapache2-mod-fcgid \
|
|
||||||
ssh-client \
|
|
||||||
acl moreutils \
|
|
||||||
sudo
|
|
||||||
|
|
||||||
# Set fr_FR locale
|
|
||||||
RUN sed -i -e 's/# fr_FR.UTF-8 UTF-8/fr_FR.UTF-8 UTF-8/' /etc/locale.gen && \
|
|
||||||
dpkg-reconfigure --frontend=noninteractive locales && \
|
|
||||||
update-locale LANG=fr_FR.UTF-8
|
|
||||||
ENV LC_ALL fr_FR.UTF-8
|
|
||||||
ENV LANG fr_FR.UTF-8
|
|
||||||
ENV LANGUAGE fr_FR.UTF-8
|
|
||||||
|
|
||||||
# Install NodeJS
|
|
||||||
RUN wget -O- https://deb.nodesource.com/setup_18.x | bash - \
|
|
||||||
&& apt-get install -y nodejs \
|
|
||||||
&& npm install nodemon -g
|
|
||||||
|
|
||||||
# Waitforit - Wait for all service is running before launch tests
|
|
||||||
RUN wget -q -O /usr/local/bin/waitforit https://github.com/maxcnunes/waitforit/releases/download/$WAITFORIT_VERSION/waitforit-linux_amd64 \
|
|
||||||
&& chmod +x /usr/local/bin/waitforit
|
|
||||||
|
|
||||||
# Install superfsmon to restart supervisor programs on file changes
|
|
||||||
RUN pip3 install wheel superfsmon
|
|
||||||
|
|
||||||
VOLUME /var/www
|
|
||||||
VOLUME /var/www/var/logs
|
|
||||||
VOLUME /var/www/var/cache
|
|
||||||
|
|
||||||
# Install composer
|
|
||||||
COPY install-composer.sh /var/www/install-composer.sh
|
|
||||||
RUN chmod +x /var/www/install-composer.sh &&\
|
|
||||||
/var/www/install-composer.sh &&\
|
|
||||||
rm -f /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 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
|
|
||||||
|
|
||||||
EXPOSE 5000
|
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
COPY docker-entrypoint.sh /docker-entrypoint.sh
|
|
||||||
RUN chmod +x /docker-entrypoint.sh
|
|
||||||
|
|
||||||
COPY first-run.sh /root/first-run.sh
|
|
||||||
RUN chmod +x /root/first-run.sh
|
|
||||||
|
|
||||||
# Disable rsyslog privileges drop to allow stdout logging
|
|
||||||
RUN sed -i 's/^\$\(PrivDropTo.*\)$/#\1/' /etc/rsyslog.conf
|
|
||||||
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
|
|
||||||
|
|
||||||
VOLUME /container-lifecycle
|
|
||||||
|
|
||||||
RUN wget -O- https://github.com/boxboat/fixuid/releases/download/v0.5.1/fixuid-0.5.1-linux-amd64.tar.gz | tar -C /usr/local/bin -xzf - \
|
|
||||||
&& chown root:root /usr/local/bin/fixuid \
|
|
||||||
&& chmod 4755 /usr/local/bin/fixuid \
|
|
||||||
&& mkdir -p /etc/fixuid
|
|
||||||
|
|
||||||
COPY fixuid.yml /etc/fixuid/config.yml
|
|
||||||
|
|
||||||
ENTRYPOINT ["/usr/local/bin/fixuid"]
|
|
||||||
|
|
||||||
RUN echo "www-data ALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers.d/www-data
|
|
||||||
|
|
||||||
USER www-data
|
|
||||||
|
|
||||||
CMD ["/docker-entrypoint.sh"]
|
|
@@ -1,34 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -eo pipefail
|
|
||||||
|
|
||||||
export COMPOSER_HOME=/tmp/composer
|
|
||||||
|
|
||||||
COMPOSER_AUTH="${COMPOSER_HOME}/auth.json"
|
|
||||||
|
|
||||||
function fix_composer_auth {
|
|
||||||
if [ ! -f "${COMPOSER_AUTH}" ]; then
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
|
|
||||||
GITHUB_TOKEN=$(cat "${COMPOSER_AUTH}" | jq -r '.["github-oauth"]["github.com"]')
|
|
||||||
|
|
||||||
if [ ! -z "${GITHUB_TOKEN}" ]; then
|
|
||||||
|
|
||||||
GITHUB_USERNAME=$(cat "${COMPOSER_AUTH}" | jq -r '.["http-basic"]["github.com"].username')
|
|
||||||
if [ -z "${GITHUB_USERNAME}" ]; then
|
|
||||||
echo -n "Identifiant Github ? "
|
|
||||||
read GITHUB_USERNAME
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat "${COMPOSER_AUTH}" | jq ".[\"http-basic\"][\"github.com\"] = {\"username\": \"${GITHUB_USERNAME}\", \"password\":\"${GITHUB_TOKEN}\"}" | sponge "${COMPOSER_AUTH}"
|
|
||||||
cat "${COMPOSER_AUTH}" | jq "del(.[\"github-oauth\"])" | sponge "${COMPOSER_AUTH}"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function main {
|
|
||||||
fix_composer_auth
|
|
||||||
php composer.phar ${@:1}
|
|
||||||
}
|
|
||||||
|
|
||||||
main $@
|
|
@@ -1,18 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -eo pipefail
|
|
||||||
|
|
||||||
if [ ! -e /container-lifecycle/first_run ]; then
|
|
||||||
echo "First hydra-sql run detected. Initializing environment..."
|
|
||||||
sudo -E /root/first-run.sh
|
|
||||||
sudo touch /container-lifecycle/first_run
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Récupération des clés SSH de l'hôte pour Composer
|
|
||||||
if [ -d '/root/.host-ssh' ] && [ $(id -u) -eq 0 ]; then
|
|
||||||
sudo rm -rf /root/.ssh
|
|
||||||
sudo cp -r /root/.host-ssh /root/.ssh
|
|
||||||
sudo chown -R root: /root/.ssh
|
|
||||||
fi
|
|
||||||
|
|
||||||
sudo -E /usr/bin/supervisord -c /etc/supervisor/supervisor.ini
|
|
@@ -1,17 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -xeo pipefail
|
|
||||||
|
|
||||||
[ ! -d /var/www/.config ] && sudo mkdir -p /var/www/.config
|
|
||||||
[ -d /var/www/.config ] && sudo chown -R www-data: /var/www/.config
|
|
||||||
|
|
||||||
[ ! -d /var/www/.cache ] && sudo mkdir -p /var/www/.cache
|
|
||||||
[ -d /var/www/.cache ] && sudo chown -R www-data: /var/www/.cache
|
|
||||||
|
|
||||||
sudo chown -R www-data: /var/www
|
|
||||||
|
|
||||||
cp /bin/composer.phar /var/www/composer.phar
|
|
||||||
cd /var/www
|
|
||||||
php composer.phar install
|
|
||||||
npm install
|
|
||||||
npm run build
|
|
@@ -1,6 +0,0 @@
|
|||||||
user: www-data
|
|
||||||
group: www-data
|
|
||||||
paths:
|
|
||||||
- /var/www/node_modules
|
|
||||||
- /var/www/vendor
|
|
||||||
- /var/www
|
|
@@ -1,19 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -eo pipefail
|
|
||||||
|
|
||||||
EXPECTED_SIGNATURE="$(wget -q -O- https://composer.github.io/installer.sig)"
|
|
||||||
wget -q -O composer-setup.php https://getcomposer.org/installer
|
|
||||||
ACTUAL_SIGNATURE="$(php -r "echo hash_file('SHA384', 'composer-setup.php');")"
|
|
||||||
|
|
||||||
if [ "$EXPECTED_SIGNATURE" != "$ACTUAL_SIGNATURE" ]
|
|
||||||
then
|
|
||||||
>&2 echo 'ERROR: Invalid installer signature'
|
|
||||||
rm composer-setup.php
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
php composer-setup.php --install-dir=bin
|
|
||||||
RESULT=$?
|
|
||||||
rm composer-setup.php
|
|
||||||
exit $RESULT
|
|
@@ -9,15 +9,15 @@
|
|||||||
; PHP attempts to find and load this configuration from a number of locations.
|
; PHP attempts to find and load this configuration from a number of locations.
|
||||||
; The following is a summary of its search order:
|
; The following is a summary of its search order:
|
||||||
; 1. SAPI module specific location.
|
; 1. SAPI module specific location.
|
||||||
; 2. The PHPRC environment variable. (As of PHP 5.2.0)
|
; 2. The PHPRC environment variable.
|
||||||
; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0)
|
; 3. A number of predefined registry keys on Windows
|
||||||
; 4. Current working directory (except CLI)
|
; 4. Current working directory (except CLI)
|
||||||
; 5. The web server's directory (for SAPI modules), or directory of PHP
|
; 5. The web server's directory (for SAPI modules), or directory of PHP
|
||||||
; (otherwise in Windows)
|
; (otherwise in Windows)
|
||||||
; 6. The directory from the --with-config-file-path compile time option, or the
|
; 6. The directory from the --with-config-file-path compile time option, or the
|
||||||
; Windows directory (usually C:\windows)
|
; Windows directory (usually C:\windows)
|
||||||
; See the PHP docs for more specific information.
|
; See the PHP docs for more specific information.
|
||||||
; http://php.net/configuration.file
|
; https://php.net/configuration.file
|
||||||
|
|
||||||
; The syntax of the file is extremely simple. Whitespace and lines
|
; The syntax of the file is extremely simple. Whitespace and lines
|
||||||
; beginning with a semicolon are silently ignored (as you probably guessed).
|
; beginning with a semicolon are silently ignored (as you probably guessed).
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
; special sections cannot be overridden by user-defined INI files or
|
; special sections cannot be overridden by user-defined INI files or
|
||||||
; at runtime. Currently, [PATH=] and [HOST=] sections only work under
|
; at runtime. Currently, [PATH=] and [HOST=] sections only work under
|
||||||
; CGI/FastCGI.
|
; CGI/FastCGI.
|
||||||
; http://php.net/ini.sections
|
; https://php.net/ini.sections
|
||||||
|
|
||||||
; Directives are specified using the following syntax:
|
; Directives are specified using the following syntax:
|
||||||
; directive = value
|
; directive = value
|
||||||
@@ -75,7 +75,7 @@
|
|||||||
|
|
||||||
; php.ini-production contains settings which hold security, performance and
|
; php.ini-production contains settings which hold security, performance and
|
||||||
; best practices at its core. But please be aware, these settings may break
|
; best practices at its core. But please be aware, these settings may break
|
||||||
; compatibility with older or less security conscience applications. We
|
; compatibility with older or less security-conscious applications. We
|
||||||
; recommending using the production ini in production and testing environments.
|
; recommending using the production ini in production and testing environments.
|
||||||
|
|
||||||
; php.ini-development is very similar to its production variant, except it is
|
; php.ini-development is very similar to its production variant, except it is
|
||||||
@@ -83,11 +83,12 @@
|
|||||||
; development version only in development environments, as errors shown to
|
; development version only in development environments, as errors shown to
|
||||||
; application users can inadvertently leak otherwise secure information.
|
; application users can inadvertently leak otherwise secure information.
|
||||||
|
|
||||||
; This is the php.ini-production INI file.
|
; This is the php.ini-development INI file.
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;
|
||||||
; Quick Reference ;
|
; Quick Reference ;
|
||||||
;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
; The following are all the settings which are different in either the production
|
; The following are all the settings which are different in either the production
|
||||||
; or development versions of the INIs with respect to PHP's default behavior.
|
; or development versions of the INIs with respect to PHP's default behavior.
|
||||||
; Please see the actual settings later in the document for more details as to why
|
; Please see the actual settings later in the document for more details as to why
|
||||||
@@ -99,19 +100,14 @@
|
|||||||
; Production Value: Off
|
; Production Value: Off
|
||||||
|
|
||||||
; display_startup_errors
|
; display_startup_errors
|
||||||
; Default Value: Off
|
; Default Value: On
|
||||||
; Development Value: On
|
; Development Value: On
|
||||||
; Production Value: Off
|
; Production Value: Off
|
||||||
|
|
||||||
; error_reporting
|
; error_reporting
|
||||||
; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
; Default Value: E_ALL
|
||||||
; Development Value: E_ALL
|
; Development Value: E_ALL
|
||||||
; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
|
; Production Value: E_ALL & ~E_DEPRECATED
|
||||||
|
|
||||||
; html_errors
|
|
||||||
; Default Value: On
|
|
||||||
; Development Value: On
|
|
||||||
; Production value: On
|
|
||||||
|
|
||||||
; log_errors
|
; log_errors
|
||||||
; Default Value: Off
|
; Default Value: Off
|
||||||
@@ -143,11 +139,6 @@
|
|||||||
; Development Value: 1000
|
; Development Value: 1000
|
||||||
; Production Value: 1000
|
; Production Value: 1000
|
||||||
|
|
||||||
; session.sid_bits_per_character
|
|
||||||
; Default Value: 4
|
|
||||||
; Development Value: 5
|
|
||||||
; Production Value: 5
|
|
||||||
|
|
||||||
; short_open_tag
|
; short_open_tag
|
||||||
; Default Value: On
|
; Default Value: On
|
||||||
; Development Value: Off
|
; Development Value: Off
|
||||||
@@ -158,6 +149,21 @@
|
|||||||
; Development Value: "GPCS"
|
; Development Value: "GPCS"
|
||||||
; Production Value: "GPCS"
|
; Production Value: "GPCS"
|
||||||
|
|
||||||
|
; zend.assertions
|
||||||
|
; Default Value: 1
|
||||||
|
; Development Value: 1
|
||||||
|
; Production Value: -1
|
||||||
|
|
||||||
|
; zend.exception_ignore_args
|
||||||
|
; Default Value: Off
|
||||||
|
; Development Value: Off
|
||||||
|
; Production Value: On
|
||||||
|
|
||||||
|
; zend.exception_string_param_max_len
|
||||||
|
; Default Value: 15
|
||||||
|
; Development Value: 15
|
||||||
|
; Production Value: 0
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;
|
||||||
; php.ini Options ;
|
; php.ini Options ;
|
||||||
;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;
|
||||||
@@ -175,7 +181,7 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
; Enable the PHP scripting language engine under Apache.
|
; Enable the PHP scripting language engine under Apache.
|
||||||
; http://php.net/engine
|
; https://php.net/engine
|
||||||
engine = On
|
engine = On
|
||||||
|
|
||||||
; This directive determines whether or not PHP will recognize code between
|
; This directive determines whether or not PHP will recognize code between
|
||||||
@@ -188,11 +194,11 @@ engine = On
|
|||||||
; Default Value: On
|
; Default Value: On
|
||||||
; Development Value: Off
|
; Development Value: Off
|
||||||
; Production Value: Off
|
; Production Value: Off
|
||||||
; http://php.net/short-open-tag
|
; https://php.net/short-open-tag
|
||||||
short_open_tag = Off
|
short_open_tag = Off
|
||||||
|
|
||||||
; The number of significant digits displayed in floating point numbers.
|
; The number of significant digits displayed in floating point numbers.
|
||||||
; http://php.net/precision
|
; https://php.net/precision
|
||||||
precision = 14
|
precision = 14
|
||||||
|
|
||||||
; Output buffering is a mechanism for controlling how much output data
|
; Output buffering is a mechanism for controlling how much output data
|
||||||
@@ -216,7 +222,7 @@ precision = 14
|
|||||||
; Default Value: Off
|
; Default Value: Off
|
||||||
; Development Value: 4096
|
; Development Value: 4096
|
||||||
; Production Value: 4096
|
; Production Value: 4096
|
||||||
; http://php.net/output-buffering
|
; https://php.net/output-buffering
|
||||||
output_buffering = 4096
|
output_buffering = 4096
|
||||||
|
|
||||||
; You can redirect all of the output of your scripts to a function. For
|
; You can redirect all of the output of your scripts to a function. For
|
||||||
@@ -231,7 +237,7 @@ output_buffering = 4096
|
|||||||
; and you cannot use both "ob_gzhandler" and "zlib.output_compression".
|
; and you cannot use both "ob_gzhandler" and "zlib.output_compression".
|
||||||
; Note: output_handler must be empty if this is set 'On' !!!!
|
; Note: output_handler must be empty if this is set 'On' !!!!
|
||||||
; Instead you must use zlib.output_handler.
|
; Instead you must use zlib.output_handler.
|
||||||
; http://php.net/output-handler
|
; https://php.net/output-handler
|
||||||
;output_handler =
|
;output_handler =
|
||||||
|
|
||||||
; URL rewriter function rewrites URL on the fly by using
|
; URL rewriter function rewrites URL on the fly by using
|
||||||
@@ -260,16 +266,16 @@ output_buffering = 4096
|
|||||||
; performance, enable output_buffering in addition.
|
; performance, enable output_buffering in addition.
|
||||||
; Note: You need to use zlib.output_handler instead of the standard
|
; Note: You need to use zlib.output_handler instead of the standard
|
||||||
; output_handler, or otherwise the output will be corrupted.
|
; output_handler, or otherwise the output will be corrupted.
|
||||||
; http://php.net/zlib.output-compression
|
; https://php.net/zlib.output-compression
|
||||||
zlib.output_compression = Off
|
zlib.output_compression = Off
|
||||||
|
|
||||||
; http://php.net/zlib.output-compression-level
|
; https://php.net/zlib.output-compression-level
|
||||||
;zlib.output_compression_level = -1
|
;zlib.output_compression_level = -1
|
||||||
|
|
||||||
; You cannot specify additional output handlers if zlib.output_compression
|
; You cannot specify additional output handlers if zlib.output_compression
|
||||||
; is activated here. This setting does the same as output_handler but in
|
; is activated here. This setting does the same as output_handler but in
|
||||||
; a different order.
|
; a different order.
|
||||||
; http://php.net/zlib.output-handler
|
; https://php.net/zlib.output-handler
|
||||||
;zlib.output_handler =
|
;zlib.output_handler =
|
||||||
|
|
||||||
; Implicit flush tells PHP to tell the output layer to flush itself
|
; Implicit flush tells PHP to tell the output layer to flush itself
|
||||||
@@ -277,7 +283,7 @@ zlib.output_compression = Off
|
|||||||
; PHP function flush() after each and every call to print() or echo() and each
|
; PHP function flush() after each and every call to print() or echo() and each
|
||||||
; and every HTML block. Turning this option on has serious performance
|
; and every HTML block. Turning this option on has serious performance
|
||||||
; implications and is generally recommended for debugging purposes only.
|
; implications and is generally recommended for debugging purposes only.
|
||||||
; http://php.net/implicit-flush
|
; https://php.net/implicit-flush
|
||||||
; Note: This directive is hardcoded to On for the CLI SAPI
|
; Note: This directive is hardcoded to On for the CLI SAPI
|
||||||
implicit_flush = Off
|
implicit_flush = Off
|
||||||
|
|
||||||
@@ -289,6 +295,13 @@ implicit_flush = Off
|
|||||||
; callback-function.
|
; callback-function.
|
||||||
unserialize_callback_func =
|
unserialize_callback_func =
|
||||||
|
|
||||||
|
; The unserialize_max_depth specifies the default depth limit for unserialized
|
||||||
|
; structures. Setting the depth limit too high may result in stack overflows
|
||||||
|
; during unserialization. The unserialize_max_depth ini setting can be
|
||||||
|
; overridden by the max_depth option on individual unserialize() calls.
|
||||||
|
; A value of 0 disables the depth limit.
|
||||||
|
;unserialize_max_depth = 4096
|
||||||
|
|
||||||
; When floats & doubles are serialized, store serialize_precision significant
|
; When floats & doubles are serialized, store serialize_precision significant
|
||||||
; digits after the floating point. The default value ensures that when floats
|
; digits after the floating point. The default value ensures that when floats
|
||||||
; are decoded with unserialize, the data will remain the same.
|
; are decoded with unserialize, the data will remain the same.
|
||||||
@@ -301,22 +314,22 @@ serialize_precision = -1
|
|||||||
; and below. This directive makes most sense if used in a per-directory
|
; and below. This directive makes most sense if used in a per-directory
|
||||||
; or per-virtualhost web server configuration file.
|
; or per-virtualhost web server configuration file.
|
||||||
; Note: disables the realpath cache
|
; Note: disables the realpath cache
|
||||||
; http://php.net/open-basedir
|
; https://php.net/open-basedir
|
||||||
;open_basedir =
|
;open_basedir =
|
||||||
|
|
||||||
; This directive allows you to disable certain functions for security reasons.
|
; This directive allows you to disable certain functions.
|
||||||
; It receives a comma-delimited list of function names.
|
; It receives a comma-delimited list of function names.
|
||||||
; http://php.net/disable-functions
|
; https://php.net/disable-functions
|
||||||
disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
|
disable_functions =
|
||||||
|
|
||||||
; This directive allows you to disable certain classes for security reasons.
|
; This directive allows you to disable certain classes.
|
||||||
; It receives a comma-delimited list of class names.
|
; It receives a comma-delimited list of class names.
|
||||||
; http://php.net/disable-classes
|
; https://php.net/disable-classes
|
||||||
disable_classes =
|
disable_classes =
|
||||||
|
|
||||||
; Colors for Syntax Highlighting mode. Anything that's acceptable in
|
; Colors for Syntax Highlighting mode. Anything that's acceptable in
|
||||||
; <span style="color: ???????"> would work.
|
; <span style="color: ???????"> would work.
|
||||||
; http://php.net/syntax-highlighting
|
; https://php.net/syntax-highlighting
|
||||||
;highlight.string = #DD0000
|
;highlight.string = #DD0000
|
||||||
;highlight.comment = #FF9900
|
;highlight.comment = #FF9900
|
||||||
;highlight.keyword = #007700
|
;highlight.keyword = #007700
|
||||||
@@ -327,38 +340,52 @@ disable_classes =
|
|||||||
; the request. Consider enabling it if executing long requests, which may end up
|
; the request. Consider enabling it if executing long requests, which may end up
|
||||||
; being interrupted by the user or a browser timing out. PHP's default behavior
|
; being interrupted by the user or a browser timing out. PHP's default behavior
|
||||||
; is to disable this feature.
|
; is to disable this feature.
|
||||||
; http://php.net/ignore-user-abort
|
; https://php.net/ignore-user-abort
|
||||||
;ignore_user_abort = On
|
;ignore_user_abort = On
|
||||||
|
|
||||||
; Determines the size of the realpath cache to be used by PHP. This value should
|
; Determines the size of the realpath cache to be used by PHP. This value should
|
||||||
; be increased on systems where PHP opens many files to reflect the quantity of
|
; be increased on systems where PHP opens many files to reflect the quantity of
|
||||||
; the file operations performed.
|
; the file operations performed.
|
||||||
; Note: if open_basedir is set, the cache is disabled
|
; Note: if open_basedir is set, the cache is disabled
|
||||||
; http://php.net/realpath-cache-size
|
; https://php.net/realpath-cache-size
|
||||||
;realpath_cache_size = 4096k
|
;realpath_cache_size = 4096k
|
||||||
|
|
||||||
; Duration of time, in seconds for which to cache realpath information for a given
|
; Duration of time, in seconds for which to cache realpath information for a given
|
||||||
; file or directory. For systems with rarely changing files, consider increasing this
|
; file or directory. For systems with rarely changing files, consider increasing this
|
||||||
; value.
|
; value.
|
||||||
; http://php.net/realpath-cache-ttl
|
; https://php.net/realpath-cache-ttl
|
||||||
;realpath_cache_ttl = 120
|
;realpath_cache_ttl = 120
|
||||||
|
|
||||||
; Enables or disables the circular reference collector.
|
; Enables or disables the circular reference collector.
|
||||||
; http://php.net/zend.enable-gc
|
; https://php.net/zend.enable-gc
|
||||||
zend.enable_gc = On
|
zend.enable_gc = On
|
||||||
|
|
||||||
; If enabled, scripts may be written in encodings that are incompatible with
|
; If enabled, scripts may be written in encodings that are incompatible with
|
||||||
; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such
|
; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such
|
||||||
; encodings. To use this feature, mbstring extension must be enabled.
|
; encodings. To use this feature, mbstring extension must be enabled.
|
||||||
; Default: Off
|
|
||||||
;zend.multibyte = Off
|
;zend.multibyte = Off
|
||||||
|
|
||||||
; Allows to set the default encoding for the scripts. This value will be used
|
; Allows to set the default encoding for the scripts. This value will be used
|
||||||
; unless "declare(encoding=...)" directive appears at the top of the script.
|
; unless "declare(encoding=...)" directive appears at the top of the script.
|
||||||
; Only affects if zend.multibyte is set.
|
; Only affects if zend.multibyte is set.
|
||||||
; Default: ""
|
|
||||||
;zend.script_encoding =
|
;zend.script_encoding =
|
||||||
|
|
||||||
|
; Allows to include or exclude arguments from stack traces generated for exceptions.
|
||||||
|
; In production, it is recommended to turn this setting on to prohibit the output
|
||||||
|
; of sensitive information in stack traces
|
||||||
|
; Default Value: Off
|
||||||
|
; Development Value: Off
|
||||||
|
; Production Value: On
|
||||||
|
zend.exception_ignore_args = Off
|
||||||
|
|
||||||
|
; Allows setting the maximum string length in an argument of a stringified stack trace
|
||||||
|
; to a value between 0 and 1000000.
|
||||||
|
; This has no effect when zend.exception_ignore_args is enabled.
|
||||||
|
; Default Value: 15
|
||||||
|
; Development Value: 15
|
||||||
|
; Production Value: 0
|
||||||
|
zend.exception_string_param_max_len = 15
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;
|
||||||
; Miscellaneous ;
|
; Miscellaneous ;
|
||||||
;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;
|
||||||
@@ -367,15 +394,15 @@ zend.enable_gc = On
|
|||||||
; (e.g. by adding its signature to the Web server header). It is no security
|
; (e.g. by adding its signature to the Web server header). It is no security
|
||||||
; threat in any way, but it makes it possible to determine whether you use PHP
|
; threat in any way, but it makes it possible to determine whether you use PHP
|
||||||
; on your server or not.
|
; on your server or not.
|
||||||
; http://php.net/expose-php
|
; https://php.net/expose-php
|
||||||
expose_php = Off
|
expose_php = On
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;
|
||||||
; Resource Limits ;
|
; Resource Limits ;
|
||||||
;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
; Maximum execution time of each script, in seconds
|
; Maximum execution time of each script, in seconds
|
||||||
; http://php.net/max-execution-time
|
; https://php.net/max-execution-time
|
||||||
; Note: This directive is hardcoded to 0 for the CLI SAPI
|
; Note: This directive is hardcoded to 0 for the CLI SAPI
|
||||||
max_execution_time = 30
|
max_execution_time = 30
|
||||||
|
|
||||||
@@ -386,18 +413,23 @@ max_execution_time = 30
|
|||||||
; Default Value: -1 (Unlimited)
|
; Default Value: -1 (Unlimited)
|
||||||
; Development Value: 60 (60 seconds)
|
; Development Value: 60 (60 seconds)
|
||||||
; Production Value: 60 (60 seconds)
|
; Production Value: 60 (60 seconds)
|
||||||
; http://php.net/max-input-time
|
; https://php.net/max-input-time
|
||||||
max_input_time = 60
|
max_input_time = 60
|
||||||
|
|
||||||
; Maximum input variable nesting level
|
; Maximum input variable nesting level
|
||||||
; http://php.net/max-input-nesting-level
|
; https://php.net/max-input-nesting-level
|
||||||
;max_input_nesting_level = 64
|
;max_input_nesting_level = 64
|
||||||
|
|
||||||
; How many GET/POST/COOKIE input variables may be accepted
|
; How many GET/POST/COOKIE input variables may be accepted
|
||||||
;max_input_vars = 1000
|
;max_input_vars = 1000
|
||||||
|
|
||||||
; Maximum amount of memory a script may consume (128MB)
|
; How many multipart body parts (combined input variable and file uploads) may
|
||||||
; http://php.net/memory-limit
|
; be accepted.
|
||||||
|
; Default Value: -1 (Sum of max_input_vars and max_file_uploads)
|
||||||
|
;max_multipart_body_parts = 1500
|
||||||
|
|
||||||
|
; Maximum amount of memory a script may consume
|
||||||
|
; https://php.net/memory-limit
|
||||||
memory_limit = 128M
|
memory_limit = 128M
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@@ -410,7 +442,7 @@ memory_limit = 128M
|
|||||||
; operators. The error level constants are below here for convenience as well as
|
; operators. The error level constants are below here for convenience as well as
|
||||||
; some common settings and their meanings.
|
; some common settings and their meanings.
|
||||||
; By default, PHP is set to take action on all errors, notices and warnings EXCEPT
|
; By default, PHP is set to take action on all errors, notices and warnings EXCEPT
|
||||||
; those related to E_NOTICE and E_STRICT, which together cover best practices and
|
; those related to E_NOTICE, which together cover best practices and
|
||||||
; recommended coding standards in PHP. For performance reasons, this is the
|
; recommended coding standards in PHP. For performance reasons, this is the
|
||||||
; recommend error reporting setting. Your production server shouldn't be wasting
|
; recommend error reporting setting. Your production server shouldn't be wasting
|
||||||
; resources complaining about best practices and coding standards. That's what
|
; resources complaining about best practices and coding standards. That's what
|
||||||
@@ -420,7 +452,7 @@ memory_limit = 128M
|
|||||||
; development and early testing.
|
; development and early testing.
|
||||||
;
|
;
|
||||||
; Error Level Constants:
|
; Error Level Constants:
|
||||||
; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0)
|
; E_ALL - All errors and warnings
|
||||||
; E_ERROR - fatal run-time errors
|
; E_ERROR - fatal run-time errors
|
||||||
; E_RECOVERABLE_ERROR - almost fatal run-time errors
|
; E_RECOVERABLE_ERROR - almost fatal run-time errors
|
||||||
; E_WARNING - run-time warnings (non-fatal errors)
|
; E_WARNING - run-time warnings (non-fatal errors)
|
||||||
@@ -430,9 +462,6 @@ memory_limit = 128M
|
|||||||
; intentional (e.g., using an uninitialized variable and
|
; intentional (e.g., using an uninitialized variable and
|
||||||
; relying on the fact it is automatically initialized to an
|
; relying on the fact it is automatically initialized to an
|
||||||
; empty string)
|
; empty string)
|
||||||
; E_STRICT - run-time notices, enable to have PHP suggest changes
|
|
||||||
; to your code which will ensure the best interoperability
|
|
||||||
; and forward compatibility of your code
|
|
||||||
; E_CORE_ERROR - fatal errors that occur during PHP's initial startup
|
; E_CORE_ERROR - fatal errors that occur during PHP's initial startup
|
||||||
; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's
|
; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's
|
||||||
; initial startup
|
; initial startup
|
||||||
@@ -448,13 +477,12 @@ memory_limit = 128M
|
|||||||
; Common Values:
|
; Common Values:
|
||||||
; E_ALL (Show all errors, warnings and notices including coding standards.)
|
; E_ALL (Show all errors, warnings and notices including coding standards.)
|
||||||
; E_ALL & ~E_NOTICE (Show all errors, except for notices)
|
; E_ALL & ~E_NOTICE (Show all errors, except for notices)
|
||||||
; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.)
|
|
||||||
; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors)
|
; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors)
|
||||||
; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
; Default Value: E_ALL
|
||||||
; Development Value: E_ALL
|
; Development Value: E_ALL
|
||||||
; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
|
; Production Value: E_ALL & ~E_DEPRECATED
|
||||||
; http://php.net/error-reporting
|
; https://php.net/error-reporting
|
||||||
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
|
error_reporting = E_ALL
|
||||||
|
|
||||||
; This directive controls whether or not and where PHP will output errors,
|
; This directive controls whether or not and where PHP will output errors,
|
||||||
; notices and warnings too. Error output is very useful during development, but
|
; notices and warnings too. Error output is very useful during development, but
|
||||||
@@ -470,19 +498,17 @@ error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
|
|||||||
; Default Value: On
|
; Default Value: On
|
||||||
; Development Value: On
|
; Development Value: On
|
||||||
; Production Value: Off
|
; Production Value: Off
|
||||||
; http://php.net/display-errors
|
; https://php.net/display-errors
|
||||||
display_errors = Off
|
display_errors = On
|
||||||
|
|
||||||
; The display of errors which occur during PHP's startup sequence are handled
|
; The display of errors which occur during PHP's startup sequence are handled
|
||||||
; separately from display_errors. PHP's default behavior is to suppress those
|
; separately from display_errors. We strongly recommend you set this to 'off'
|
||||||
; errors from clients. Turning the display of startup errors on can be useful in
|
; for production servers to avoid leaking configuration details.
|
||||||
; debugging configuration problems. We strongly recommend you
|
; Default Value: On
|
||||||
; set this to 'off' for production servers.
|
|
||||||
; Default Value: Off
|
|
||||||
; Development Value: On
|
; Development Value: On
|
||||||
; Production Value: Off
|
; Production Value: Off
|
||||||
; http://php.net/display-startup-errors
|
; https://php.net/display-startup-errors
|
||||||
display_startup_errors = Off
|
display_startup_errors = On
|
||||||
|
|
||||||
; Besides displaying errors, PHP can also log errors to locations such as a
|
; Besides displaying errors, PHP can also log errors to locations such as a
|
||||||
; server-specific log, STDERR, or a location specified by the error_log
|
; server-specific log, STDERR, or a location specified by the error_log
|
||||||
@@ -491,46 +517,31 @@ display_startup_errors = Off
|
|||||||
; Default Value: Off
|
; Default Value: Off
|
||||||
; Development Value: On
|
; Development Value: On
|
||||||
; Production Value: On
|
; Production Value: On
|
||||||
; http://php.net/log-errors
|
; https://php.net/log-errors
|
||||||
log_errors = On
|
log_errors = On
|
||||||
|
|
||||||
; Set maximum length of log_errors. In error_log information about the source is
|
|
||||||
; added. The default is 1024 and 0 allows to not apply any maximum length at all.
|
|
||||||
; http://php.net/log-errors-max-len
|
|
||||||
log_errors_max_len = 1024
|
|
||||||
|
|
||||||
; Do not log repeated messages. Repeated errors must occur in same file on same
|
; Do not log repeated messages. Repeated errors must occur in same file on same
|
||||||
; line unless ignore_repeated_source is set true.
|
; line unless ignore_repeated_source is set true.
|
||||||
; http://php.net/ignore-repeated-errors
|
; https://php.net/ignore-repeated-errors
|
||||||
ignore_repeated_errors = Off
|
ignore_repeated_errors = Off
|
||||||
|
|
||||||
; Ignore source of message when ignoring repeated messages. When this setting
|
; Ignore source of message when ignoring repeated messages. When this setting
|
||||||
; is On you will not log errors with repeated messages from different files or
|
; is On you will not log errors with repeated messages from different files or
|
||||||
; source lines.
|
; source lines.
|
||||||
; http://php.net/ignore-repeated-source
|
; https://php.net/ignore-repeated-source
|
||||||
ignore_repeated_source = Off
|
ignore_repeated_source = Off
|
||||||
|
|
||||||
; If this parameter is set to Off, then memory leaks will not be shown (on
|
; If this parameter is set to Off, then memory leaks will not be shown (on
|
||||||
; stdout or in the log). This has only effect in a debug compile, and if
|
; stdout or in the log). This is only effective in a debug compile, and if
|
||||||
; error reporting includes E_WARNING in the allowed list
|
; error reporting includes E_WARNING in the allowed list
|
||||||
; http://php.net/report-memleaks
|
; https://php.net/report-memleaks
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
|
|
||||||
; This setting is on by default.
|
; This setting is off by default.
|
||||||
;report_zend_debug = 0
|
;report_zend_debug = 0
|
||||||
|
|
||||||
; Store the last error/warning message in $php_errormsg (boolean). Setting this value
|
|
||||||
; to On can assist in debugging and is appropriate for development servers. It should
|
|
||||||
; however be disabled on production servers.
|
|
||||||
; This directive is DEPRECATED.
|
|
||||||
; Default Value: Off
|
|
||||||
; Development Value: Off
|
|
||||||
; Production Value: Off
|
|
||||||
; http://php.net/track-errors
|
|
||||||
;track_errors = Off
|
|
||||||
|
|
||||||
; Turn off normal error reporting and emit XML-RPC error XML
|
; Turn off normal error reporting and emit XML-RPC error XML
|
||||||
; http://php.net/xmlrpc-errors
|
; https://php.net/xmlrpc-errors
|
||||||
;xmlrpc_errors = 0
|
;xmlrpc_errors = 0
|
||||||
|
|
||||||
; An XML-RPC faultCode
|
; An XML-RPC faultCode
|
||||||
@@ -540,43 +551,40 @@ report_memleaks = On
|
|||||||
; error message as HTML for easier reading. This directive controls whether
|
; error message as HTML for easier reading. This directive controls whether
|
||||||
; the error message is formatted as HTML or not.
|
; the error message is formatted as HTML or not.
|
||||||
; Note: This directive is hardcoded to Off for the CLI SAPI
|
; Note: This directive is hardcoded to Off for the CLI SAPI
|
||||||
; Default Value: On
|
; https://php.net/html-errors
|
||||||
; Development Value: On
|
;html_errors = On
|
||||||
; Production value: On
|
|
||||||
; http://php.net/html-errors
|
|
||||||
html_errors = On
|
|
||||||
|
|
||||||
; If html_errors is set to On *and* docref_root is not empty, then PHP
|
; If html_errors is set to On *and* docref_root is not empty, then PHP
|
||||||
; produces clickable error messages that direct to a page describing the error
|
; produces clickable error messages that direct to a page describing the error
|
||||||
; or function causing the error in detail.
|
; or function causing the error in detail.
|
||||||
; You can download a copy of the PHP manual from http://php.net/docs
|
; You can download a copy of the PHP manual from https://php.net/docs
|
||||||
; and change docref_root to the base URL of your local copy including the
|
; and change docref_root to the base URL of your local copy including the
|
||||||
; leading '/'. You must also specify the file extension being used including
|
; leading '/'. You must also specify the file extension being used including
|
||||||
; the dot. PHP's default behavior is to leave these settings empty, in which
|
; the dot. PHP's default behavior is to leave these settings empty, in which
|
||||||
; case no links to documentation are generated.
|
; case no links to documentation are generated.
|
||||||
; Note: Never use this feature for production boxes.
|
; Note: Never use this feature for production boxes.
|
||||||
; http://php.net/docref-root
|
; https://php.net/docref-root
|
||||||
; Examples
|
; Examples
|
||||||
;docref_root = "/phpmanual/"
|
;docref_root = "/phpmanual/"
|
||||||
|
|
||||||
; http://php.net/docref-ext
|
; https://php.net/docref-ext
|
||||||
;docref_ext = .html
|
;docref_ext = .html
|
||||||
|
|
||||||
; String to output before an error message. PHP's default behavior is to leave
|
; String to output before an error message. PHP's default behavior is to leave
|
||||||
; this setting blank.
|
; this setting blank.
|
||||||
; http://php.net/error-prepend-string
|
; https://php.net/error-prepend-string
|
||||||
; Example:
|
; Example:
|
||||||
;error_prepend_string = "<span style='color: #ff0000'>"
|
;error_prepend_string = "<span style='color: #ff0000'>"
|
||||||
|
|
||||||
; String to output after an error message. PHP's default behavior is to leave
|
; String to output after an error message. PHP's default behavior is to leave
|
||||||
; this setting blank.
|
; this setting blank.
|
||||||
; http://php.net/error-append-string
|
; https://php.net/error-append-string
|
||||||
; Example:
|
; Example:
|
||||||
;error_append_string = "</span>"
|
;error_append_string = "</span>"
|
||||||
|
|
||||||
; Log errors to specified file. PHP's default behavior is to leave this value
|
; Log errors to specified file. PHP's default behavior is to leave this value
|
||||||
; empty.
|
; empty.
|
||||||
; http://php.net/error-log
|
; https://php.net/error-log
|
||||||
; Example:
|
; Example:
|
||||||
;error_log = php_errors.log
|
;error_log = php_errors.log
|
||||||
; Log errors to syslog (Event Log on Windows).
|
; Log errors to syslog (Event Log on Windows).
|
||||||
@@ -599,7 +607,7 @@ html_errors = On
|
|||||||
; no-ctrl (all characters except control characters)
|
; no-ctrl (all characters except control characters)
|
||||||
; all (all characters)
|
; all (all characters)
|
||||||
; raw (like "all", but messages are not split at newlines)
|
; raw (like "all", but messages are not split at newlines)
|
||||||
; http://php.net/syslog.filter
|
; https://php.net/syslog.filter
|
||||||
;syslog.filter = ascii
|
;syslog.filter = ascii
|
||||||
|
|
||||||
;windows.show_crt_warning
|
;windows.show_crt_warning
|
||||||
@@ -613,14 +621,14 @@ html_errors = On
|
|||||||
|
|
||||||
; The separator used in PHP generated URLs to separate arguments.
|
; The separator used in PHP generated URLs to separate arguments.
|
||||||
; PHP's default setting is "&".
|
; PHP's default setting is "&".
|
||||||
; http://php.net/arg-separator.output
|
; https://php.net/arg-separator.output
|
||||||
; Example:
|
; Example:
|
||||||
;arg_separator.output = "&"
|
;arg_separator.output = "&"
|
||||||
|
|
||||||
; List of separator(s) used by PHP to parse input URLs into variables.
|
; List of separator(s) used by PHP to parse input URLs into variables.
|
||||||
; PHP's default setting is "&".
|
; PHP's default setting is "&".
|
||||||
; NOTE: Every character in this directive is considered as separator!
|
; NOTE: Every character in this directive is considered as separator!
|
||||||
; http://php.net/arg-separator.input
|
; https://php.net/arg-separator.input
|
||||||
; Example:
|
; Example:
|
||||||
;arg_separator.input = ";&"
|
;arg_separator.input = ";&"
|
||||||
|
|
||||||
@@ -634,7 +642,7 @@ html_errors = On
|
|||||||
; Default Value: "EGPCS"
|
; Default Value: "EGPCS"
|
||||||
; Development Value: "GPCS"
|
; Development Value: "GPCS"
|
||||||
; Production Value: "GPCS";
|
; Production Value: "GPCS";
|
||||||
; http://php.net/variables-order
|
; https://php.net/variables-order
|
||||||
variables_order = "GPCS"
|
variables_order = "GPCS"
|
||||||
|
|
||||||
; This directive determines which super global data (G,P & C) should be
|
; This directive determines which super global data (G,P & C) should be
|
||||||
@@ -647,7 +655,7 @@ variables_order = "GPCS"
|
|||||||
; Default Value: None
|
; Default Value: None
|
||||||
; Development Value: "GP"
|
; Development Value: "GP"
|
||||||
; Production Value: "GP"
|
; Production Value: "GP"
|
||||||
; http://php.net/request-order
|
; https://php.net/request-order
|
||||||
request_order = "GP"
|
request_order = "GP"
|
||||||
|
|
||||||
; This directive determines whether PHP registers $argv & $argc each time it
|
; This directive determines whether PHP registers $argv & $argc each time it
|
||||||
@@ -662,15 +670,15 @@ request_order = "GP"
|
|||||||
; Default Value: On
|
; Default Value: On
|
||||||
; Development Value: Off
|
; Development Value: Off
|
||||||
; Production Value: Off
|
; Production Value: Off
|
||||||
; http://php.net/register-argc-argv
|
; https://php.net/register-argc-argv
|
||||||
register_argc_argv = Off
|
register_argc_argv = Off
|
||||||
|
|
||||||
; When enabled, the ENV, REQUEST and SERVER variables are created when they're
|
; When enabled, the ENV, REQUEST and SERVER variables are created when they're
|
||||||
; first used (Just In Time) instead of when the script starts. If these
|
; first used (Just In Time) instead of when the script starts. If these
|
||||||
; variables are not used within a script, having this directive on will result
|
; variables are not used within a script, having this directive on will result
|
||||||
; in a performance gain. The PHP directive register_argc_argv must be disabled
|
; in a performance gain. The PHP directive register_argc_argv must be disabled
|
||||||
; for this directive to have any affect.
|
; for this directive to have any effect.
|
||||||
; http://php.net/auto-globals-jit
|
; https://php.net/auto-globals-jit
|
||||||
auto_globals_jit = On
|
auto_globals_jit = On
|
||||||
|
|
||||||
; Whether PHP will read the POST data.
|
; Whether PHP will read the POST data.
|
||||||
@@ -679,48 +687,48 @@ auto_globals_jit = On
|
|||||||
; and $_FILES to always be empty; the only way you will be able to read the
|
; and $_FILES to always be empty; the only way you will be able to read the
|
||||||
; POST data will be through the php://input stream wrapper. This can be useful
|
; POST data will be through the php://input stream wrapper. This can be useful
|
||||||
; to proxy requests or to process the POST data in a memory efficient fashion.
|
; to proxy requests or to process the POST data in a memory efficient fashion.
|
||||||
; http://php.net/enable-post-data-reading
|
; https://php.net/enable-post-data-reading
|
||||||
;enable_post_data_reading = Off
|
;enable_post_data_reading = Off
|
||||||
|
|
||||||
; Maximum size of POST data that PHP will accept.
|
; Maximum size of POST data that PHP will accept.
|
||||||
; Its value may be 0 to disable the limit. It is ignored if POST data reading
|
; Its value may be 0 to disable the limit. It is ignored if POST data reading
|
||||||
; is disabled through enable_post_data_reading.
|
; is disabled through enable_post_data_reading.
|
||||||
; http://php.net/post-max-size
|
; https://php.net/post-max-size
|
||||||
post_max_size = 80M
|
post_max_size = 8M
|
||||||
|
|
||||||
; Automatically add files before PHP document.
|
; Automatically add files before PHP document.
|
||||||
; http://php.net/auto-prepend-file
|
; https://php.net/auto-prepend-file
|
||||||
auto_prepend_file =
|
auto_prepend_file =
|
||||||
|
|
||||||
; Automatically add files after PHP document.
|
; Automatically add files after PHP document.
|
||||||
; http://php.net/auto-append-file
|
; https://php.net/auto-append-file
|
||||||
auto_append_file =
|
auto_append_file =
|
||||||
|
|
||||||
; By default, PHP will output a media type using the Content-Type header. To
|
; By default, PHP will output a media type using the Content-Type header. To
|
||||||
; disable this, simply set it to be empty.
|
; disable this, simply set it to be empty.
|
||||||
;
|
;
|
||||||
; PHP's built-in default media type is set to text/html.
|
; PHP's built-in default media type is set to text/html.
|
||||||
; http://php.net/default-mimetype
|
; https://php.net/default-mimetype
|
||||||
default_mimetype = "text/html"
|
default_mimetype = "text/html"
|
||||||
|
|
||||||
; PHP's default character set is set to UTF-8.
|
; PHP's default character set is set to UTF-8.
|
||||||
; http://php.net/default-charset
|
; https://php.net/default-charset
|
||||||
default_charset = "UTF-8"
|
default_charset = "UTF-8"
|
||||||
|
|
||||||
; PHP internal character encoding is set to empty.
|
; PHP internal character encoding is set to empty.
|
||||||
; If empty, default_charset is used.
|
; If empty, default_charset is used.
|
||||||
; http://php.net/internal-encoding
|
; https://php.net/internal-encoding
|
||||||
;internal_encoding =
|
;internal_encoding =
|
||||||
|
|
||||||
; PHP input character encoding is set to empty.
|
; PHP input character encoding is set to empty.
|
||||||
; If empty, default_charset is used.
|
; If empty, default_charset is used.
|
||||||
; http://php.net/input-encoding
|
; https://php.net/input-encoding
|
||||||
;input_encoding =
|
;input_encoding =
|
||||||
|
|
||||||
; PHP output character encoding is set to empty.
|
; PHP output character encoding is set to empty.
|
||||||
; If empty, default_charset is used.
|
; If empty, default_charset is used.
|
||||||
; See also output_buffer.
|
; See also output_buffer.
|
||||||
; http://php.net/output-encoding
|
; https://php.net/output-encoding
|
||||||
;output_encoding =
|
;output_encoding =
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@@ -728,29 +736,29 @@ default_charset = "UTF-8"
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
; UNIX: "/path1:/path2"
|
; UNIX: "/path1:/path2"
|
||||||
;include_path = ".:/usr/share/php"
|
;include_path = ".:/php/includes"
|
||||||
;
|
;
|
||||||
; Windows: "\path1;\path2"
|
; Windows: "\path1;\path2"
|
||||||
;include_path = ".;c:\php\includes"
|
;include_path = ".;c:\php\includes"
|
||||||
;
|
;
|
||||||
; PHP's default setting for include_path is ".;/path/to/php/pear"
|
; PHP's default setting for include_path is ".;/path/to/php/pear"
|
||||||
; http://php.net/include-path
|
; https://php.net/include-path
|
||||||
|
|
||||||
; The root of the PHP pages, used only if nonempty.
|
; The root of the PHP pages, used only if nonempty.
|
||||||
; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root
|
; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root
|
||||||
; if you are running php as a CGI under any web server (other than IIS)
|
; if you are running php as a CGI under any web server (other than IIS)
|
||||||
; see documentation for security issues. The alternate is to use the
|
; see documentation for security issues. The alternate is to use the
|
||||||
; cgi.force_redirect configuration below
|
; cgi.force_redirect configuration below
|
||||||
; http://php.net/doc-root
|
; https://php.net/doc-root
|
||||||
doc_root =
|
doc_root =
|
||||||
|
|
||||||
; The directory under which PHP opens the script using /~username used only
|
; The directory under which PHP opens the script using /~username used only
|
||||||
; if nonempty.
|
; if nonempty.
|
||||||
; http://php.net/user-dir
|
; https://php.net/user-dir
|
||||||
user_dir =
|
user_dir =
|
||||||
|
|
||||||
; Directory in which the loadable extensions (modules) reside.
|
; Directory in which the loadable extensions (modules) reside.
|
||||||
; http://php.net/extension-dir
|
; https://php.net/extension-dir
|
||||||
;extension_dir = "./"
|
;extension_dir = "./"
|
||||||
; On windows:
|
; On windows:
|
||||||
;extension_dir = "ext"
|
;extension_dir = "ext"
|
||||||
@@ -762,14 +770,14 @@ user_dir =
|
|||||||
; Whether or not to enable the dl() function. The dl() function does NOT work
|
; Whether or not to enable the dl() function. The dl() function does NOT work
|
||||||
; properly in multithreaded servers, such as IIS or Zeus, and is automatically
|
; properly in multithreaded servers, such as IIS or Zeus, and is automatically
|
||||||
; disabled on them.
|
; disabled on them.
|
||||||
; http://php.net/enable-dl
|
; https://php.net/enable-dl
|
||||||
enable_dl = Off
|
enable_dl = Off
|
||||||
|
|
||||||
; cgi.force_redirect is necessary to provide security running PHP as a CGI under
|
; cgi.force_redirect is necessary to provide security running PHP as a CGI under
|
||||||
; most web servers. Left undefined, PHP turns this on by default. You can
|
; most web servers. Left undefined, PHP turns this on by default. You can
|
||||||
; turn it off here AT YOUR OWN RISK
|
; turn it off here AT YOUR OWN RISK
|
||||||
; **You CAN safely turn this off for IIS, in fact, you MUST.**
|
; **You CAN safely turn this off for IIS, in fact, you MUST.**
|
||||||
; http://php.net/cgi.force-redirect
|
; https://php.net/cgi.force-redirect
|
||||||
;cgi.force_redirect = 1
|
;cgi.force_redirect = 1
|
||||||
|
|
||||||
; if cgi.nph is enabled it will force cgi to always sent Status: 200 with
|
; if cgi.nph is enabled it will force cgi to always sent Status: 200 with
|
||||||
@@ -780,7 +788,7 @@ enable_dl = Off
|
|||||||
; (iPlanet) web servers, you MAY need to set an environment variable name that PHP
|
; (iPlanet) web servers, you MAY need to set an environment variable name that PHP
|
||||||
; will look for to know it is OK to continue execution. Setting this variable MAY
|
; will look for to know it is OK to continue execution. Setting this variable MAY
|
||||||
; cause security issues, KNOW WHAT YOU ARE DOING FIRST.
|
; cause security issues, KNOW WHAT YOU ARE DOING FIRST.
|
||||||
; http://php.net/cgi.redirect-status-env
|
; https://php.net/cgi.redirect-status-env
|
||||||
;cgi.redirect_status_env =
|
;cgi.redirect_status_env =
|
||||||
|
|
||||||
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's
|
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's
|
||||||
@@ -789,7 +797,7 @@ enable_dl = Off
|
|||||||
; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting
|
; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting
|
||||||
; of zero causes PHP to behave as before. Default is 1. You should fix your scripts
|
; of zero causes PHP to behave as before. Default is 1. You should fix your scripts
|
||||||
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
|
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
|
||||||
; http://php.net/cgi.fix-pathinfo
|
; https://php.net/cgi.fix-pathinfo
|
||||||
;cgi.fix_pathinfo=1
|
;cgi.fix_pathinfo=1
|
||||||
|
|
||||||
; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside
|
; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside
|
||||||
@@ -801,7 +809,7 @@ enable_dl = Off
|
|||||||
; security context that the request runs under. mod_fastcgi under Apache
|
; security context that the request runs under. mod_fastcgi under Apache
|
||||||
; does not currently support this feature (03/17/2002)
|
; does not currently support this feature (03/17/2002)
|
||||||
; Set to 1 if running under IIS. Default is zero.
|
; Set to 1 if running under IIS. Default is zero.
|
||||||
; http://php.net/fastcgi.impersonate
|
; https://php.net/fastcgi.impersonate
|
||||||
;fastcgi.impersonate = 1
|
;fastcgi.impersonate = 1
|
||||||
|
|
||||||
; Disable logging through FastCGI connection. PHP's default behavior is to enable
|
; Disable logging through FastCGI connection. PHP's default behavior is to enable
|
||||||
@@ -813,14 +821,14 @@ enable_dl = Off
|
|||||||
; is supported by Apache. When this option is set to 1, PHP will send
|
; is supported by Apache. When this option is set to 1, PHP will send
|
||||||
; RFC2616 compliant header.
|
; RFC2616 compliant header.
|
||||||
; Default is zero.
|
; Default is zero.
|
||||||
; http://php.net/cgi.rfc2616-headers
|
; https://php.net/cgi.rfc2616-headers
|
||||||
;cgi.rfc2616_headers = 0
|
;cgi.rfc2616_headers = 0
|
||||||
|
|
||||||
; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #!
|
; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #!
|
||||||
; (shebang) at the top of the running script. This line might be needed if the
|
; (shebang) at the top of the running script. This line might be needed if the
|
||||||
; script support running both as stand-alone script and via PHP CGI<. PHP in CGI
|
; script support running both as stand-alone script and via PHP CGI<. PHP in CGI
|
||||||
; mode skips this line and ignores its content if this directive is turned on.
|
; mode skips this line and ignores its content if this directive is turned on.
|
||||||
; http://php.net/cgi.check-shebang-line
|
; https://php.net/cgi.check-shebang-line
|
||||||
;cgi.check_shebang_line=1
|
;cgi.check_shebang_line=1
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;
|
||||||
@@ -828,17 +836,17 @@ enable_dl = Off
|
|||||||
;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
; Whether to allow HTTP file uploads.
|
; Whether to allow HTTP file uploads.
|
||||||
; http://php.net/file-uploads
|
; https://php.net/file-uploads
|
||||||
file_uploads = On
|
file_uploads = On
|
||||||
|
|
||||||
; Temporary directory for HTTP uploaded files (will use system default if not
|
; Temporary directory for HTTP uploaded files (will use system default if not
|
||||||
; specified).
|
; specified).
|
||||||
; http://php.net/upload-tmp-dir
|
; https://php.net/upload-tmp-dir
|
||||||
;upload_tmp_dir =
|
;upload_tmp_dir =
|
||||||
|
|
||||||
; Maximum allowed size for uploaded files.
|
; Maximum allowed size for uploaded files.
|
||||||
; http://php.net/upload-max-filesize
|
; https://php.net/upload-max-filesize
|
||||||
upload_max_filesize = 22M
|
upload_max_filesize = 2M
|
||||||
|
|
||||||
; Maximum number of files that can be uploaded via a single request
|
; Maximum number of files that can be uploaded via a single request
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
@@ -848,24 +856,24 @@ max_file_uploads = 20
|
|||||||
;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
|
; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
|
||||||
; http://php.net/allow-url-fopen
|
; https://php.net/allow-url-fopen
|
||||||
allow_url_fopen = On
|
allow_url_fopen = On
|
||||||
|
|
||||||
; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
|
; Whether to allow include/require to open URLs (like https:// or ftp://) as files.
|
||||||
; http://php.net/allow-url-include
|
; https://php.net/allow-url-include
|
||||||
allow_url_include = Off
|
allow_url_include = Off
|
||||||
|
|
||||||
; Define the anonymous ftp password (your email address). PHP's default setting
|
; Define the anonymous ftp password (your email address). PHP's default setting
|
||||||
; for this is empty.
|
; for this is empty.
|
||||||
; http://php.net/from
|
; https://php.net/from
|
||||||
;from="john@doe.com"
|
;from="john@doe.com"
|
||||||
|
|
||||||
; Define the User-Agent string. PHP's default setting for this is empty.
|
; Define the User-Agent string. PHP's default setting for this is empty.
|
||||||
; http://php.net/user-agent
|
; https://php.net/user-agent
|
||||||
;user_agent="PHP"
|
;user_agent="PHP"
|
||||||
|
|
||||||
; Default timeout for socket based streams (seconds)
|
; Default timeout for socket based streams (seconds)
|
||||||
; http://php.net/default-socket-timeout
|
; https://php.net/default-socket-timeout
|
||||||
default_socket_timeout = 60
|
default_socket_timeout = 60
|
||||||
|
|
||||||
; If your scripts have to deal with files from Macintosh systems,
|
; If your scripts have to deal with files from Macintosh systems,
|
||||||
@@ -873,7 +881,7 @@ default_socket_timeout = 60
|
|||||||
; unix or win32 systems, setting this flag will cause PHP to
|
; unix or win32 systems, setting this flag will cause PHP to
|
||||||
; automatically detect the EOL character in those files so that
|
; automatically detect the EOL character in those files so that
|
||||||
; fgets() and file() will work regardless of the source of the file.
|
; fgets() and file() will work regardless of the source of the file.
|
||||||
; http://php.net/auto-detect-line-endings
|
; https://php.net/auto-detect-line-endings
|
||||||
;auto_detect_line_endings = Off
|
;auto_detect_line_endings = Off
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@@ -901,29 +909,27 @@ default_socket_timeout = 60
|
|||||||
;
|
;
|
||||||
; Notes for Windows environments :
|
; Notes for Windows environments :
|
||||||
;
|
;
|
||||||
; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+)
|
; - Many DLL files are located in the ext/
|
||||||
; extension folders as well as the separate PECL DLL download (PHP 5+).
|
; extension folders as well as the separate PECL DLL download.
|
||||||
; Be sure to appropriately set the extension_dir directive.
|
; Be sure to appropriately set the extension_dir directive.
|
||||||
;
|
;
|
||||||
;extension=bz2
|
;extension=bz2
|
||||||
;extension=curl
|
;extension=curl
|
||||||
|
;extension=ffi
|
||||||
|
;extension=ftp
|
||||||
;extension=fileinfo
|
;extension=fileinfo
|
||||||
;extension=gd2
|
;extension=gd
|
||||||
;extension=gettext
|
;extension=gettext
|
||||||
;extension=gmp
|
;extension=gmp
|
||||||
;extension=intl
|
;extension=intl
|
||||||
;extension=imap
|
|
||||||
;extension=interbase
|
|
||||||
;extension=ldap
|
;extension=ldap
|
||||||
;extension=mbstring
|
;extension=mbstring
|
||||||
;extension=exif ; Must be after mbstring as it depends on it
|
;extension=exif ; Must be after mbstring as it depends on it
|
||||||
;extension=mysqli
|
;extension=mysqli
|
||||||
;extension=oci8_12c ; Use with Oracle Database 12c Instant Client
|
|
||||||
;extension=odbc
|
;extension=odbc
|
||||||
;extension=openssl
|
;extension=openssl
|
||||||
;extension=pdo_firebird
|
;extension=pdo_firebird
|
||||||
extension=pdo_mysql
|
;extension=pdo_mysql
|
||||||
;extension=pdo_oci
|
|
||||||
;extension=pdo_odbc
|
;extension=pdo_odbc
|
||||||
;extension=pdo_pgsql
|
;extension=pdo_pgsql
|
||||||
;extension=pdo_sqlite
|
;extension=pdo_sqlite
|
||||||
@@ -931,7 +937,7 @@ extension=pdo_mysql
|
|||||||
;extension=shmop
|
;extension=shmop
|
||||||
|
|
||||||
; The MIBS data available in the PHP distribution must be installed.
|
; The MIBS data available in the PHP distribution must be installed.
|
||||||
; See http://www.php.net/manual/en/snmp.installation.php
|
; See https://www.php.net/manual/en/snmp.installation.php
|
||||||
;extension=snmp
|
;extension=snmp
|
||||||
|
|
||||||
;extension=soap
|
;extension=soap
|
||||||
@@ -939,8 +945,10 @@ extension=pdo_mysql
|
|||||||
;extension=sodium
|
;extension=sodium
|
||||||
;extension=sqlite3
|
;extension=sqlite3
|
||||||
;extension=tidy
|
;extension=tidy
|
||||||
;extension=xmlrpc
|
|
||||||
;extension=xsl
|
;extension=xsl
|
||||||
|
;extension=zip
|
||||||
|
|
||||||
|
;zend_extension=opcache
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;
|
||||||
; Module Settings ;
|
; Module Settings ;
|
||||||
@@ -952,26 +960,26 @@ cli_server.color = On
|
|||||||
|
|
||||||
[Date]
|
[Date]
|
||||||
; Defines the default timezone used by the date functions
|
; Defines the default timezone used by the date functions
|
||||||
; http://php.net/date.timezone
|
; https://php.net/date.timezone
|
||||||
;date.timezone =
|
;date.timezone =
|
||||||
|
|
||||||
; http://php.net/date.default-latitude
|
; https://php.net/date.default-latitude
|
||||||
;date.default_latitude = 31.7667
|
;date.default_latitude = 31.7667
|
||||||
|
|
||||||
; http://php.net/date.default-longitude
|
; https://php.net/date.default-longitude
|
||||||
;date.default_longitude = 35.2333
|
;date.default_longitude = 35.2333
|
||||||
|
|
||||||
; http://php.net/date.sunrise-zenith
|
; https://php.net/date.sunrise-zenith
|
||||||
;date.sunrise_zenith = 90.583333
|
;date.sunrise_zenith = 90.833333
|
||||||
|
|
||||||
; http://php.net/date.sunset-zenith
|
; https://php.net/date.sunset-zenith
|
||||||
;date.sunset_zenith = 90.583333
|
;date.sunset_zenith = 90.833333
|
||||||
|
|
||||||
[filter]
|
[filter]
|
||||||
; http://php.net/filter.default
|
; https://php.net/filter.default
|
||||||
;filter.default = unsafe_raw
|
;filter.default = unsafe_raw
|
||||||
|
|
||||||
; http://php.net/filter.default-flags
|
; https://php.net/filter.default-flags
|
||||||
;filter.default_flags =
|
;filter.default_flags =
|
||||||
|
|
||||||
[iconv]
|
[iconv]
|
||||||
@@ -992,13 +1000,6 @@ cli_server.color = On
|
|||||||
; otherwise output encoding conversion cannot be performed.
|
; otherwise output encoding conversion cannot be performed.
|
||||||
;iconv.output_encoding =
|
;iconv.output_encoding =
|
||||||
|
|
||||||
[imap]
|
|
||||||
; rsh/ssh logins are disabled by default. Use this INI entry if you want to
|
|
||||||
; enable them. Note that the IMAP library does not filter mailbox names before
|
|
||||||
; passing them to rsh/ssh command, thus passing untrusted data to this function
|
|
||||||
; with rsh/ssh enabled is insecure.
|
|
||||||
;imap.enable_insecure_rsh=0
|
|
||||||
|
|
||||||
[intl]
|
[intl]
|
||||||
;intl.default_locale =
|
;intl.default_locale =
|
||||||
; This directive allows you to produce PHP errors when some error
|
; This directive allows you to produce PHP errors when some error
|
||||||
@@ -1009,7 +1010,7 @@ cli_server.color = On
|
|||||||
|
|
||||||
[sqlite3]
|
[sqlite3]
|
||||||
; Directory pointing to SQLite3 extensions
|
; Directory pointing to SQLite3 extensions
|
||||||
; http://php.net/sqlite3.extension-dir
|
; https://php.net/sqlite3.extension-dir
|
||||||
;sqlite3.extension_dir =
|
;sqlite3.extension_dir =
|
||||||
|
|
||||||
; SQLite defensive mode flag (only available from SQLite 3.26+)
|
; SQLite defensive mode flag (only available from SQLite 3.26+)
|
||||||
@@ -1023,14 +1024,14 @@ cli_server.color = On
|
|||||||
|
|
||||||
[Pcre]
|
[Pcre]
|
||||||
; PCRE library backtracking limit.
|
; PCRE library backtracking limit.
|
||||||
; http://php.net/pcre.backtrack-limit
|
; https://php.net/pcre.backtrack-limit
|
||||||
;pcre.backtrack_limit=100000
|
;pcre.backtrack_limit=100000
|
||||||
|
|
||||||
; PCRE library recursion limit.
|
; PCRE library recursion limit.
|
||||||
; Please note that if you set this value to a high number you may consume all
|
; Please note that if you set this value to a high number you may consume all
|
||||||
; the available process stack and eventually crash PHP (due to reaching the
|
; the available process stack and eventually crash PHP (due to reaching the
|
||||||
; stack size limit imposed by the Operating System).
|
; stack size limit imposed by the Operating System).
|
||||||
; http://php.net/pcre.recursion-limit
|
; https://php.net/pcre.recursion-limit
|
||||||
;pcre.recursion_limit=100000
|
;pcre.recursion_limit=100000
|
||||||
|
|
||||||
; Enables or disables JIT compilation of patterns. This requires the PCRE
|
; Enables or disables JIT compilation of patterns. This requires the PCRE
|
||||||
@@ -1039,38 +1040,36 @@ cli_server.color = On
|
|||||||
|
|
||||||
[Pdo]
|
[Pdo]
|
||||||
; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off"
|
; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off"
|
||||||
; http://php.net/pdo-odbc.connection-pooling
|
; https://php.net/pdo-odbc.connection-pooling
|
||||||
;pdo_odbc.connection_pooling=strict
|
;pdo_odbc.connection_pooling=strict
|
||||||
|
|
||||||
;pdo_odbc.db2_instance_name
|
|
||||||
|
|
||||||
[Pdo_mysql]
|
[Pdo_mysql]
|
||||||
; Default socket name for local MySQL connects. If empty, uses the built-in
|
; Default socket name for local MySQL connects. If empty, uses the built-in
|
||||||
; MySQL defaults.
|
; MySQL defaults.
|
||||||
pdo_mysql.default_socket=
|
pdo_mysql.default_socket=
|
||||||
|
|
||||||
[Phar]
|
[Phar]
|
||||||
; http://php.net/phar.readonly
|
; https://php.net/phar.readonly
|
||||||
;phar.readonly = On
|
;phar.readonly = On
|
||||||
|
|
||||||
; http://php.net/phar.require-hash
|
; https://php.net/phar.require-hash
|
||||||
;phar.require_hash = On
|
;phar.require_hash = On
|
||||||
|
|
||||||
;phar.cache_list =
|
;phar.cache_list =
|
||||||
|
|
||||||
[mail function]
|
[mail function]
|
||||||
; For Win32 only.
|
; For Win32 only.
|
||||||
; http://php.net/smtp
|
; https://php.net/smtp
|
||||||
SMTP = localhost
|
SMTP = localhost
|
||||||
; http://php.net/smtp-port
|
; https://php.net/smtp-port
|
||||||
smtp_port = 25
|
smtp_port = 25
|
||||||
|
|
||||||
; For Win32 only.
|
; For Win32 only.
|
||||||
; http://php.net/sendmail-from
|
; https://php.net/sendmail-from
|
||||||
;sendmail_from = me@example.com
|
;sendmail_from = me@example.com
|
||||||
|
|
||||||
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
|
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
|
||||||
; http://php.net/sendmail-path
|
; https://php.net/sendmail-path
|
||||||
;sendmail_path =
|
;sendmail_path =
|
||||||
|
|
||||||
; Force the addition of the specified parameters to be passed as extra parameters
|
; Force the addition of the specified parameters to be passed as extra parameters
|
||||||
@@ -1081,6 +1080,10 @@ smtp_port = 25
|
|||||||
; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
|
; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
|
||||||
mail.add_x_header = Off
|
mail.add_x_header = Off
|
||||||
|
|
||||||
|
; Use mixed LF and CRLF line separators to keep compatibility with some
|
||||||
|
; RFC 2822 non conformant MTA.
|
||||||
|
mail.mixed_lf_and_crlf = Off
|
||||||
|
|
||||||
; The path to a log file that will log all mail() calls. Log entries include
|
; The path to a log file that will log all mail() calls. Log entries include
|
||||||
; the full path of the script, line number, To address and headers.
|
; the full path of the script, line number, To address and headers.
|
||||||
;mail.log =
|
;mail.log =
|
||||||
@@ -1088,13 +1091,13 @@ mail.add_x_header = Off
|
|||||||
;mail.log = syslog
|
;mail.log = syslog
|
||||||
|
|
||||||
[ODBC]
|
[ODBC]
|
||||||
; http://php.net/odbc.default-db
|
; https://php.net/odbc.default-db
|
||||||
;odbc.default_db = Not yet implemented
|
;odbc.default_db = Not yet implemented
|
||||||
|
|
||||||
; http://php.net/odbc.default-user
|
; https://php.net/odbc.default-user
|
||||||
;odbc.default_user = Not yet implemented
|
;odbc.default_user = Not yet implemented
|
||||||
|
|
||||||
; http://php.net/odbc.default-pw
|
; https://php.net/odbc.default-pw
|
||||||
;odbc.default_pw = Not yet implemented
|
;odbc.default_pw = Not yet implemented
|
||||||
|
|
||||||
; Controls the ODBC cursor model.
|
; Controls the ODBC cursor model.
|
||||||
@@ -1102,99 +1105,72 @@ mail.add_x_header = Off
|
|||||||
;odbc.default_cursortype
|
;odbc.default_cursortype
|
||||||
|
|
||||||
; Allow or prevent persistent links.
|
; Allow or prevent persistent links.
|
||||||
; http://php.net/odbc.allow-persistent
|
; https://php.net/odbc.allow-persistent
|
||||||
odbc.allow_persistent = On
|
odbc.allow_persistent = On
|
||||||
|
|
||||||
; Check that a connection is still valid before reuse.
|
; Check that a connection is still valid before reuse.
|
||||||
; http://php.net/odbc.check-persistent
|
; https://php.net/odbc.check-persistent
|
||||||
odbc.check_persistent = On
|
odbc.check_persistent = On
|
||||||
|
|
||||||
; Maximum number of persistent links. -1 means no limit.
|
; Maximum number of persistent links. -1 means no limit.
|
||||||
; http://php.net/odbc.max-persistent
|
; https://php.net/odbc.max-persistent
|
||||||
odbc.max_persistent = -1
|
odbc.max_persistent = -1
|
||||||
|
|
||||||
; Maximum number of links (persistent + non-persistent). -1 means no limit.
|
; Maximum number of links (persistent + non-persistent). -1 means no limit.
|
||||||
; http://php.net/odbc.max-links
|
; https://php.net/odbc.max-links
|
||||||
odbc.max_links = -1
|
odbc.max_links = -1
|
||||||
|
|
||||||
; Handling of LONG fields. Returns number of bytes to variables. 0 means
|
; Handling of LONG fields. Returns number of bytes to variables. 0 means
|
||||||
; passthru.
|
; passthru.
|
||||||
; http://php.net/odbc.defaultlrl
|
; https://php.net/odbc.defaultlrl
|
||||||
odbc.defaultlrl = 4096
|
odbc.defaultlrl = 4096
|
||||||
|
|
||||||
; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char.
|
; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char.
|
||||||
; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
|
; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
|
||||||
; of odbc.defaultlrl and odbc.defaultbinmode
|
; of odbc.defaultlrl and odbc.defaultbinmode
|
||||||
; http://php.net/odbc.defaultbinmode
|
; https://php.net/odbc.defaultbinmode
|
||||||
odbc.defaultbinmode = 1
|
odbc.defaultbinmode = 1
|
||||||
|
|
||||||
[Interbase]
|
|
||||||
; Allow or prevent persistent links.
|
|
||||||
ibase.allow_persistent = 1
|
|
||||||
|
|
||||||
; Maximum number of persistent links. -1 means no limit.
|
|
||||||
ibase.max_persistent = -1
|
|
||||||
|
|
||||||
; Maximum number of links (persistent + non-persistent). -1 means no limit.
|
|
||||||
ibase.max_links = -1
|
|
||||||
|
|
||||||
; Default database name for ibase_connect().
|
|
||||||
;ibase.default_db =
|
|
||||||
|
|
||||||
; Default username for ibase_connect().
|
|
||||||
;ibase.default_user =
|
|
||||||
|
|
||||||
; Default password for ibase_connect().
|
|
||||||
;ibase.default_password =
|
|
||||||
|
|
||||||
; Default charset for ibase_connect().
|
|
||||||
;ibase.default_charset =
|
|
||||||
|
|
||||||
; Default timestamp format.
|
|
||||||
ibase.timestampformat = "%Y-%m-%d %H:%M:%S"
|
|
||||||
|
|
||||||
; Default date format.
|
|
||||||
ibase.dateformat = "%Y-%m-%d"
|
|
||||||
|
|
||||||
; Default time format.
|
|
||||||
ibase.timeformat = "%H:%M:%S"
|
|
||||||
|
|
||||||
[MySQLi]
|
[MySQLi]
|
||||||
|
|
||||||
; Maximum number of persistent links. -1 means no limit.
|
; Maximum number of persistent links. -1 means no limit.
|
||||||
; http://php.net/mysqli.max-persistent
|
; https://php.net/mysqli.max-persistent
|
||||||
mysqli.max_persistent = -1
|
mysqli.max_persistent = -1
|
||||||
|
|
||||||
; Allow accessing, from PHP's perspective, local files with LOAD DATA statements
|
; Allow accessing, from PHP's perspective, local files with LOAD DATA statements
|
||||||
; http://php.net/mysqli.allow_local_infile
|
; https://php.net/mysqli.allow_local_infile
|
||||||
;mysqli.allow_local_infile = On
|
;mysqli.allow_local_infile = On
|
||||||
|
|
||||||
|
; It allows the user to specify a folder where files that can be sent via LOAD DATA
|
||||||
|
; LOCAL can exist. It is ignored if mysqli.allow_local_infile is enabled.
|
||||||
|
;mysqli.local_infile_directory =
|
||||||
|
|
||||||
; Allow or prevent persistent links.
|
; Allow or prevent persistent links.
|
||||||
; http://php.net/mysqli.allow-persistent
|
; https://php.net/mysqli.allow-persistent
|
||||||
mysqli.allow_persistent = On
|
mysqli.allow_persistent = On
|
||||||
|
|
||||||
; Maximum number of links. -1 means no limit.
|
; Maximum number of links. -1 means no limit.
|
||||||
; http://php.net/mysqli.max-links
|
; https://php.net/mysqli.max-links
|
||||||
mysqli.max_links = -1
|
mysqli.max_links = -1
|
||||||
|
|
||||||
; Default port number for mysqli_connect(). If unset, mysqli_connect() will use
|
; Default port number for mysqli_connect(). If unset, mysqli_connect() will use
|
||||||
; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
|
; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
|
||||||
; compile-time value defined MYSQL_PORT (in that order). Win32 will only look
|
; compile-time value defined MYSQL_PORT (in that order). Win32 will only look
|
||||||
; at MYSQL_PORT.
|
; at MYSQL_PORT.
|
||||||
; http://php.net/mysqli.default-port
|
; https://php.net/mysqli.default-port
|
||||||
mysqli.default_port = 3306
|
mysqli.default_port = 3306
|
||||||
|
|
||||||
; Default socket name for local MySQL connects. If empty, uses the built-in
|
; Default socket name for local MySQL connects. If empty, uses the built-in
|
||||||
; MySQL defaults.
|
; MySQL defaults.
|
||||||
; http://php.net/mysqli.default-socket
|
; https://php.net/mysqli.default-socket
|
||||||
mysqli.default_socket =
|
mysqli.default_socket =
|
||||||
|
|
||||||
; Default host for mysql_connect() (doesn't apply in safe mode).
|
; Default host for mysqli_connect() (doesn't apply in safe mode).
|
||||||
; http://php.net/mysqli.default-host
|
; https://php.net/mysqli.default-host
|
||||||
mysqli.default_host =
|
mysqli.default_host =
|
||||||
|
|
||||||
; Default user for mysql_connect() (doesn't apply in safe mode).
|
; Default user for mysqli_connect() (doesn't apply in safe mode).
|
||||||
; http://php.net/mysqli.default-user
|
; https://php.net/mysqli.default-user
|
||||||
mysqli.default_user =
|
mysqli.default_user =
|
||||||
|
|
||||||
; Default password for mysqli_connect() (doesn't apply in safe mode).
|
; Default password for mysqli_connect() (doesn't apply in safe mode).
|
||||||
@@ -1202,11 +1178,13 @@ mysqli.default_user =
|
|||||||
; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw")
|
; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw")
|
||||||
; and reveal this password! And of course, any users with read access to this
|
; and reveal this password! And of course, any users with read access to this
|
||||||
; file will be able to reveal the password as well.
|
; file will be able to reveal the password as well.
|
||||||
; http://php.net/mysqli.default-pw
|
; https://php.net/mysqli.default-pw
|
||||||
mysqli.default_pw =
|
mysqli.default_pw =
|
||||||
|
|
||||||
; Allow or prevent reconnect
|
; If this option is enabled, closing a persistent connection will rollback
|
||||||
mysqli.reconnect = Off
|
; any pending transactions of this connection, before it is put back
|
||||||
|
; into the persistent connection pool.
|
||||||
|
;mysqli.rollback_on_cached_plink = Off
|
||||||
|
|
||||||
[mysqlnd]
|
[mysqlnd]
|
||||||
; Enable / Disable collection of general statistics by mysqlnd which can be
|
; Enable / Disable collection of general statistics by mysqlnd which can be
|
||||||
@@ -1215,11 +1193,11 @@ mysqlnd.collect_statistics = On
|
|||||||
|
|
||||||
; Enable / Disable collection of memory usage statistics by mysqlnd which can be
|
; Enable / Disable collection of memory usage statistics by mysqlnd which can be
|
||||||
; used to tune and monitor MySQL operations.
|
; used to tune and monitor MySQL operations.
|
||||||
mysqlnd.collect_memory_statistics = Off
|
mysqlnd.collect_memory_statistics = On
|
||||||
|
|
||||||
; Records communication from all extensions using mysqlnd to the specified log
|
; Records communication from all extensions using mysqlnd to the specified log
|
||||||
; file.
|
; file.
|
||||||
; http://php.net/mysqlnd.debug
|
; https://php.net/mysqlnd.debug
|
||||||
;mysqlnd.debug =
|
;mysqlnd.debug =
|
||||||
|
|
||||||
; Defines which queries will be logged.
|
; Defines which queries will be logged.
|
||||||
@@ -1242,99 +1220,46 @@ mysqlnd.collect_memory_statistics = Off
|
|||||||
; key.
|
; key.
|
||||||
;mysqlnd.sha256_server_public_key =
|
;mysqlnd.sha256_server_public_key =
|
||||||
|
|
||||||
[OCI8]
|
|
||||||
|
|
||||||
; Connection: Enables privileged connections using external
|
|
||||||
; credentials (OCI_SYSOPER, OCI_SYSDBA)
|
|
||||||
; http://php.net/oci8.privileged-connect
|
|
||||||
;oci8.privileged_connect = Off
|
|
||||||
|
|
||||||
; Connection: The maximum number of persistent OCI8 connections per
|
|
||||||
; process. Using -1 means no limit.
|
|
||||||
; http://php.net/oci8.max-persistent
|
|
||||||
;oci8.max_persistent = -1
|
|
||||||
|
|
||||||
; Connection: The maximum number of seconds a process is allowed to
|
|
||||||
; maintain an idle persistent connection. Using -1 means idle
|
|
||||||
; persistent connections will be maintained forever.
|
|
||||||
; http://php.net/oci8.persistent-timeout
|
|
||||||
;oci8.persistent_timeout = -1
|
|
||||||
|
|
||||||
; Connection: The number of seconds that must pass before issuing a
|
|
||||||
; ping during oci_pconnect() to check the connection validity. When
|
|
||||||
; set to 0, each oci_pconnect() will cause a ping. Using -1 disables
|
|
||||||
; pings completely.
|
|
||||||
; http://php.net/oci8.ping-interval
|
|
||||||
;oci8.ping_interval = 60
|
|
||||||
|
|
||||||
; Connection: Set this to a user chosen connection class to be used
|
|
||||||
; for all pooled server requests with Oracle 11g Database Resident
|
|
||||||
; Connection Pooling (DRCP). To use DRCP, this value should be set to
|
|
||||||
; the same string for all web servers running the same application,
|
|
||||||
; the database pool must be configured, and the connection string must
|
|
||||||
; specify to use a pooled server.
|
|
||||||
;oci8.connection_class =
|
|
||||||
|
|
||||||
; High Availability: Using On lets PHP receive Fast Application
|
|
||||||
; Notification (FAN) events generated when a database node fails. The
|
|
||||||
; database must also be configured to post FAN events.
|
|
||||||
;oci8.events = Off
|
|
||||||
|
|
||||||
; Tuning: This option enables statement caching, and specifies how
|
|
||||||
; many statements to cache. Using 0 disables statement caching.
|
|
||||||
; http://php.net/oci8.statement-cache-size
|
|
||||||
;oci8.statement_cache_size = 20
|
|
||||||
|
|
||||||
; Tuning: Enables statement prefetching and sets the default number of
|
|
||||||
; rows that will be fetched automatically after statement execution.
|
|
||||||
; http://php.net/oci8.default-prefetch
|
|
||||||
;oci8.default_prefetch = 100
|
|
||||||
|
|
||||||
; Compatibility. Using On means oci_close() will not close
|
|
||||||
; oci_connect() and oci_new_connect() connections.
|
|
||||||
; http://php.net/oci8.old-oci-close-semantics
|
|
||||||
;oci8.old_oci_close_semantics = Off
|
|
||||||
|
|
||||||
[PostgreSQL]
|
[PostgreSQL]
|
||||||
; Allow or prevent persistent links.
|
; Allow or prevent persistent links.
|
||||||
; http://php.net/pgsql.allow-persistent
|
; https://php.net/pgsql.allow-persistent
|
||||||
pgsql.allow_persistent = On
|
pgsql.allow_persistent = On
|
||||||
|
|
||||||
; Detect broken persistent links always with pg_pconnect().
|
; Detect broken persistent links always with pg_pconnect().
|
||||||
; Auto reset feature requires a little overheads.
|
; Auto reset feature requires a little overheads.
|
||||||
; http://php.net/pgsql.auto-reset-persistent
|
; https://php.net/pgsql.auto-reset-persistent
|
||||||
pgsql.auto_reset_persistent = Off
|
pgsql.auto_reset_persistent = Off
|
||||||
|
|
||||||
; Maximum number of persistent links. -1 means no limit.
|
; Maximum number of persistent links. -1 means no limit.
|
||||||
; http://php.net/pgsql.max-persistent
|
; https://php.net/pgsql.max-persistent
|
||||||
pgsql.max_persistent = -1
|
pgsql.max_persistent = -1
|
||||||
|
|
||||||
; Maximum number of links (persistent+non persistent). -1 means no limit.
|
; Maximum number of links (persistent+non persistent). -1 means no limit.
|
||||||
; http://php.net/pgsql.max-links
|
; https://php.net/pgsql.max-links
|
||||||
pgsql.max_links = -1
|
pgsql.max_links = -1
|
||||||
|
|
||||||
; Ignore PostgreSQL backends Notice message or not.
|
; Ignore PostgreSQL backends Notice message or not.
|
||||||
; Notice message logging require a little overheads.
|
; Notice message logging require a little overheads.
|
||||||
; http://php.net/pgsql.ignore-notice
|
; https://php.net/pgsql.ignore-notice
|
||||||
pgsql.ignore_notice = 0
|
pgsql.ignore_notice = 0
|
||||||
|
|
||||||
; Log PostgreSQL backends Notice message or not.
|
; Log PostgreSQL backends Notice message or not.
|
||||||
; Unless pgsql.ignore_notice=0, module cannot log notice message.
|
; Unless pgsql.ignore_notice=0, module cannot log notice message.
|
||||||
; http://php.net/pgsql.log-notice
|
; https://php.net/pgsql.log-notice
|
||||||
pgsql.log_notice = 0
|
pgsql.log_notice = 0
|
||||||
|
|
||||||
[bcmath]
|
[bcmath]
|
||||||
; Number of decimal digits for all bcmath functions.
|
; Number of decimal digits for all bcmath functions.
|
||||||
; http://php.net/bcmath.scale
|
; https://php.net/bcmath.scale
|
||||||
bcmath.scale = 0
|
bcmath.scale = 0
|
||||||
|
|
||||||
[browscap]
|
[browscap]
|
||||||
; http://php.net/browscap
|
; https://php.net/browscap
|
||||||
;browscap = extra/browscap.ini
|
;browscap = extra/browscap.ini
|
||||||
|
|
||||||
[Session]
|
[Session]
|
||||||
; Handler used to store/retrieve data.
|
; Handler used to store/retrieve data.
|
||||||
; http://php.net/session.save-handler
|
; https://php.net/session.save-handler
|
||||||
session.save_handler = files
|
session.save_handler = files
|
||||||
|
|
||||||
; Argument passed to save_handler. In the case of files, this is the path
|
; Argument passed to save_handler. In the case of files, this is the path
|
||||||
@@ -1363,8 +1288,8 @@ session.save_handler = files
|
|||||||
;
|
;
|
||||||
; where MODE is the octal representation of the mode. Note that this
|
; where MODE is the octal representation of the mode. Note that this
|
||||||
; does not overwrite the process's umask.
|
; does not overwrite the process's umask.
|
||||||
; http://php.net/session.save-path
|
; https://php.net/session.save-path
|
||||||
;session.save_path = "/var/lib/php/sessions"
|
;session.save_path = "/tmp"
|
||||||
|
|
||||||
; Whether to use strict session mode.
|
; Whether to use strict session mode.
|
||||||
; Strict session mode does not accept an uninitialized session ID, and
|
; Strict session mode does not accept an uninitialized session ID, and
|
||||||
@@ -1376,51 +1301,52 @@ session.save_handler = files
|
|||||||
session.use_strict_mode = 0
|
session.use_strict_mode = 0
|
||||||
|
|
||||||
; Whether to use cookies.
|
; Whether to use cookies.
|
||||||
; http://php.net/session.use-cookies
|
; https://php.net/session.use-cookies
|
||||||
session.use_cookies = 1
|
session.use_cookies = 1
|
||||||
|
|
||||||
; http://php.net/session.cookie-secure
|
; https://php.net/session.cookie-secure
|
||||||
;session.cookie_secure =
|
;session.cookie_secure =
|
||||||
|
|
||||||
; This option forces PHP to fetch and use a cookie for storing and maintaining
|
; This option forces PHP to fetch and use a cookie for storing and maintaining
|
||||||
; the session id. We encourage this operation as it's very helpful in combating
|
; the session id. We encourage this operation as it's very helpful in combating
|
||||||
; session hijacking when not specifying and managing your own session id. It is
|
; session hijacking when not specifying and managing your own session id. It is
|
||||||
; not the be-all and end-all of session hijacking defense, but it's a good start.
|
; not the be-all and end-all of session hijacking defense, but it's a good start.
|
||||||
; http://php.net/session.use-only-cookies
|
; https://php.net/session.use-only-cookies
|
||||||
session.use_only_cookies = 1
|
session.use_only_cookies = 1
|
||||||
|
|
||||||
; Name of the session (used as cookie name).
|
; Name of the session (used as cookie name).
|
||||||
; http://php.net/session.name
|
; https://php.net/session.name
|
||||||
session.name = PHPSESSID
|
session.name = PHPSESSID
|
||||||
|
|
||||||
; Initialize session on request startup.
|
; Initialize session on request startup.
|
||||||
; http://php.net/session.auto-start
|
; https://php.net/session.auto-start
|
||||||
session.auto_start = 0
|
session.auto_start = 0
|
||||||
|
|
||||||
; Lifetime in seconds of cookie or, if 0, until browser is restarted.
|
; Lifetime in seconds of cookie or, if 0, until browser is restarted.
|
||||||
; http://php.net/session.cookie-lifetime
|
; https://php.net/session.cookie-lifetime
|
||||||
session.cookie_lifetime = 0
|
session.cookie_lifetime = 0
|
||||||
|
|
||||||
; The path for which the cookie is valid.
|
; The path for which the cookie is valid.
|
||||||
; http://php.net/session.cookie-path
|
; https://php.net/session.cookie-path
|
||||||
session.cookie_path = /
|
session.cookie_path = /
|
||||||
|
|
||||||
; The domain for which the cookie is valid.
|
; The domain for which the cookie is valid.
|
||||||
; http://php.net/session.cookie-domain
|
; https://php.net/session.cookie-domain
|
||||||
session.cookie_domain =
|
session.cookie_domain =
|
||||||
|
|
||||||
; Whether or not to add the httpOnly flag to the cookie, which makes it
|
; Whether or not to add the httpOnly flag to the cookie, which makes it
|
||||||
; inaccessible to browser scripting languages such as JavaScript.
|
; inaccessible to browser scripting languages such as JavaScript.
|
||||||
; http://php.net/session.cookie-httponly
|
; https://php.net/session.cookie-httponly
|
||||||
session.cookie_httponly =
|
session.cookie_httponly =
|
||||||
|
|
||||||
; Add SameSite attribute to cookie to help mitigate Cross-Site Request Forgery (CSRF/XSRF)
|
; Add SameSite attribute to cookie to help mitigate Cross-Site Request Forgery (CSRF/XSRF)
|
||||||
; Current valid values are "Lax" or "Strict"
|
; Current valid values are "Strict", "Lax" or "None". When using "None",
|
||||||
|
; make sure to include the quotes, as `none` is interpreted like `false` in ini files.
|
||||||
; https://tools.ietf.org/html/draft-west-first-party-cookies-07
|
; https://tools.ietf.org/html/draft-west-first-party-cookies-07
|
||||||
session.cookie_samesite =
|
session.cookie_samesite =
|
||||||
|
|
||||||
; Handler used to serialize data. php is the standard serializer of PHP.
|
; Handler used to serialize data. php is the standard serializer of PHP.
|
||||||
; http://php.net/session.serialize-handler
|
; https://php.net/session.serialize-handler
|
||||||
session.serialize_handler = php
|
session.serialize_handler = php
|
||||||
|
|
||||||
; Defines the probability that the 'garbage collection' process is started on every
|
; Defines the probability that the 'garbage collection' process is started on every
|
||||||
@@ -1429,8 +1355,8 @@ session.serialize_handler = php
|
|||||||
; Default Value: 1
|
; Default Value: 1
|
||||||
; Development Value: 1
|
; Development Value: 1
|
||||||
; Production Value: 1
|
; Production Value: 1
|
||||||
; http://php.net/session.gc-probability
|
; https://php.net/session.gc-probability
|
||||||
session.gc_probability = 0
|
session.gc_probability = 1
|
||||||
|
|
||||||
; Defines the probability that the 'garbage collection' process is started on every
|
; Defines the probability that the 'garbage collection' process is started on every
|
||||||
; session initialization. The probability is calculated by using gc_probability/gc_divisor,
|
; session initialization. The probability is calculated by using gc_probability/gc_divisor,
|
||||||
@@ -1439,35 +1365,35 @@ session.gc_probability = 0
|
|||||||
; Default Value: 100
|
; Default Value: 100
|
||||||
; Development Value: 1000
|
; Development Value: 1000
|
||||||
; Production Value: 1000
|
; Production Value: 1000
|
||||||
; http://php.net/session.gc-divisor
|
; https://php.net/session.gc-divisor
|
||||||
session.gc_divisor = 1000
|
session.gc_divisor = 1000
|
||||||
|
|
||||||
; After this number of seconds, stored data will be seen as 'garbage' and
|
; After this number of seconds, stored data will be seen as 'garbage' and
|
||||||
; cleaned up by the garbage collection process.
|
; cleaned up by the garbage collection process.
|
||||||
; http://php.net/session.gc-maxlifetime
|
; https://php.net/session.gc-maxlifetime
|
||||||
session.gc_maxlifetime = 1440
|
session.gc_maxlifetime = 1440
|
||||||
|
|
||||||
; NOTE: If you are using the subdirectory option for storing session files
|
; NOTE: If you are using the subdirectory option for storing session files
|
||||||
; (see session.save_path above), then garbage collection does *not*
|
; (see session.save_path above), then garbage collection does *not*
|
||||||
; happen automatically. You will need to do your own garbage
|
; happen automatically. You will need to do your own garbage
|
||||||
; collection through a shell script, cron entry, or some other method.
|
; collection through a shell script, cron entry, or some other method.
|
||||||
; For example, the following script would is the equivalent of
|
; For example, the following script is the equivalent of setting
|
||||||
; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
|
; session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
|
||||||
; find /path/to/sessions -cmin +24 -type f | xargs rm
|
; find /path/to/sessions -cmin +24 -type f | xargs rm
|
||||||
|
|
||||||
; Check HTTP Referer to invalidate externally stored URLs containing ids.
|
; Check HTTP Referer to invalidate externally stored URLs containing ids.
|
||||||
; HTTP_REFERER has to contain this substring for the session to be
|
; HTTP_REFERER has to contain this substring for the session to be
|
||||||
; considered as valid.
|
; considered as valid.
|
||||||
; http://php.net/session.referer-check
|
; https://php.net/session.referer-check
|
||||||
session.referer_check =
|
session.referer_check =
|
||||||
|
|
||||||
; Set to {nocache,private,public,} to determine HTTP caching aspects
|
; Set to {nocache,private,public,} to determine HTTP caching aspects
|
||||||
; or leave this empty to avoid sending anti-caching headers.
|
; or leave this empty to avoid sending anti-caching headers.
|
||||||
; http://php.net/session.cache-limiter
|
; https://php.net/session.cache-limiter
|
||||||
session.cache_limiter = nocache
|
session.cache_limiter = nocache
|
||||||
|
|
||||||
; Document expires after n minutes.
|
; Document expires after n minutes.
|
||||||
; http://php.net/session.cache-expire
|
; https://php.net/session.cache-expire
|
||||||
session.cache_expire = 180
|
session.cache_expire = 180
|
||||||
|
|
||||||
; trans sid support is disabled by default.
|
; trans sid support is disabled by default.
|
||||||
@@ -1479,18 +1405,9 @@ session.cache_expire = 180
|
|||||||
; in publicly accessible computer.
|
; in publicly accessible computer.
|
||||||
; - User may access your site with the same session ID
|
; - User may access your site with the same session ID
|
||||||
; always using URL stored in browser's history or bookmarks.
|
; always using URL stored in browser's history or bookmarks.
|
||||||
; http://php.net/session.use-trans-sid
|
; https://php.net/session.use-trans-sid
|
||||||
session.use_trans_sid = 0
|
session.use_trans_sid = 0
|
||||||
|
|
||||||
; Set session ID character length. This value could be between 22 to 256.
|
|
||||||
; Shorter length than default is supported only for compatibility reason.
|
|
||||||
; Users should use 32 or more chars.
|
|
||||||
; http://php.net/session.sid-length
|
|
||||||
; Default Value: 32
|
|
||||||
; Development Value: 26
|
|
||||||
; Production Value: 26
|
|
||||||
session.sid_length = 26
|
|
||||||
|
|
||||||
; The URL rewriter will look for URLs in a defined set of HTML tags.
|
; The URL rewriter will look for URLs in a defined set of HTML tags.
|
||||||
; <form> is special; if you include them here, the rewriter will
|
; <form> is special; if you include them here, the rewriter will
|
||||||
; add a hidden <input> field with the info which is otherwise appended
|
; add a hidden <input> field with the info which is otherwise appended
|
||||||
@@ -1500,7 +1417,7 @@ session.sid_length = 26
|
|||||||
; Default Value: "a=href,area=href,frame=src,form="
|
; Default Value: "a=href,area=href,frame=src,form="
|
||||||
; Development Value: "a=href,area=href,frame=src,form="
|
; Development Value: "a=href,area=href,frame=src,form="
|
||||||
; Production Value: "a=href,area=href,frame=src,form="
|
; Production Value: "a=href,area=href,frame=src,form="
|
||||||
; http://php.net/url-rewriter.tags
|
; https://php.net/url-rewriter.tags
|
||||||
session.trans_sid_tags = "a=href,area=href,frame=src,form="
|
session.trans_sid_tags = "a=href,area=href,frame=src,form="
|
||||||
|
|
||||||
; URL rewriter does not rewrite absolute URLs by default.
|
; URL rewriter does not rewrite absolute URLs by default.
|
||||||
@@ -1516,23 +1433,11 @@ session.trans_sid_tags = "a=href,area=href,frame=src,form="
|
|||||||
; Production Value: ""
|
; Production Value: ""
|
||||||
;session.trans_sid_hosts=""
|
;session.trans_sid_hosts=""
|
||||||
|
|
||||||
; Define how many bits are stored in each character when converting
|
|
||||||
; the binary hash data to something readable.
|
|
||||||
; Possible values:
|
|
||||||
; 4 (4 bits: 0-9, a-f)
|
|
||||||
; 5 (5 bits: 0-9, a-v)
|
|
||||||
; 6 (6 bits: 0-9, a-z, A-Z, "-", ",")
|
|
||||||
; Default Value: 4
|
|
||||||
; Development Value: 5
|
|
||||||
; Production Value: 5
|
|
||||||
; http://php.net/session.hash-bits-per-character
|
|
||||||
session.sid_bits_per_character = 5
|
|
||||||
|
|
||||||
; Enable upload progress tracking in $_SESSION
|
; Enable upload progress tracking in $_SESSION
|
||||||
; Default Value: On
|
; Default Value: On
|
||||||
; Development Value: On
|
; Development Value: On
|
||||||
; Production Value: On
|
; Production Value: On
|
||||||
; http://php.net/session.upload-progress.enabled
|
; https://php.net/session.upload-progress.enabled
|
||||||
;session.upload_progress.enabled = On
|
;session.upload_progress.enabled = On
|
||||||
|
|
||||||
; Cleanup the progress information as soon as all POST data has been read
|
; Cleanup the progress information as soon as all POST data has been read
|
||||||
@@ -1540,14 +1445,14 @@ session.sid_bits_per_character = 5
|
|||||||
; Default Value: On
|
; Default Value: On
|
||||||
; Development Value: On
|
; Development Value: On
|
||||||
; Production Value: On
|
; Production Value: On
|
||||||
; http://php.net/session.upload-progress.cleanup
|
; https://php.net/session.upload-progress.cleanup
|
||||||
;session.upload_progress.cleanup = On
|
;session.upload_progress.cleanup = On
|
||||||
|
|
||||||
; A prefix used for the upload progress key in $_SESSION
|
; A prefix used for the upload progress key in $_SESSION
|
||||||
; Default Value: "upload_progress_"
|
; Default Value: "upload_progress_"
|
||||||
; Development Value: "upload_progress_"
|
; Development Value: "upload_progress_"
|
||||||
; Production Value: "upload_progress_"
|
; Production Value: "upload_progress_"
|
||||||
; http://php.net/session.upload-progress.prefix
|
; https://php.net/session.upload-progress.prefix
|
||||||
;session.upload_progress.prefix = "upload_progress_"
|
;session.upload_progress.prefix = "upload_progress_"
|
||||||
|
|
||||||
; The index name (concatenated with the prefix) in $_SESSION
|
; The index name (concatenated with the prefix) in $_SESSION
|
||||||
@@ -1555,7 +1460,7 @@ session.sid_bits_per_character = 5
|
|||||||
; Default Value: "PHP_SESSION_UPLOAD_PROGRESS"
|
; Default Value: "PHP_SESSION_UPLOAD_PROGRESS"
|
||||||
; Development Value: "PHP_SESSION_UPLOAD_PROGRESS"
|
; Development Value: "PHP_SESSION_UPLOAD_PROGRESS"
|
||||||
; Production Value: "PHP_SESSION_UPLOAD_PROGRESS"
|
; Production Value: "PHP_SESSION_UPLOAD_PROGRESS"
|
||||||
; http://php.net/session.upload-progress.name
|
; https://php.net/session.upload-progress.name
|
||||||
;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS"
|
;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS"
|
||||||
|
|
||||||
; How frequently the upload progress should be updated.
|
; How frequently the upload progress should be updated.
|
||||||
@@ -1563,18 +1468,18 @@ session.sid_bits_per_character = 5
|
|||||||
; Default Value: "1%"
|
; Default Value: "1%"
|
||||||
; Development Value: "1%"
|
; Development Value: "1%"
|
||||||
; Production Value: "1%"
|
; Production Value: "1%"
|
||||||
; http://php.net/session.upload-progress.freq
|
; https://php.net/session.upload-progress.freq
|
||||||
;session.upload_progress.freq = "1%"
|
;session.upload_progress.freq = "1%"
|
||||||
|
|
||||||
; The minimum delay between updates, in seconds
|
; The minimum delay between updates, in seconds
|
||||||
; Default Value: 1
|
; Default Value: 1
|
||||||
; Development Value: 1
|
; Development Value: 1
|
||||||
; Production Value: 1
|
; Production Value: 1
|
||||||
; http://php.net/session.upload-progress.min-freq
|
; https://php.net/session.upload-progress.min-freq
|
||||||
;session.upload_progress.min_freq = "1"
|
;session.upload_progress.min_freq = "1"
|
||||||
|
|
||||||
; Only write session data when session data is changed. Enabled by default.
|
; Only write session data when session data is changed. Enabled by default.
|
||||||
; http://php.net/session.lazy-write
|
; https://php.net/session.lazy-write
|
||||||
;session.lazy_write = On
|
;session.lazy_write = On
|
||||||
|
|
||||||
[Assertion]
|
[Assertion]
|
||||||
@@ -1582,67 +1487,47 @@ session.sid_bits_per_character = 5
|
|||||||
; -1: Do not compile at all
|
; -1: Do not compile at all
|
||||||
; 0: Jump over assertion at run-time
|
; 0: Jump over assertion at run-time
|
||||||
; 1: Execute assertions
|
; 1: Execute assertions
|
||||||
; Changing from or to a negative value is only possible in php.ini! (For turning assertions on and off at run-time, see assert.active, when zend.assertions = 1)
|
; Changing from or to a negative value is only possible in php.ini!
|
||||||
|
; (For turning assertions on and off at run-time, toggle zend.assertions between the values 1 and 0)
|
||||||
; Default Value: 1
|
; Default Value: 1
|
||||||
; Development Value: 1
|
; Development Value: 1
|
||||||
; Production Value: -1
|
; Production Value: -1
|
||||||
; http://php.net/zend.assertions
|
; https://php.net/zend.assertions
|
||||||
zend.assertions = -1
|
zend.assertions = 1
|
||||||
|
|
||||||
; Assert(expr); active by default.
|
|
||||||
; http://php.net/assert.active
|
|
||||||
;assert.active = On
|
|
||||||
|
|
||||||
; Throw an AssertionError on failed assertions
|
|
||||||
; http://php.net/assert.exception
|
|
||||||
;assert.exception = On
|
|
||||||
|
|
||||||
; Issue a PHP warning for each failed assertion. (Overridden by assert.exception if active)
|
|
||||||
; http://php.net/assert.warning
|
|
||||||
;assert.warning = On
|
|
||||||
|
|
||||||
; Don't bail out by default.
|
|
||||||
; http://php.net/assert.bail
|
|
||||||
;assert.bail = Off
|
|
||||||
|
|
||||||
; User-function to be called if an assertion fails.
|
|
||||||
; http://php.net/assert.callback
|
|
||||||
;assert.callback = 0
|
|
||||||
|
|
||||||
; Eval the expression with current error_reporting(). Set to true if you want
|
|
||||||
; error_reporting(0) around the eval().
|
|
||||||
; http://php.net/assert.quiet-eval
|
|
||||||
;assert.quiet_eval = 0
|
|
||||||
|
|
||||||
[COM]
|
[COM]
|
||||||
; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs
|
; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs
|
||||||
; http://php.net/com.typelib-file
|
; https://php.net/com.typelib-file
|
||||||
;com.typelib_file =
|
;com.typelib_file =
|
||||||
|
|
||||||
; allow Distributed-COM calls
|
; allow Distributed-COM calls
|
||||||
; http://php.net/com.allow-dcom
|
; https://php.net/com.allow-dcom
|
||||||
;com.allow_dcom = true
|
;com.allow_dcom = true
|
||||||
|
|
||||||
; autoregister constants of a component's typlib on com_load()
|
; autoregister constants of a component's typelib on com_load()
|
||||||
; http://php.net/com.autoregister-typelib
|
; https://php.net/com.autoregister-typelib
|
||||||
;com.autoregister_typelib = true
|
;com.autoregister_typelib = true
|
||||||
|
|
||||||
; register constants casesensitive
|
; register constants casesensitive
|
||||||
; http://php.net/com.autoregister-casesensitive
|
; https://php.net/com.autoregister-casesensitive
|
||||||
;com.autoregister_casesensitive = false
|
;com.autoregister_casesensitive = false
|
||||||
|
|
||||||
; show warnings on duplicate constant registrations
|
; show warnings on duplicate constant registrations
|
||||||
; http://php.net/com.autoregister-verbose
|
; https://php.net/com.autoregister-verbose
|
||||||
;com.autoregister_verbose = true
|
;com.autoregister_verbose = true
|
||||||
|
|
||||||
; The default character set code-page to use when passing strings to and from COM objects.
|
; The default character set code-page to use when passing strings to and from COM objects.
|
||||||
; Default: system ANSI code page
|
; Default: system ANSI code page
|
||||||
;com.code_page=
|
;com.code_page=
|
||||||
|
|
||||||
|
; The version of the .NET framework to use. The value of the setting are the first three parts
|
||||||
|
; of the framework's version number, separated by dots, and prefixed with "v", e.g. "v4.0.30319".
|
||||||
|
;com.dotnet_version=
|
||||||
|
|
||||||
[mbstring]
|
[mbstring]
|
||||||
; language for internal character representation.
|
; language for internal character representation.
|
||||||
; This affects mb_send_mail() and mbstring.detect_order.
|
; This affects mb_send_mail() and mbstring.detect_order.
|
||||||
; http://php.net/mbstring.language
|
; https://php.net/mbstring.language
|
||||||
;mbstring.language = Japanese
|
;mbstring.language = Japanese
|
||||||
|
|
||||||
; Use of this INI entry is deprecated, use global internal_encoding instead.
|
; Use of this INI entry is deprecated, use global internal_encoding instead.
|
||||||
@@ -1656,8 +1541,8 @@ zend.assertions = -1
|
|||||||
; http input encoding.
|
; http input encoding.
|
||||||
; mbstring.encoding_translation = On is needed to use this setting.
|
; mbstring.encoding_translation = On is needed to use this setting.
|
||||||
; If empty, default_charset or input_encoding or mbstring.input is used.
|
; If empty, default_charset or input_encoding or mbstring.input is used.
|
||||||
; The precedence is: default_charset < input_encoding < mbsting.http_input
|
; The precedence is: default_charset < input_encoding < mbstring.http_input
|
||||||
; http://php.net/mbstring.http-input
|
; https://php.net/mbstring.http-input
|
||||||
;mbstring.http_input =
|
;mbstring.http_input =
|
||||||
|
|
||||||
; Use of this INI entry is deprecated, use global output_encoding instead.
|
; Use of this INI entry is deprecated, use global output_encoding instead.
|
||||||
@@ -1667,7 +1552,7 @@ zend.assertions = -1
|
|||||||
; The precedence is: default_charset < output_encoding < mbstring.http_output
|
; The precedence is: default_charset < output_encoding < mbstring.http_output
|
||||||
; To use an output encoding conversion, mbstring's output handler must be set
|
; To use an output encoding conversion, mbstring's output handler must be set
|
||||||
; otherwise output encoding conversion cannot be performed.
|
; otherwise output encoding conversion cannot be performed.
|
||||||
; http://php.net/mbstring.http-output
|
; https://php.net/mbstring.http-output
|
||||||
;mbstring.http_output =
|
;mbstring.http_output =
|
||||||
|
|
||||||
; enable automatic encoding translation according to
|
; enable automatic encoding translation according to
|
||||||
@@ -1675,49 +1560,40 @@ zend.assertions = -1
|
|||||||
; converted to internal encoding by setting this to On.
|
; converted to internal encoding by setting this to On.
|
||||||
; Note: Do _not_ use automatic encoding translation for
|
; Note: Do _not_ use automatic encoding translation for
|
||||||
; portable libs/applications.
|
; portable libs/applications.
|
||||||
; http://php.net/mbstring.encoding-translation
|
; https://php.net/mbstring.encoding-translation
|
||||||
;mbstring.encoding_translation = Off
|
;mbstring.encoding_translation = Off
|
||||||
|
|
||||||
; automatic encoding detection order.
|
; automatic encoding detection order.
|
||||||
; "auto" detect order is changed according to mbstring.language
|
; "auto" detect order is changed according to mbstring.language
|
||||||
; http://php.net/mbstring.detect-order
|
; https://php.net/mbstring.detect-order
|
||||||
;mbstring.detect_order = auto
|
;mbstring.detect_order = auto
|
||||||
|
|
||||||
; substitute_character used when character cannot be converted
|
; substitute_character used when character cannot be converted
|
||||||
; one from another
|
; one from another
|
||||||
; http://php.net/mbstring.substitute-character
|
; https://php.net/mbstring.substitute-character
|
||||||
;mbstring.substitute_character = none
|
;mbstring.substitute_character = none
|
||||||
|
|
||||||
; overload(replace) single byte functions by mbstring functions.
|
; Enable strict encoding detection.
|
||||||
; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
|
;mbstring.strict_detection = Off
|
||||||
; etc. Possible values are 0,1,2,4 or combination of them.
|
|
||||||
; For example, 7 for overload everything.
|
|
||||||
; 0: No overload
|
|
||||||
; 1: Overload mail() function
|
|
||||||
; 2: Overload str*() functions
|
|
||||||
; 4: Overload ereg*() functions
|
|
||||||
; http://php.net/mbstring.func-overload
|
|
||||||
;mbstring.func_overload = 0
|
|
||||||
|
|
||||||
; enable strict encoding detection.
|
|
||||||
; Default: Off
|
|
||||||
;mbstring.strict_detection = On
|
|
||||||
|
|
||||||
; This directive specifies the regex pattern of content types for which mb_output_handler()
|
; This directive specifies the regex pattern of content types for which mb_output_handler()
|
||||||
; is activated.
|
; is activated.
|
||||||
; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml)
|
; Default: mbstring.http_output_conv_mimetypes=^(text/|application/xhtml\+xml)
|
||||||
;mbstring.http_output_conv_mimetype=
|
;mbstring.http_output_conv_mimetypes=
|
||||||
|
|
||||||
; This directive specifies maximum stack depth for mbstring regular expressions. It is similar
|
; This directive specifies maximum stack depth for mbstring regular expressions. It is similar
|
||||||
; to the pcre.recursion_limit for PCRE.
|
; to the pcre.recursion_limit for PCRE.
|
||||||
; Default: 100000
|
|
||||||
;mbstring.regex_stack_limit=100000
|
;mbstring.regex_stack_limit=100000
|
||||||
|
|
||||||
|
; This directive specifies maximum retry count for mbstring regular expressions. It is similar
|
||||||
|
; to the pcre.backtrack_limit for PCRE.
|
||||||
|
;mbstring.regex_retry_limit=1000000
|
||||||
|
|
||||||
[gd]
|
[gd]
|
||||||
; Tell the jpeg decode to ignore warnings and try to create
|
; Tell the jpeg decode to ignore warnings and try to create
|
||||||
; a gd image. The warning will then be displayed as notices
|
; a gd image. The warning will then be displayed as notices
|
||||||
; disabled by default
|
; disabled by default
|
||||||
; http://php.net/gd.jpeg-ignore-warning
|
; https://php.net/gd.jpeg-ignore-warning
|
||||||
;gd.jpeg_ignore_warning = 1
|
;gd.jpeg_ignore_warning = 1
|
||||||
|
|
||||||
[exif]
|
[exif]
|
||||||
@@ -1725,48 +1601,48 @@ zend.assertions = -1
|
|||||||
; With mbstring support this will automatically be converted into the encoding
|
; With mbstring support this will automatically be converted into the encoding
|
||||||
; given by corresponding encode setting. When empty mbstring.internal_encoding
|
; given by corresponding encode setting. When empty mbstring.internal_encoding
|
||||||
; is used. For the decode settings you can distinguish between motorola and
|
; is used. For the decode settings you can distinguish between motorola and
|
||||||
; intel byte order. A decode setting cannot be empty.
|
; intel byte order. A decode setting must not be empty.
|
||||||
; http://php.net/exif.encode-unicode
|
; https://php.net/exif.encode-unicode
|
||||||
;exif.encode_unicode = ISO-8859-15
|
;exif.encode_unicode = ISO-8859-15
|
||||||
|
|
||||||
; http://php.net/exif.decode-unicode-motorola
|
; https://php.net/exif.decode-unicode-motorola
|
||||||
;exif.decode_unicode_motorola = UCS-2BE
|
;exif.decode_unicode_motorola = UCS-2BE
|
||||||
|
|
||||||
; http://php.net/exif.decode-unicode-intel
|
; https://php.net/exif.decode-unicode-intel
|
||||||
;exif.decode_unicode_intel = UCS-2LE
|
;exif.decode_unicode_intel = UCS-2LE
|
||||||
|
|
||||||
; http://php.net/exif.encode-jis
|
; https://php.net/exif.encode-jis
|
||||||
;exif.encode_jis =
|
;exif.encode_jis =
|
||||||
|
|
||||||
; http://php.net/exif.decode-jis-motorola
|
; https://php.net/exif.decode-jis-motorola
|
||||||
;exif.decode_jis_motorola = JIS
|
;exif.decode_jis_motorola = JIS
|
||||||
|
|
||||||
; http://php.net/exif.decode-jis-intel
|
; https://php.net/exif.decode-jis-intel
|
||||||
;exif.decode_jis_intel = JIS
|
;exif.decode_jis_intel = JIS
|
||||||
|
|
||||||
[Tidy]
|
[Tidy]
|
||||||
; The path to a default tidy configuration file to use when using tidy
|
; The path to a default tidy configuration file to use when using tidy
|
||||||
; http://php.net/tidy.default-config
|
; https://php.net/tidy.default-config
|
||||||
;tidy.default_config = /usr/local/lib/php/default.tcfg
|
;tidy.default_config = /usr/local/lib/php/default.tcfg
|
||||||
|
|
||||||
; Should tidy clean and repair output automatically?
|
; Should tidy clean and repair output automatically?
|
||||||
; WARNING: Do not use this option if you are generating non-html content
|
; WARNING: Do not use this option if you are generating non-html content
|
||||||
; such as dynamic images
|
; such as dynamic images
|
||||||
; http://php.net/tidy.clean-output
|
; https://php.net/tidy.clean-output
|
||||||
tidy.clean_output = Off
|
tidy.clean_output = Off
|
||||||
|
|
||||||
[soap]
|
[soap]
|
||||||
; Enables or disables WSDL caching feature.
|
; Enables or disables WSDL caching feature.
|
||||||
; http://php.net/soap.wsdl-cache-enabled
|
; https://php.net/soap.wsdl-cache-enabled
|
||||||
soap.wsdl_cache_enabled=1
|
soap.wsdl_cache_enabled=1
|
||||||
|
|
||||||
; Sets the directory name where SOAP extension will put cache files.
|
; Sets the directory name where SOAP extension will put cache files.
|
||||||
; http://php.net/soap.wsdl-cache-dir
|
; https://php.net/soap.wsdl-cache-dir
|
||||||
soap.wsdl_cache_dir="/tmp"
|
soap.wsdl_cache_dir="/tmp"
|
||||||
|
|
||||||
; (time to live) Sets the number of second while cached file will be used
|
; (time to live) Sets the number of second while cached file will be used
|
||||||
; instead of original one.
|
; instead of original one.
|
||||||
; http://php.net/soap.wsdl-cache-ttl
|
; https://php.net/soap.wsdl-cache-ttl
|
||||||
soap.wsdl_cache_ttl=86400
|
soap.wsdl_cache_ttl=86400
|
||||||
|
|
||||||
; Sets the size of the cache limit. (Max. number of WSDL files to cache)
|
; Sets the size of the cache limit. (Max. number of WSDL files to cache)
|
||||||
@@ -1825,6 +1701,11 @@ ldap.max_links = -1
|
|||||||
; size of the optimized code.
|
; size of the optimized code.
|
||||||
;opcache.save_comments=1
|
;opcache.save_comments=1
|
||||||
|
|
||||||
|
; If enabled, compilation warnings (including notices and deprecations) will
|
||||||
|
; be recorded and replayed each time a file is included. Otherwise, compilation
|
||||||
|
; warnings will only be emitted when the file is first cached.
|
||||||
|
;opcache.record_warnings=0
|
||||||
|
|
||||||
; Allow file existence override (file_exists, etc.) performance feature.
|
; Allow file existence override (file_exists, etc.) performance feature.
|
||||||
;opcache.enable_file_override=0
|
;opcache.enable_file_override=0
|
||||||
|
|
||||||
@@ -1846,10 +1727,6 @@ ldap.max_links = -1
|
|||||||
; are cached.
|
; are cached.
|
||||||
;opcache.max_file_size=0
|
;opcache.max_file_size=0
|
||||||
|
|
||||||
; Check the cache checksum each N requests.
|
|
||||||
; The default value of "0" means that the checks are disabled.
|
|
||||||
;opcache.consistency_checks=0
|
|
||||||
|
|
||||||
; How long to wait (in seconds) for a scheduled restart to begin if the cache
|
; How long to wait (in seconds) for a scheduled restart to begin if the cache
|
||||||
; is not being accessed.
|
; is not being accessed.
|
||||||
;opcache.force_restart_timeout=180
|
;opcache.force_restart_timeout=180
|
||||||
@@ -1880,6 +1757,10 @@ ldap.max_links = -1
|
|||||||
; errors.
|
; errors.
|
||||||
;opcache.mmap_base=
|
;opcache.mmap_base=
|
||||||
|
|
||||||
|
; Facilitates multiple OPcache instances per user (for Windows only). All PHP
|
||||||
|
; processes with the same cache ID and user share an OPcache instance.
|
||||||
|
;opcache.cache_id=
|
||||||
|
|
||||||
; Enables and sets the second level cache directory.
|
; Enables and sets the second level cache directory.
|
||||||
; It should improve performance when SHM memory is full, at server restart or
|
; It should improve performance when SHM memory is full, at server restart or
|
||||||
; SHM reset. The default "" disables file based caching.
|
; SHM reset. The default "" disables file based caching.
|
||||||
@@ -1897,8 +1778,13 @@ ldap.max_links = -1
|
|||||||
;opcache.file_cache_fallback=1
|
;opcache.file_cache_fallback=1
|
||||||
|
|
||||||
; Enables or disables copying of PHP code (text segment) into HUGE PAGES.
|
; Enables or disables copying of PHP code (text segment) into HUGE PAGES.
|
||||||
; This should improve performance, but requires appropriate OS configuration.
|
; Under certain circumstances (if only a single global PHP process is
|
||||||
;opcache.huge_code_pages=1
|
; started from which all others fork), this can increase performance
|
||||||
|
; by a tiny amount because TLB misses are reduced. On the other hand, this
|
||||||
|
; delays PHP startup, increases memory usage and degrades performance
|
||||||
|
; under memory pressure - use with care.
|
||||||
|
; Requires appropriate OS configuration.
|
||||||
|
;opcache.huge_code_pages=0
|
||||||
|
|
||||||
; Validate cached file permissions.
|
; Validate cached file permissions.
|
||||||
;opcache.validate_permission=0
|
;opcache.validate_permission=0
|
||||||
@@ -1910,6 +1796,24 @@ ldap.max_links = -1
|
|||||||
; optimizations.
|
; optimizations.
|
||||||
;opcache.opt_debug_level=0
|
;opcache.opt_debug_level=0
|
||||||
|
|
||||||
|
; Specifies a PHP script that is going to be compiled and executed at server
|
||||||
|
; start-up.
|
||||||
|
; https://php.net/opcache.preload
|
||||||
|
;opcache.preload=
|
||||||
|
|
||||||
|
; Preloading code as root is not allowed for security reasons. This directive
|
||||||
|
; facilitates to let the preloading to be run as another user.
|
||||||
|
; https://php.net/opcache.preload_user
|
||||||
|
;opcache.preload_user=
|
||||||
|
|
||||||
|
; Prevents caching files that are less than this number of seconds old. It
|
||||||
|
; protects from caching of incompletely updated files. In case all file updates
|
||||||
|
; on your site are atomic, you may increase performance by setting it to "0".
|
||||||
|
;opcache.file_update_protection=2
|
||||||
|
|
||||||
|
; Absolute path used to store shared lockfiles (for *nix only).
|
||||||
|
;opcache.lockfile_path=/tmp
|
||||||
|
|
||||||
[curl]
|
[curl]
|
||||||
; A default value for the CURLOPT_CAINFO option. This is required to be an
|
; A default value for the CURLOPT_CAINFO option. This is required to be an
|
||||||
; absolute path.
|
; absolute path.
|
||||||
@@ -1933,6 +1837,12 @@ ldap.max_links = -1
|
|||||||
; SSL stream context option.
|
; SSL stream context option.
|
||||||
;openssl.capath=
|
;openssl.capath=
|
||||||
|
|
||||||
; Local Variables:
|
[ffi]
|
||||||
; tab-width: 4
|
; FFI API restriction. Possible values:
|
||||||
; End:
|
; "preload" - enabled in CLI scripts and preloaded files (default)
|
||||||
|
; "false" - always disabled
|
||||||
|
; "true" - always enabled
|
||||||
|
;ffi.enable=preload
|
||||||
|
|
||||||
|
; List of headers files to preload, wildcard patterns allowed.
|
||||||
|
;ffi.preload=
|
@@ -1 +0,0 @@
|
|||||||
*.* -/dev/stdout
|
|
@@ -1,45 +0,0 @@
|
|||||||
[supervisord]
|
|
||||||
nodaemon=true
|
|
||||||
|
|
||||||
|
|
||||||
[program:rsyslog]
|
|
||||||
command = /usr/sbin/rsyslogd -n
|
|
||||||
directory = /
|
|
||||||
user = root
|
|
||||||
autostart = true
|
|
||||||
stdout_logfile=/dev/stdout
|
|
||||||
stdout_logfile_maxbytes=0
|
|
||||||
stderr_logfile=/dev/stderr
|
|
||||||
stderr_logfile_maxbytes=0
|
|
||||||
|
|
||||||
|
|
||||||
[program:apache2]
|
|
||||||
environment=HOSTNAME="%(ENV_HOSTNAME)s"
|
|
||||||
command = apachectl -D "FOREGROUND"
|
|
||||||
directory = /var/www
|
|
||||||
user = root
|
|
||||||
autostart = true
|
|
||||||
stdout_logfile=/dev/stdout
|
|
||||||
stdout_logfile_maxbytes=0
|
|
||||||
stderr_logfile=/dev/stderr
|
|
||||||
stderr_logfile_maxbytes=0
|
|
||||||
|
|
||||||
[program:php-fpm]
|
|
||||||
environment=HOSTNAME="%(ENV_HOSTNAME)s"
|
|
||||||
command = /usr/sbin/php-fpm8.1 -F
|
|
||||||
autostart = true
|
|
||||||
autorestart = true
|
|
||||||
directory = /var/www
|
|
||||||
user = root
|
|
||||||
stdout_logfile=/dev/stdout
|
|
||||||
stdout_logfile_maxbytes=0
|
|
||||||
stderr_logfile=/dev/stderr
|
|
||||||
stderr_logfile_maxbytes=0
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[unix_http_server]
|
|
||||||
file=/var/run/supervisor.sock
|
|
||||||
|
|
||||||
[rpcinterface:supervisor]
|
|
||||||
supervisor.rpcinterface_factory=supervisor.rpcinterface:make_main_rpcinterface
|
|
@@ -1,20 +0,0 @@
|
|||||||
[global]
|
|
||||||
daemonize=no
|
|
||||||
error_log=/dev/stderr
|
|
||||||
|
|
||||||
[www]
|
|
||||||
user = www-data
|
|
||||||
group = www-data
|
|
||||||
|
|
||||||
listen = /run/php/php8.1-fpm.sock
|
|
||||||
|
|
||||||
listen.owner = www-data
|
|
||||||
listen.group = www-data
|
|
||||||
|
|
||||||
pm = dynamic
|
|
||||||
|
|
||||||
pm.max_children = 5
|
|
||||||
pm.start_servers = 2
|
|
||||||
pm.min_spare_servers = 1
|
|
||||||
pm.max_spare_servers = 3
|
|
||||||
catch_workers_output = yes
|
|
@@ -9,8 +9,8 @@
|
|||||||
"jwks": {},
|
"jwks": {},
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"token_endpoint_auth_method": "client_secret_basic",
|
"token_endpoint_auth_method": "client_secret_basic",
|
||||||
"post_logout_redirect_uris": ["http://localhost:8000"],
|
"post_logout_redirect_uris": ["http://localhost:10502"],
|
||||||
"redirect_uris": ["http://localhost:8000/oauth2/callback"],
|
"redirect_uris": ["http://localhost:10502/oauth2/callback"],
|
||||||
"response_types": [
|
"response_types": [
|
||||||
"code"
|
"code"
|
||||||
],
|
],
|
||||||
|
67
misc/files/Caddyfile
Normal file
67
misc/files/Caddyfile
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
# The Caddyfile is an easy way to configure FrankenPHP and the Caddy web server.
|
||||||
|
#
|
||||||
|
# https://frankenphp.dev/docs/config
|
||||||
|
# https://caddyserver.com/docs/caddyfile
|
||||||
|
{
|
||||||
|
skip_install_trust
|
||||||
|
auto_https off
|
||||||
|
admin off
|
||||||
|
persist_config off
|
||||||
|
|
||||||
|
{$CADDY_GLOBAL_OPTIONS}
|
||||||
|
|
||||||
|
frankenphp {
|
||||||
|
php_ini {
|
||||||
|
realpath_cache_size 4096K
|
||||||
|
realpath_cache_ttl 600
|
||||||
|
opcache.enable_cli 1
|
||||||
|
opcache.memory_consumption 512
|
||||||
|
opcache.max_accelerated_files 20000
|
||||||
|
opcache.preload /app/config/preload.php
|
||||||
|
opcache.preload_user www-data
|
||||||
|
apc.enable_cli 1
|
||||||
|
apc.enable 1
|
||||||
|
|
||||||
|
{$PHPINI_EXTRA_CONFIG}
|
||||||
|
}
|
||||||
|
worker {
|
||||||
|
file /app/public/index.php
|
||||||
|
watch
|
||||||
|
name hydra-sql-worker
|
||||||
|
{$FRANKENPHP_WORKER_CONFIG}
|
||||||
|
}
|
||||||
|
{$FRANKENPHP_CONFIG}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
{$CADDY_EXTRA_CONFIG}
|
||||||
|
|
||||||
|
{$SERVER_NAME:localhost} {
|
||||||
|
root {$SERVER_ROOT:public/}
|
||||||
|
encode zstd br gzip
|
||||||
|
|
||||||
|
{$CADDY_SERVER_EXTRA_DIRECTIVES}
|
||||||
|
|
||||||
|
php_server {
|
||||||
|
try_files {path} index.php
|
||||||
|
}
|
||||||
|
|
||||||
|
@phpFile {
|
||||||
|
path *.php*
|
||||||
|
}
|
||||||
|
error @phpFile "Not found" 404
|
||||||
|
|
||||||
|
@shouldSkip {
|
||||||
|
expression "{$CADDY_LOG_SKIP:true}" == "true"
|
||||||
|
path_regexp skipPaths ^/({$CADDY_LOG_FILTER:health|metrics})$
|
||||||
|
}
|
||||||
|
log_skip @shouldSkip
|
||||||
|
log {
|
||||||
|
output stdout
|
||||||
|
format {$CADDY_LOG_FORMAT:console}
|
||||||
|
level {$CADDY_LOG_LEVEL:INFO}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
import Caddyfile.d/*.caddyfile
|
||||||
|
import Caddyfile.d/*.caddyfile
|
8
misc/files/frankenphp.caddyfile-prod
Normal file
8
misc/files/frankenphp.caddyfile-prod
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
frankenphp {
|
||||||
|
php_ini {
|
||||||
|
opcache.validate_timestamps 0
|
||||||
|
opcache.revalidate_freq 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -1,15 +0,0 @@
|
|||||||
ARG NODE_OPTIONS="--openssl-legacy-provider"
|
|
||||||
ARG PHP_PKG_VERSION="8.1.22-r0"
|
|
||||||
ARG ADDITIONAL_PACKAGES="bash=5.2.15-r0 \
|
|
||||||
build-base=0.5-r3 \
|
|
||||||
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}"
|
|
||||||
|
|
||||||
FROM reg.cadoles.com/cadoles/symfony:alpine-php-8.1-base-2024.3.29-stable.1046.c568908
|
|
46
misc/images/hydra-sql-dev/Dockerfile
Normal file
46
misc/images/hydra-sql-dev/Dockerfile
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
## NPM INSTALL ##
|
||||||
|
FROM node:24.7.0 AS npm-install
|
||||||
|
|
||||||
|
ARG ENCORE_MODE=dev
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
RUN npm install \
|
||||||
|
&& npm run dev
|
||||||
|
|
||||||
|
## FINAL IMAGE ##
|
||||||
|
FROM dunglas/frankenphp:1.9.1-php8.4-bookworm
|
||||||
|
|
||||||
|
ENV APP_ENV=prod \
|
||||||
|
APP_DEBUG=0 \
|
||||||
|
APP_LOCALES="fr,en" \
|
||||||
|
BASE_PATH=""
|
||||||
|
|
||||||
|
COPY ./misc/files/Caddyfile /etc/caddy/Caddyfile
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY --from=npm-install /app .
|
||||||
|
COPY --from=composer /usr/bin/composer /usr/bin/composer
|
||||||
|
|
||||||
|
|
||||||
|
RUN apt-get -y update \
|
||||||
|
&& apt-get -y install sudo \
|
||||||
|
&& curl -1sLf 'https://dl.cloudsmith.io/public/symfony/stable/setup.deb.sh' | sudo -E bash \
|
||||||
|
&& apt-get -y install \
|
||||||
|
git \
|
||||||
|
vim \
|
||||||
|
symfony-cli \
|
||||||
|
zip \
|
||||||
|
&& cp $PHP_INI_DIR/php.ini-development $PHP_INI_DIR/php.ini \
|
||||||
|
&& install-php-extensions \
|
||||||
|
pdo_pgsql \
|
||||||
|
pdo_mysql \
|
||||||
|
opcache \
|
||||||
|
apcu \
|
||||||
|
xdebug \
|
||||||
|
redis \
|
||||||
|
intl \
|
||||||
|
&& composer install --ignore-platform-reqs --no-cache \
|
||||||
|
&& bin/console assets:install --symlink --relative
|
63
misc/images/hydra-sql-prod/Dockerfile
Normal file
63
misc/images/hydra-sql-prod/Dockerfile
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
## NPM INSTALL ##
|
||||||
|
FROM node:24.7.0 AS npm-install
|
||||||
|
|
||||||
|
ARG ENCORE_MODE=production
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
RUN npm install \
|
||||||
|
&& npm run build
|
||||||
|
|
||||||
|
|
||||||
|
## COMPOSER INSTALL ##
|
||||||
|
FROM dunglas/frankenphp:1.9.1-php8.4-bookworm AS composer-install
|
||||||
|
|
||||||
|
ARG APP_ENV=prod \
|
||||||
|
APP_DEBUG=0 \
|
||||||
|
APP_LOCALES="fr,en" \
|
||||||
|
BASE_PATH=""
|
||||||
|
|
||||||
|
COPY ./misc/files/Caddyfile /etc/frankenphp/Caddyfile
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY --from=npm-install /app .
|
||||||
|
COPY --from=composer /usr/bin/composer /usr/bin/composer
|
||||||
|
|
||||||
|
RUN apt-get -y update \
|
||||||
|
&& apt-get -y install git \
|
||||||
|
&& install-php-extensions \
|
||||||
|
opcache \
|
||||||
|
apcu \
|
||||||
|
redis \
|
||||||
|
&& composer install --ignore-platform-reqs --no-cache -a --no-dev --optimize-autoloader \
|
||||||
|
&& composer dump-autoload --no-dev --classmap-authoritative \
|
||||||
|
&& bin/console assets:install --symlink --relative
|
||||||
|
|
||||||
|
|
||||||
|
## FINAL IMAGE ##
|
||||||
|
FROM dunglas/frankenphp:1.9.1-php8.4-bookworm
|
||||||
|
|
||||||
|
ARG VERSION
|
||||||
|
|
||||||
|
ENV APP_ENV=prod \
|
||||||
|
APP_DEBUG=0 \
|
||||||
|
APP_LOCALES="fr,en" \
|
||||||
|
BASE_PATH="" \
|
||||||
|
VERSION=${VERSION}
|
||||||
|
|
||||||
|
COPY ./misc/files/Caddyfile /etc/frankenphp/Caddyfile
|
||||||
|
COPY ./misc/files/frankenphp.caddyfile-prod /etc/frankenphp/Caddyfile.d/frankenphp.caddyfile
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY --from=composer-install /app .
|
||||||
|
|
||||||
|
RUN cp $PHP_INI_DIR/php.ini-production $PHP_INI_DIR/php.ini \
|
||||||
|
&& install-php-extensions \
|
||||||
|
pdo_pgsql \
|
||||||
|
pdo_mysql \
|
||||||
|
opcache \
|
||||||
|
apcu \
|
||||||
|
redis
|
@@ -1,16 +0,0 @@
|
|||||||
ARG NODE_OPTIONS="--openssl-legacy-provider"
|
|
||||||
ARG PHP_PKG_VERSION="8.1.22-r0"
|
|
||||||
ARG ADDITIONAL_PACKAGES="bash=5.2.15-r0 \
|
|
||||||
build-base=0.5-r3 \
|
|
||||||
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}"
|
|
||||||
|
|
||||||
FROM reg.cadoles.com/cadoles/symfony:alpine-php-8.1-standalone-2024.3.29-stable.1046.c568908
|
|
||||||
USER www-data
|
|
10440
package-lock.json
generated
10440
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -2,13 +2,12 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "^7.17.0",
|
"@babel/core": "^7.17.0",
|
||||||
"@babel/preset-env": "^7.16.0",
|
"@babel/preset-env": "^7.16.0",
|
||||||
"@hotwired/stimulus": "^3.0.0",
|
|
||||||
"@symfony/stimulus-bridge": "^3.2.0",
|
|
||||||
"@symfony/webpack-encore": "^4.1.2",
|
"@symfony/webpack-encore": "^4.1.2",
|
||||||
"core-js": "^3.23.0",
|
"core-js": "^3.23.0",
|
||||||
"regenerator-runtime": "^0.13.9",
|
"regenerator-runtime": "^0.13.9",
|
||||||
"webpack": "^5.91.0",
|
"webpack": "^5.94.0",
|
||||||
"webpack-cli": "^4.10.0",
|
"webpack-cli": "^4.10.0",
|
||||||
|
"file-loader": "^6.2.0",
|
||||||
"webpack-notifier": "^1.15.0"
|
"webpack-notifier": "^1.15.0"
|
||||||
},
|
},
|
||||||
"license": "UNLICENSED",
|
"license": "UNLICENSED",
|
||||||
@@ -26,6 +25,7 @@
|
|||||||
"jquery": "^3.6.1",
|
"jquery": "^3.6.1",
|
||||||
"postcss-loader": "^7.0.2",
|
"postcss-loader": "^7.0.2",
|
||||||
"sass": "^1.56.2",
|
"sass": "^1.56.2",
|
||||||
"sass-loader": "^13.2.0"
|
"sass-loader": "^13.2.0",
|
||||||
|
"altcha": "^2.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
8
phpstan.dist.neon
Normal file
8
phpstan.dist.neon
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
parameters:
|
||||||
|
level: 6
|
||||||
|
paths:
|
||||||
|
- bin/
|
||||||
|
- config/
|
||||||
|
- public/
|
||||||
|
- src/
|
||||||
|
- tests/
|
File diff suppressed because one or more lines are too long
@@ -1,30 +0,0 @@
|
|||||||
/*!
|
|
||||||
* Bootstrap v5.2.3 (https://getbootstrap.com/)
|
|
||||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Sizzle CSS Selector Engine v2.3.9
|
|
||||||
* https://sizzlejs.com/
|
|
||||||
*
|
|
||||||
* Copyright JS Foundation and other contributors
|
|
||||||
* Released under the MIT license
|
|
||||||
* https://js.foundation/
|
|
||||||
*
|
|
||||||
* Date: 2022-12-19
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* jQuery JavaScript Library v3.6.3
|
|
||||||
* https://jquery.com/
|
|
||||||
*
|
|
||||||
* Includes Sizzle.js
|
|
||||||
* https://sizzlejs.com/
|
|
||||||
*
|
|
||||||
* Copyright OpenJS Foundation and other contributors
|
|
||||||
* Released under the MIT license
|
|
||||||
* https://jquery.org/license
|
|
||||||
*
|
|
||||||
* Date: 2022-12-20T21:28Z
|
|
||||||
*/
|
|
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
|||||||
body{min-height:50vh}.wrapper,body{align-items:center;display:flex;justify-content:center}.wrapper{height:100%}form{border:1px solid grey;border-radius:5px;display:flex;flex-direction:column;padding:15px}.form-error{color:red}.lang{align-items:center;display:flex;justify-content:center}.lang .flag{height:auto;margin:5px;width:200px}
|
|
@@ -1 +0,0 @@
|
|||||||
(self.webpackChunk=self.webpackChunk||[]).push([[143],{4180:(t,e,r)=>{var n={"./hello_controller.js":4695};function o(t){var e=i(t);return r(e)}function i(t){if(!r.o(n,t)){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}return n[t]}o.keys=function(){return Object.keys(n)},o.resolve=i,t.exports=o,o.id=4180},8205:(t,e,r)=>{"use strict";r.d(e,{Z:()=>n});const n={}},4695:(t,e,r)=>{"use strict";r.r(e),r.d(e,{default:()=>s});r(8304),r(4812),r(489),r(1539),r(2419),r(8011),r(9070),r(6649),r(6078),r(2526),r(1817),r(9653),r(2165),r(6992),r(8783),r(3948);function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){for(var r=0;r<e.length;r++){var o=e[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,(i=o.key,u=void 0,u=function(t,e){if("object"!==n(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var o=r.call(t,e||"default");if("object"!==n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(i,"string"),"symbol"===n(u)?u:String(u)),o)}var i,u}function u(t,e){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},u(t,e)}function c(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=l(t);if(e){var o=l(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return f(this,r)}}function f(t,e){if(e&&("object"===n(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function l(t){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},l(t)}var s=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&u(t,e)}(l,t);var e,r,n,f=c(l);function l(){return o(this,l),f.apply(this,arguments)}return e=l,(r=[{key:"connect",value:function(){this.element.textContent="Hello Stimulus! Edit me in assets/controllers/hello_controller.js"}}])&&i(e.prototype,r),n&&i(e,n),Object.defineProperty(e,"prototype",{writable:!1}),l}(r(6599).Qr)},9437:(t,e,r)=>{"use strict";(0,r(2192).x)(r(4180))}},t=>{t.O(0,[3],(()=>{return e=9437,t(t.s=e);var e}));t.O()}]);
|
|
7
public/build/app/bootstrap-css.css
vendored
7
public/build/app/bootstrap-css.css
vendored
File diff suppressed because one or more lines are too long
1
public/build/app/bootstrap-css.js
vendored
1
public/build/app/bootstrap-css.js
vendored
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[113],{9218:()=>{}},s=>{var e;e=9218,s(s.s=e)}]);
|
|
1
public/build/app/bootstrap-js.js
vendored
1
public/build/app/bootstrap-js.js
vendored
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[144],{2576:(e,s,u)=>{u(3138)}},e=>{e.O(0,[138],(()=>{return s=2576,e(e.s=s);var s}));e.O()}]);
|
|
@@ -1,30 +0,0 @@
|
|||||||
{
|
|
||||||
"entrypoints": {
|
|
||||||
"app": {
|
|
||||||
"js": [
|
|
||||||
"/build/app/runtime.js",
|
|
||||||
"/build/app/3.js",
|
|
||||||
"/build/app/app.js"
|
|
||||||
],
|
|
||||||
"css": [
|
|
||||||
"/build/app/app.css"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"bootstrap-css": {
|
|
||||||
"js": [
|
|
||||||
"/build/app/runtime.js",
|
|
||||||
"/build/app/bootstrap-css.js"
|
|
||||||
],
|
|
||||||
"css": [
|
|
||||||
"/build/app/bootstrap-css.css"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"bootstrap-js": {
|
|
||||||
"js": [
|
|
||||||
"/build/app/runtime.js",
|
|
||||||
"/build/app/138.js",
|
|
||||||
"/build/app/bootstrap-js.js"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,10 +0,0 @@
|
|||||||
{
|
|
||||||
"build/app/app.css": "/build/app/app.css",
|
|
||||||
"build/app/app.js": "/build/app/app.js",
|
|
||||||
"build/app/bootstrap-css.css": "/build/app/bootstrap-css.css",
|
|
||||||
"build/app/bootstrap-css.js": "/build/app/bootstrap-css.js",
|
|
||||||
"build/app/bootstrap-js.js": "/build/app/bootstrap-js.js",
|
|
||||||
"build/app/runtime.js": "/build/app/runtime.js",
|
|
||||||
"build/app/3.js": "/build/app/3.js",
|
|
||||||
"build/app/138.js": "/build/app/138.js"
|
|
||||||
}
|
|
@@ -1 +0,0 @@
|
|||||||
(()=>{"use strict";var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e].call(i.exports,i,i.exports,o),i.exports}o.m=r,e=[],o.O=(r,t,n,i)=>{if(!t){var l=1/0;for(s=0;s<e.length;s++){for(var[t,n,i]=e[s],a=!0,u=0;u<t.length;u++)(!1&i||l>=i)&&Object.keys(o.O).every((e=>o.O[e](t[u])))?t.splice(u--,1):(a=!1,i<l&&(l=i));if(a){e.splice(s--,1);var f=n();void 0!==f&&(r=f)}}return r}i=i||0;for(var s=e.length;s>0&&e[s-1][2]>i;s--)e[s]=e[s-1];e[s]=[t,n,i]},o.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return o.d(r,{a:r}),r},o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={666:0};o.O.j=r=>0===e[r];var r=(r,t)=>{var n,i,[l,a,u]=t,f=0;if(l.some((r=>0!==e[r]))){for(n in a)o.o(a,n)&&(o.m[n]=a[n]);if(u)var s=u(o)}for(r&&r(t);f<l.length;f++)i=l[f],o.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return o.O(s)},t=self.webpackChunk=self.webpackChunk||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})()})();
|
|
@@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
"entrypoints": {
|
|
||||||
"theme": {
|
|
||||||
"js": [
|
|
||||||
"/build/theme/runtime.js",
|
|
||||||
"/build/theme/theme.js"
|
|
||||||
],
|
|
||||||
"css": [
|
|
||||||
"/build/theme/theme.css"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"build/theme/theme.css": "/build/theme/theme.css",
|
|
||||||
"build/theme/theme.js": "/build/theme/theme.js",
|
|
||||||
"build/theme/runtime.js": "/build/theme/runtime.js"
|
|
||||||
}
|
|
@@ -1 +0,0 @@
|
|||||||
(()=>{"use strict";var e,r={},o={};function t(e){var n=o[e];if(void 0!==n)return n.exports;var l=o[e]={exports:{}};return r[e](l,l.exports,t),l.exports}t.m=r,e=[],t.O=(r,o,n,l)=>{if(!o){var a=1/0;for(p=0;p<e.length;p++){for(var[o,n,l]=e[p],i=!0,f=0;f<o.length;f++)(!1&l||a>=l)&&Object.keys(t.O).every((e=>t.O[e](o[f])))?o.splice(f--,1):(i=!1,l<a&&(a=l));if(i){e.splice(p--,1);var u=n();void 0!==u&&(r=u)}}return r}l=l||0;for(var p=e.length;p>0&&e[p-1][2]>l;p--)e[p]=e[p-1];e[p]=[o,n,l]},t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={666:0};t.O.j=r=>0===e[r];var r=(r,o)=>{var n,l,[a,i,f]=o,u=0;if(a.some((r=>0!==e[r]))){for(n in i)t.o(i,n)&&(t.m[n]=i[n]);if(f)var p=f(t)}for(r&&r(o);u<a.length;u++)l=a[u],t.o(e,l)&&e[l]&&e[l][0](),e[l]=0;return t.O(p)},o=self.webpackChunk=self.webpackChunk||[];o.forEach(r.bind(null,0)),o.push=r.bind(null,o.push.bind(o))})()})();
|
|
@@ -1 +0,0 @@
|
|||||||
input[type=radio]:checked~.app-item{--tw-shadow:0 10px 15px -3px rgba(22,78,99,.3),0 4px 6px -4px rgba(22,78,99,.3);background-color:rgba(76,233,14,.15)}
|
|
@@ -1 +0,0 @@
|
|||||||
(self.webpackChunk=self.webpackChunk||[]).push([[505],{755:(s,e,k)=>{k(634),k(681)},634:()=>{},681:(s,e,k)=>{"use strict";k.r(e)}},s=>{var e;e=755,s(s.s=e)}]);
|
|
@@ -1,2 +0,0 @@
|
|||||||
require('./theme.js')
|
|
||||||
require('./theme.css')
|
|
@@ -1,4 +0,0 @@
|
|||||||
input[type="radio"]:checked ~ .app-item {
|
|
||||||
--tw-shadow: 0 10px 15px -3px rgb(22 78 99 / 0.3), 0 4px 6px -4px rgb(22 78 99 / 0.3);
|
|
||||||
background-color: rgb(76 233 14 / 0.15);
|
|
||||||
}
|
|
13
readme.md
13
readme.md
@@ -46,6 +46,7 @@ Elle permet de se connecter à une base de donnée et de vérifier un mot de pas
|
|||||||
| `PHP_FPM_PM_MIN_SPARE_SERVERS` | Définition du nombre minimum de processus enfants inactifs que PHP-FPM doit conserver en réserve. | 1 | |
|
| `PHP_FPM_PM_MIN_SPARE_SERVERS` | Définition du nombre minimum de processus enfants inactifs que PHP-FPM doit conserver en réserve. | 1 | |
|
||||||
| `PHP_FPM_PM_MAX_SPARE_SERVERS` | Définition du nombre maximum de processus enfants inactifs que PHP-FPM peut conserver en réserve. | 3 | |
|
| `PHP_FPM_PM_MAX_SPARE_SERVERS` | Définition du nombre maximum de processus enfants inactifs que PHP-FPM peut conserver en réserve. | 3 | |
|
||||||
| `XDG_DATA_HOME` | Définition du répertoire de base pour le stockage des données spécifiques à l'utilisateur. | /tmp/data | |
|
| `XDG_DATA_HOME` | Définition du répertoire de base pour le stockage des données spécifiques à l'utilisateur. | /tmp/data | |
|
||||||
|
| `ALTCHA_ENABLED` | Désactivation d'altcha lors de la connexion | true | |
|
||||||
|
|
||||||
### Algorithmes de hashage compatibles
|
### Algorithmes de hashage compatibles
|
||||||
|
|
||||||
@@ -71,13 +72,14 @@ sql_login:
|
|||||||
- email
|
- email
|
||||||
- lastname
|
- lastname
|
||||||
- firstname
|
- firstname
|
||||||
|
subject_rewrite_expression: 'firstname~"."~lastname~"@exemple.com"'
|
||||||
```
|
```
|
||||||
|
|
||||||
## Environnement de développement
|
## Environnement de développement
|
||||||
|
|
||||||
### Tester
|
### Tester
|
||||||
|
|
||||||
Se rendre sur [http://localhost:8000/](http://localhost:8000/) et cliquer `Login` pour commencer une nouvelle connexion.
|
Se rendre sur [http://localhost:10502/](http://localhost:10502/) et cliquer `Login` pour commencer une nouvelle connexion.
|
||||||
3 utilisateurs d'exemple sont disponible pour les tests:
|
3 utilisateurs d'exemple sont disponible pour les tests:
|
||||||
| Login | Mot de passe | Algorithme |
|
| Login | Mot de passe | Algorithme |
|
||||||
|-------|--------------|------------|
|
|-------|--------------|------------|
|
||||||
@@ -108,3 +110,12 @@ ex : `'redis:?host[redis1:26379]&host[redis2:26379]&host[redis3:26379]&redis_sen
|
|||||||
| `postgres` | Base de donnée postgres support du test et pour hydra | `5432` |
|
| `postgres` | Base de donnée postgres support du test et pour hydra | `5432` |
|
||||||
| `mariadb` | Base de donnée mariadb support du test | `3306` |
|
| `mariadb` | Base de donnée mariadb support du test | `3306` |
|
||||||
| `pgadmin` | pour administrer la base de donnée | `8085` |
|
| `pgadmin` | pour administrer la base de donnée | `8085` |
|
||||||
|
|
||||||
|
### build du sql theme
|
||||||
|
|
||||||
|
copier les images et les fonts dans les dossier ./assets
|
||||||
|
modifier si besoin le fichier theme-entrypoints.js
|
||||||
|
|
||||||
|
lancer un `npm run build`
|
||||||
|
|
||||||
|
|
||||||
|
28
rector.php
Normal file
28
rector.php
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
use Rector\Config\RectorConfig;
|
||||||
|
use Rector\Renaming\Rector\Class_\RenameAttributeRector;
|
||||||
|
use Rector\Symfony\Set\SymfonySetList;
|
||||||
|
|
||||||
|
return static function (RectorConfig $rectorConfig): void {
|
||||||
|
$rectorConfig->paths([
|
||||||
|
__DIR__ . '/src',
|
||||||
|
]);
|
||||||
|
|
||||||
|
$rectorConfig->sets([
|
||||||
|
SymfonySetList::SYMFONY_60,
|
||||||
|
SymfonySetList::SYMFONY_61,
|
||||||
|
SymfonySetList::SYMFONY_62,
|
||||||
|
SymfonySetList::SYMFONY_63,
|
||||||
|
SymfonySetList::SYMFONY_64,
|
||||||
|
SymfonySetList::SYMFONY_CODE_QUALITY,
|
||||||
|
SymfonySetList::SYMFONY_CONSTRUCTOR_INJECTION,
|
||||||
|
]);
|
||||||
|
|
||||||
|
$rectorConfig->importShortClasses(false);
|
||||||
|
$rectorConfig->skip([
|
||||||
|
RenameAttributeRector::class
|
||||||
|
]);
|
||||||
|
};
|
48
src/Altcha/AltchaTransformer.php
Normal file
48
src/Altcha/AltchaTransformer.php
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Altcha;
|
||||||
|
|
||||||
|
use App\Altcha\Form\AltchaModel;
|
||||||
|
use Symfony\Component\Form\DataTransformerInterface;
|
||||||
|
|
||||||
|
class AltchaTransformer implements DataTransformerInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public function reverseTransform($value): AltchaModel
|
||||||
|
{
|
||||||
|
if (empty($value)) {
|
||||||
|
return new AltchaModel();
|
||||||
|
}
|
||||||
|
|
||||||
|
$decodedValue = base64_decode($value);
|
||||||
|
$data = json_decode($decodedValue);
|
||||||
|
|
||||||
|
$model = new AltchaModel();
|
||||||
|
|
||||||
|
foreach ($data as $property => $value) {
|
||||||
|
$model->{$property} = $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $model;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public function transform($value): string
|
||||||
|
{
|
||||||
|
if (empty($value)) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
$json = json_encode($value);
|
||||||
|
|
||||||
|
if (false === $json) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
return base64_encode($json);
|
||||||
|
}
|
||||||
|
}
|
52
src/Altcha/AltchaValidator.php
Normal file
52
src/Altcha/AltchaValidator.php
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Altcha;
|
||||||
|
|
||||||
|
use Symfony\Component\Form\FormError;
|
||||||
|
use Symfony\Component\Form\FormEvent;
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
use Symfony\Contracts\HttpClient\HttpClientInterface;
|
||||||
|
use Symfony\Contracts\Translation\TranslatorInterface;
|
||||||
|
|
||||||
|
class AltchaValidator
|
||||||
|
{
|
||||||
|
public function __construct(
|
||||||
|
private readonly string $altchaHost,
|
||||||
|
private readonly string $altchaBaseUrl,
|
||||||
|
private readonly HttpClientInterface $httpClient,
|
||||||
|
private readonly TranslatorInterface $translator
|
||||||
|
) {
|
||||||
|
}
|
||||||
|
|
||||||
|
public function validate(FormEvent $formEvent): void
|
||||||
|
{
|
||||||
|
$form = $formEvent->getForm();
|
||||||
|
$data = $form->getData();
|
||||||
|
|
||||||
|
$response = $this->httpClient->request(
|
||||||
|
'POST',
|
||||||
|
$this->altchaHost.$this->altchaBaseUrl.'/verify',
|
||||||
|
[
|
||||||
|
'body' => json_encode($data),
|
||||||
|
'headers' => [
|
||||||
|
'Content-Type' => 'application/json',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
);
|
||||||
|
|
||||||
|
if (Response::HTTP_OK !== $response->getStatusCode()) {
|
||||||
|
$form->addError(new FormError($this->translator->trans('altcha.validator.server_validation_error', [], 'form')));
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$content = $response->getContent();
|
||||||
|
$parsedResponse = json_decode($content);
|
||||||
|
|
||||||
|
if (true !== $parsedResponse->success) {
|
||||||
|
$form->addError(new FormError($this->translator->trans('altcha.validator.server_validation_error', [], 'form')));
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
39
src/Altcha/Form/AltchaModel.php
Normal file
39
src/Altcha/Form/AltchaModel.php
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Altcha\Form;
|
||||||
|
|
||||||
|
use Symfony\Component\Validator\Constraints as Assert;
|
||||||
|
|
||||||
|
class AltchaModel
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @Assert\NotBlank()
|
||||||
|
* @Assert\Regex("/^(SHA-1|SHA-256|SHA-512)$/")
|
||||||
|
*/
|
||||||
|
public string $algorithm;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Assert\NotBlank()
|
||||||
|
*/
|
||||||
|
public string $challenge;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Assert\NotBlank()
|
||||||
|
*/
|
||||||
|
public string $salt;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Assert\NotBlank()
|
||||||
|
*/
|
||||||
|
public int $number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Assert\NotBlank()
|
||||||
|
*/
|
||||||
|
public string $signature;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Assert\NotBlank()
|
||||||
|
*/
|
||||||
|
public int $took;
|
||||||
|
}
|
81
src/Altcha/Form/AltchaType.php
Normal file
81
src/Altcha/Form/AltchaType.php
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Altcha\Form;
|
||||||
|
|
||||||
|
use App\Altcha\AltchaTransformer;
|
||||||
|
use App\Altcha\AltchaValidator;
|
||||||
|
use Symfony\Component\Form\AbstractType;
|
||||||
|
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
||||||
|
use Symfony\Component\Form\FormBuilderInterface;
|
||||||
|
use Symfony\Component\Form\FormEvents;
|
||||||
|
use Symfony\Component\Form\FormInterface;
|
||||||
|
use Symfony\Component\Form\FormView;
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
use Symfony\Contracts\HttpClient\HttpClientInterface;
|
||||||
|
use Symfony\Contracts\Translation\TranslatorInterface;
|
||||||
|
|
||||||
|
class AltchaType extends AbstractType
|
||||||
|
{
|
||||||
|
public function __construct(
|
||||||
|
private readonly string $altchaHost,
|
||||||
|
private readonly string $altchaBaseUrl,
|
||||||
|
private readonly string $altchaDebug,
|
||||||
|
private readonly string $altchaWorkers,
|
||||||
|
private readonly string $altchaDelay,
|
||||||
|
private readonly string $altchaMockError,
|
||||||
|
private readonly AltchaValidator $altchaValidator,
|
||||||
|
private readonly HttpClientInterface $httpClient,
|
||||||
|
private readonly TranslatorInterface $translator
|
||||||
|
) {
|
||||||
|
}
|
||||||
|
|
||||||
|
public function buildForm(FormBuilderInterface $builder, array $options): void
|
||||||
|
{
|
||||||
|
$builder->addModelTransformer(new AltchaTransformer());
|
||||||
|
|
||||||
|
$builder->addEventListener(FormEvents::POST_SUBMIT, [$this->altchaValidator, 'validate']);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function buildView(FormView $view, FormInterface $form, array $options)
|
||||||
|
{
|
||||||
|
$translations = [
|
||||||
|
'label' => $this->translator->trans('altcha.widget.label', [], 'form'),
|
||||||
|
'verified' => $this->translator->trans('altcha.widget.verified', [], 'form'),
|
||||||
|
'verifying' => $this->translator->trans('altcha.widget.verifying', [], 'form'),
|
||||||
|
'waitAlert' => $this->translator->trans('altcha.widget.waitalert', [], 'form'),
|
||||||
|
'error' => $this->translator->trans('altcha.widget.error', [], 'form'),
|
||||||
|
'expired' => $this->translator->trans('altcha.widget.expired', [], 'form'),
|
||||||
|
];
|
||||||
|
$view->vars['translations'] = json_encode($translations);
|
||||||
|
$view->vars['challengeJson'] = $this->requestChallenge();
|
||||||
|
$view->vars['debug'] = $this->altchaDebug;
|
||||||
|
$view->vars['workers'] = $this->altchaWorkers;
|
||||||
|
$view->vars['delay'] = $this->altchaDelay;
|
||||||
|
$view->vars['mockError'] = $this->altchaMockError;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function requestChallenge(): string
|
||||||
|
{
|
||||||
|
$resp = $this->httpClient->request('GET', $this->altchaHost.$this->altchaBaseUrl.'/request');
|
||||||
|
if (Response::HTTP_OK === $resp->getStatusCode()) {
|
||||||
|
return $resp->getContent();
|
||||||
|
}
|
||||||
|
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getParent(): string
|
||||||
|
{
|
||||||
|
return TextType::class;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getName(): string
|
||||||
|
{
|
||||||
|
return $this->getBlockPrefix();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getBlockPrefix(): string
|
||||||
|
{
|
||||||
|
return 'altcha';
|
||||||
|
}
|
||||||
|
}
|
@@ -4,12 +4,13 @@ namespace App\Controller;
|
|||||||
|
|
||||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||||
use Symfony\Component\ErrorHandler\Exception\FlattenException;
|
use Symfony\Component\ErrorHandler\Exception\FlattenException;
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
use Symfony\Component\Routing\Annotation\Route;
|
use Symfony\Component\Routing\Annotation\Route;
|
||||||
|
|
||||||
class CustomErrorController extends AbstractController
|
class CustomErrorController extends AbstractController
|
||||||
{
|
{
|
||||||
#[Route(path: '/error', name: 'custom_error_controller')]
|
#[Route(path: '/error', name: 'custom_error_controller')]
|
||||||
public function show(FlattenException $exception)
|
public function show(FlattenException $exception): Response
|
||||||
{
|
{
|
||||||
$statusCode = $exception->getStatusCode();
|
$statusCode = $exception->getStatusCode();
|
||||||
$message = $exception->getMessage();
|
$message = $exception->getMessage();
|
||||||
|
@@ -4,6 +4,7 @@ namespace App\Controller;
|
|||||||
|
|
||||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||||
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
|
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
|
||||||
|
use Symfony\Component\HttpFoundation\RedirectResponse;
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\Routing\Annotation\Route;
|
use Symfony\Component\Routing\Annotation\Route;
|
||||||
|
|
||||||
@@ -17,7 +18,7 @@ class LocaleController extends AbstractController
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[Route(path: 'locale/{locale?}', name: 'locale_change')]
|
#[Route(path: 'locale/{locale?}', name: 'locale_change')]
|
||||||
public function changeLocal(?string $locale, Request $request)
|
public function changeLocal(?string $locale, Request $request): RedirectResponse
|
||||||
{
|
{
|
||||||
if (empty($locale)) {
|
if (empty($locale)) {
|
||||||
$locale = $this->params->get('default_locale');
|
$locale = $this->params->get('default_locale');
|
||||||
|
@@ -5,55 +5,72 @@ namespace App\Controller;
|
|||||||
use App\Entity\User;
|
use App\Entity\User;
|
||||||
use App\Hydra\Client;
|
use App\Hydra\Client;
|
||||||
use App\Hydra\HydraService;
|
use App\Hydra\HydraService;
|
||||||
|
use App\SQLLogin\SQLLoginRequest;
|
||||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||||
|
use Symfony\Component\ExpressionLanguage\ExpressionLanguage;
|
||||||
|
use Symfony\Component\Finder\Exception\AccessDeniedException;
|
||||||
use Symfony\Component\HttpFoundation\RedirectResponse;
|
use Symfony\Component\HttpFoundation\RedirectResponse;
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
|
use Symfony\Component\HttpFoundation\RequestStack;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
use Symfony\Component\HttpFoundation\Session\SessionInterface;
|
|
||||||
use Symfony\Component\Routing\Annotation\Route;
|
use Symfony\Component\Routing\Annotation\Route;
|
||||||
|
|
||||||
class MainController extends AbstractController
|
class MainController extends AbstractController
|
||||||
{
|
{
|
||||||
public HydraService $hydra;
|
public function __construct(
|
||||||
public Client $client;
|
private readonly RequestStack $requestStack,
|
||||||
public SessionInterface $session;
|
private readonly HydraService $hydra,
|
||||||
|
private readonly Client $client
|
||||||
public function __construct(SessionInterface $session, HydraService $hydra, Client $client)
|
){
|
||||||
{
|
|
||||||
$this->session = $session;
|
|
||||||
$this->client = $client;
|
|
||||||
$this->hydra = $hydra;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('/', name: 'app_home')]
|
#[Route('/', name: 'app_home')]
|
||||||
public function home(Request $request)
|
public function home(Request $request): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->hydra->handleLoginRequest($request);
|
return $this->hydra->handleLoginRequest($request);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Route de Healthcheck (notament pour kubernetes)
|
* Route de Healthcheck (notament pour kubernetes)
|
||||||
*/
|
*/
|
||||||
#[Route('/health', name: 'health')]
|
#[Route('/health', name: 'health')]
|
||||||
public function health(Request $request)
|
public function health(): Response
|
||||||
{
|
{
|
||||||
return new Response('healthy', 200);
|
return new Response('healthy', Response::HTTP_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('/connect/login-accept', name: 'app_login_accept')]
|
#[Route('/connect/login-accept', name: 'app_login_accept', methods: ['GET'])]
|
||||||
public function loginAccept(Request $request)
|
public function loginAccept(SQLLoginRequest $sqlLoginRequest): RedirectResponse
|
||||||
{
|
{
|
||||||
/** @var User */
|
|
||||||
$user = $this->getUser();
|
$user = $this->getUser();
|
||||||
$loginAcceptRes = $this->client->acceptLoginRequest($this->session->get('challenge'), [
|
|
||||||
'subject' => $user->getLogin(),
|
if (!$user instanceof User) {
|
||||||
'remember' => true,
|
throw new AccessDeniedException();
|
||||||
])->toArray();
|
}
|
||||||
|
$challenge = $this->requestStack->getSession()->get('challenge');
|
||||||
|
if (!$challenge) {
|
||||||
|
return new RedirectResponse($this->getParameter('issuer_url'));
|
||||||
|
}
|
||||||
|
|
||||||
|
$subject = $user->getLogin();
|
||||||
|
|
||||||
|
$subjectRewriteExpression = $sqlLoginRequest->getSubjectRewriteExpression();
|
||||||
|
if (null != $subjectRewriteExpression) {
|
||||||
|
$expressionLanguage = new ExpressionLanguage();
|
||||||
|
|
||||||
|
$subject = $expressionLanguage->evaluate($subjectRewriteExpression, $user->getAttributes());
|
||||||
|
}
|
||||||
|
|
||||||
|
$loginAcceptRes = $this->client->acceptLoginRequest($challenge, [
|
||||||
|
'subject' => $subject,
|
||||||
|
'remember' => true,
|
||||||
|
])->toArray();
|
||||||
|
|
||||||
return new RedirectResponse($loginAcceptRes['redirect_to']);
|
return new RedirectResponse($loginAcceptRes['redirect_to']);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('/connect/consent', name: 'app_consent')]
|
#[Route('/connect/consent', name: 'app_consent')]
|
||||||
public function consent(Request $request)
|
public function consent(Request $request): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->hydra->handleConsentRequest($request);
|
return $this->hydra->handleConsentRequest($request);
|
||||||
}
|
}
|
||||||
|
@@ -17,7 +17,7 @@ use Symfony\Contracts\Translation\TranslatorInterface;
|
|||||||
class SecurityController extends AbstractController
|
class SecurityController extends AbstractController
|
||||||
{
|
{
|
||||||
#[Route('/login', name: 'app_login')]
|
#[Route('/login', name: 'app_login')]
|
||||||
public function login(ParameterBagInterface $params, AuthenticationUtils $authenticationUtils, Request $request, TranslatorInterface $trans): Response
|
public function login(ParameterBagInterface $params, AuthenticationUtils $authenticationUtils, Request $request, TranslatorInterface $trans): Response|RedirectResponse
|
||||||
{
|
{
|
||||||
// Si l'utilisateur est déjà connecté on le renvoie sur la page du site demandeur
|
// Si l'utilisateur est déjà connecté on le renvoie sur la page du site demandeur
|
||||||
if ($this->getUser()) {
|
if ($this->getUser()) {
|
||||||
@@ -29,26 +29,22 @@ class SecurityController extends AbstractController
|
|||||||
$error = $authenticationUtils->getLastAuthenticationError();
|
$error = $authenticationUtils->getLastAuthenticationError();
|
||||||
if ($error) {
|
if ($error) {
|
||||||
if ($request->getSession()->has(SQLLoginUserAuthenticator::ERROR_LOGIN)) {
|
if ($request->getSession()->has(SQLLoginUserAuthenticator::ERROR_LOGIN)) {
|
||||||
$loginForm->get('login')->addError(new FormError($trans->trans('error.login', [], 'messages')));
|
$loginForm->addError(new FormError($trans->trans('error.login', [], 'messages')));
|
||||||
$request->getSession()->remove(SQLLoginUserAuthenticator::ERROR_LOGIN);
|
$request->getSession()->remove(SQLLoginUserAuthenticator::ERROR_LOGIN);
|
||||||
}
|
}
|
||||||
if ($request->getSession()->has(SQLLoginUserAuthenticator::ERROR_PASSWORD)) {
|
if ($request->getSession()->has(SQLLoginUserAuthenticator::TECHNICAL_ERROR)) {
|
||||||
$loginForm->get('password')->addError(new FormError($trans->trans('error.password', [], 'messages')));
|
$loginForm->addError(new FormError($trans->trans('error.technical', [], 'messages')));
|
||||||
$request->getSession()->remove(SQLLoginUserAuthenticator::ERROR_PASSWORD);
|
$request->getSession()->remove(SQLLoginUserAuthenticator::TECHNICAL_ERROR);
|
||||||
}
|
|
||||||
if ($request->getSession()->has(SQLLoginUserAuthenticator::ERROR_SQL_LOGIN)) {
|
|
||||||
$loginForm->addError(new FormError($trans->trans('error.sql_login', [], 'messages')));
|
|
||||||
$request->getSession()->remove(SQLLoginUserAuthenticator::ERROR_SQL_LOGIN);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->render('login.html.twig', [
|
return $this->render('login.html.twig', [
|
||||||
'loginForm' => $loginForm->createView(),
|
'loginForm' => $loginForm,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('/logout', name: 'logout')]
|
#[Route('/logout', name: 'logout')]
|
||||||
public function logout(Request $request)
|
public function logout(): void
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -8,7 +8,7 @@ use Symfony\Component\Config\Definition\ConfigurationInterface;
|
|||||||
|
|
||||||
class SQLLoginConfiguration implements ConfigurationInterface
|
class SQLLoginConfiguration implements ConfigurationInterface
|
||||||
{
|
{
|
||||||
public function getConfigTreeBuilder()
|
public function getConfigTreeBuilder(): TreeBuilder
|
||||||
{
|
{
|
||||||
$treeBuilder = new TreeBuilder('sql_login');
|
$treeBuilder = new TreeBuilder('sql_login');
|
||||||
$treeBuilder->getRootNode()->children()
|
$treeBuilder->getRootNode()->children()
|
||||||
@@ -19,6 +19,7 @@ class SQLLoginConfiguration implements ConfigurationInterface
|
|||||||
->arrayNode(SQLLoginRequest::DATA_TO_FETCH)
|
->arrayNode(SQLLoginRequest::DATA_TO_FETCH)
|
||||||
->scalarPrototype()->end()
|
->scalarPrototype()->end()
|
||||||
->end()
|
->end()
|
||||||
|
->scalarNode(SQLLoginRequest::SUBJECT_REWRITE_EXPRESSION)->defaultNull()->end()
|
||||||
->end();
|
->end();
|
||||||
|
|
||||||
return $treeBuilder;
|
return $treeBuilder;
|
||||||
|
@@ -6,17 +6,15 @@ use Symfony\Component\Security\Core\User\UserInterface;
|
|||||||
|
|
||||||
class User implements UserInterface
|
class User implements UserInterface
|
||||||
{
|
{
|
||||||
protected array $attributes = [];
|
private array $attributes = [];
|
||||||
private string $login;
|
private string $login;
|
||||||
private string $password;
|
private string $password;
|
||||||
private bool $rememberMe;
|
|
||||||
|
|
||||||
public function __construct($login, $password, $attributes, $rememberMe = false)
|
public function __construct($login, $password, $attributes)
|
||||||
{
|
{
|
||||||
$this->password = $password;
|
$this->password = $password;
|
||||||
$this->login = $login;
|
$this->login = $login;
|
||||||
$this->attributes = $attributes;
|
$this->attributes = $attributes;
|
||||||
$this->rememberMe = $rememberMe;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getLogin(): ?string
|
public function getLogin(): ?string
|
||||||
@@ -34,11 +32,6 @@ class User implements UserInterface
|
|||||||
return $this->attributes;
|
return $this->attributes;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getRememberMe(): bool
|
|
||||||
{
|
|
||||||
return $this->rememberMe;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getRoles(): array
|
public function getRoles(): array
|
||||||
{
|
{
|
||||||
return ['ROLE_USER'];
|
return ['ROLE_USER'];
|
||||||
|
@@ -16,7 +16,7 @@ class LocaleSubscriber implements EventSubscriberInterface
|
|||||||
$this->defaultLocale = $defaultLocale;
|
$this->defaultLocale = $defaultLocale;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function onKernelRequest(RequestEvent $event)
|
public function onKernelRequest(RequestEvent $event): void
|
||||||
{
|
{
|
||||||
$request = $event->getRequest();
|
$request = $event->getRequest();
|
||||||
if (!$request->hasPreviousSession()) {
|
if (!$request->hasPreviousSession()) {
|
||||||
@@ -32,7 +32,7 @@ class LocaleSubscriber implements EventSubscriberInterface
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function getSubscribedEvents()
|
public static function getSubscribedEvents(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
KernelEvents::REQUEST => [['onKernelRequest', 20]],
|
KernelEvents::REQUEST => [['onKernelRequest', 20]],
|
||||||
|
@@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
namespace App\Form;
|
namespace App\Form;
|
||||||
|
|
||||||
|
use App\Altcha\Form\AltchaType;
|
||||||
use Symfony\Component\Form\AbstractType;
|
use Symfony\Component\Form\AbstractType;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
|
|
||||||
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
|
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
||||||
use Symfony\Component\Form\FormBuilderInterface;
|
use Symfony\Component\Form\FormBuilderInterface;
|
||||||
@@ -11,6 +11,11 @@ use Symfony\Component\OptionsResolver\OptionsResolver;
|
|||||||
|
|
||||||
class LoginType extends AbstractType
|
class LoginType extends AbstractType
|
||||||
{
|
{
|
||||||
|
public function __construct(
|
||||||
|
private readonly bool $altchaEnabled
|
||||||
|
) {
|
||||||
|
}
|
||||||
|
|
||||||
public function buildForm(FormBuilderInterface $builder, array $options): void
|
public function buildForm(FormBuilderInterface $builder, array $options): void
|
||||||
{
|
{
|
||||||
$builder
|
$builder
|
||||||
@@ -22,12 +27,15 @@ class LoginType extends AbstractType
|
|||||||
'translation_domain' => 'form',
|
'translation_domain' => 'form',
|
||||||
'label' => 'form.label.password',
|
'label' => 'form.label.password',
|
||||||
])
|
])
|
||||||
->add('_remember_me', CheckboxType::class, [
|
|
||||||
'required' => false,
|
|
||||||
'translation_domain' => 'form',
|
|
||||||
'label' => 'form.label.remember_me',
|
|
||||||
])
|
|
||||||
;
|
;
|
||||||
|
|
||||||
|
if ($this->altchaEnabled) {
|
||||||
|
$builder->add('altcha', AltchaType::class, [
|
||||||
|
'translation_domain' => 'form',
|
||||||
|
'label' => 'altcha.widget.title',
|
||||||
|
'required' => true,
|
||||||
|
]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function configureOptions(OptionsResolver $resolver): void
|
public function configureOptions(OptionsResolver $resolver): void
|
||||||
|
@@ -8,25 +8,28 @@ use Symfony\Contracts\HttpClient\ResponseInterface;
|
|||||||
|
|
||||||
class Client
|
class Client
|
||||||
{
|
{
|
||||||
protected $client;
|
private const int MAX_RETRY = 3;
|
||||||
|
private const array SLEEP_TIME = [
|
||||||
|
5,
|
||||||
|
500,
|
||||||
|
5000,
|
||||||
|
];
|
||||||
|
|
||||||
protected $hydraAdminBaseUrl;
|
public function __construct(
|
||||||
|
private readonly HttpClientInterface $client,
|
||||||
public function __construct(HttpClientInterface $client, string $hydraAdminBaseUrl)
|
private readonly string $hydraAdminBaseUrl
|
||||||
{
|
) {
|
||||||
$this->client = $client;
|
|
||||||
$this->hydraAdminBaseUrl = $hydraAdminBaseUrl;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function fetchLoginRequestInfo(string $loginChallenge): ResponseInterface
|
public function fetchLoginRequestInfo(string $loginChallenge): ResponseInterface
|
||||||
{
|
{
|
||||||
$response = $this->client->request(
|
$response = $this->client->request(
|
||||||
'GET',
|
'GET',
|
||||||
$this->hydraAdminBaseUrl . '/oauth2/auth/requests/login',
|
$this->hydraAdminBaseUrl.'/oauth2/auth/requests/login',
|
||||||
[
|
[
|
||||||
'query' => [
|
'query' => [
|
||||||
'login_challenge' => $loginChallenge,
|
'login_challenge' => $loginChallenge,
|
||||||
]
|
],
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -35,7 +38,6 @@ class Client
|
|||||||
throw new InvalidChallengeException();
|
throw new InvalidChallengeException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return $response;
|
return $response;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -43,11 +45,11 @@ class Client
|
|||||||
{
|
{
|
||||||
$response = $this->client->request(
|
$response = $this->client->request(
|
||||||
'GET',
|
'GET',
|
||||||
$this->hydraAdminBaseUrl . '/oauth2/auth/requests/logout',
|
$this->hydraAdminBaseUrl.'/oauth2/auth/requests/logout',
|
||||||
[
|
[
|
||||||
'query' => [
|
'query' => [
|
||||||
'logout_challenge' => $logoutChallenge,
|
'logout_challenge' => $logoutChallenge,
|
||||||
]
|
],
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -56,27 +58,38 @@ class Client
|
|||||||
throw new InvalidChallengeException();
|
throw new InvalidChallengeException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return $response;
|
return $response;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function fetchConsentRequestInfo(string $consentChallenge): ResponseInterface
|
public function fetchConsentRequestInfo(string $consentChallenge): ResponseInterface
|
||||||
{
|
{
|
||||||
$response = $this->client->request(
|
$attempt = 0;
|
||||||
'GET',
|
while ($attempt < self::MAX_RETRY) {
|
||||||
$this->hydraAdminBaseUrl . '/oauth2/auth/requests/consent',
|
$response = $this->client->request(
|
||||||
[
|
'GET',
|
||||||
'query' => [
|
$this->hydraAdminBaseUrl.'/oauth2/auth/requests/consent',
|
||||||
'consent_challenge' => $consentChallenge,
|
[
|
||||||
|
'query' => [
|
||||||
|
'consent_challenge' => $consentChallenge,
|
||||||
|
],
|
||||||
]
|
]
|
||||||
]
|
);
|
||||||
);
|
|
||||||
|
|
||||||
switch ($response->getStatusCode()) {
|
$status = $response->getStatusCode();
|
||||||
case 404:
|
if (503 === $status) {
|
||||||
throw new InvalidChallengeException();
|
++$attempt;
|
||||||
|
usleep(1000 * self::SLEEP_TIME[$attempt] + random_int(1, 5) * 1000);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
switch ($status) {
|
||||||
|
case 404:
|
||||||
|
throw new InvalidChallengeException();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (self::MAX_RETRY === $attempt) {
|
||||||
|
throw new \Exception(sprintf('Fetch consent a rencontré une erreur %s après %s tentatives', $response->getStatusCode(), self::MAX_RETRY));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return $response;
|
return $response;
|
||||||
}
|
}
|
||||||
@@ -85,13 +98,13 @@ class Client
|
|||||||
{
|
{
|
||||||
$response = $this->client->request(
|
$response = $this->client->request(
|
||||||
'PUT',
|
'PUT',
|
||||||
$this->hydraAdminBaseUrl . '/oauth2/auth/requests/login/accept',
|
$this->hydraAdminBaseUrl.'/oauth2/auth/requests/login/accept',
|
||||||
[
|
[
|
||||||
'query' => [
|
'query' => [
|
||||||
'login_challenge' => $loginChallenge,
|
'login_challenge' => $loginChallenge,
|
||||||
],
|
],
|
||||||
'headers' => [
|
'headers' => [
|
||||||
'Content-Type' => 'application/json'
|
'Content-Type' => 'application/json',
|
||||||
],
|
],
|
||||||
'body' => json_encode($payload),
|
'body' => json_encode($payload),
|
||||||
]
|
]
|
||||||
@@ -104,13 +117,13 @@ class Client
|
|||||||
{
|
{
|
||||||
$response = $this->client->request(
|
$response = $this->client->request(
|
||||||
'PUT',
|
'PUT',
|
||||||
$this->hydraAdminBaseUrl . '/oauth2/auth/requests/consent/accept',
|
$this->hydraAdminBaseUrl.'/oauth2/auth/requests/consent/accept',
|
||||||
[
|
[
|
||||||
'query' => [
|
'query' => [
|
||||||
'consent_challenge' => $consentChallenge,
|
'consent_challenge' => $consentChallenge,
|
||||||
],
|
],
|
||||||
'headers' => [
|
'headers' => [
|
||||||
'Content-Type' => 'application/json'
|
'Content-Type' => 'application/json',
|
||||||
],
|
],
|
||||||
'body' => json_encode($payload),
|
'body' => json_encode($payload),
|
||||||
]
|
]
|
||||||
@@ -123,13 +136,13 @@ class Client
|
|||||||
{
|
{
|
||||||
$response = $this->client->request(
|
$response = $this->client->request(
|
||||||
'PUT',
|
'PUT',
|
||||||
$this->hydraAdminBaseUrl . '/oauth2/auth/requests/logout/accept',
|
$this->hydraAdminBaseUrl.'/oauth2/auth/requests/logout/accept',
|
||||||
[
|
[
|
||||||
'query' => [
|
'query' => [
|
||||||
'logout_challenge' => $logoutChallenge,
|
'logout_challenge' => $logoutChallenge,
|
||||||
],
|
],
|
||||||
'headers' => [
|
'headers' => [
|
||||||
'Content-Type' => 'application/json'
|
'Content-Type' => 'application/json',
|
||||||
],
|
],
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
@@ -2,30 +2,27 @@
|
|||||||
|
|
||||||
namespace App\Hydra;
|
namespace App\Hydra;
|
||||||
|
|
||||||
|
use App\Entity\User;
|
||||||
use App\Hydra\Exception\InvalidChallengeException;
|
use App\Hydra\Exception\InvalidChallengeException;
|
||||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||||
use Symfony\Component\HttpFoundation\Exception\BadRequestException;
|
use Symfony\Component\HttpFoundation\Exception\BadRequestException;
|
||||||
use Symfony\Component\HttpFoundation\RedirectResponse;
|
use Symfony\Component\HttpFoundation\RedirectResponse;
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpFoundation\Session\SessionInterface;
|
use Symfony\Component\HttpFoundation\RequestStack;
|
||||||
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
|
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
|
||||||
|
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
|
||||||
|
|
||||||
class HydraService extends AbstractController
|
class HydraService extends AbstractController
|
||||||
{
|
{
|
||||||
public SessionInterface $session;
|
public function __construct(
|
||||||
public Client $client;
|
private readonly Client $client,
|
||||||
public TokenStorageInterface $tokenStorage;
|
private readonly RequestStack $requestStack,
|
||||||
public string $baseUrl;
|
private readonly TokenStorageInterface $tokenStorage,
|
||||||
|
private readonly string $baseUrl
|
||||||
public function __construct(Client $client, SessionInterface $session, TokenStorageInterface $tokenStorage, string $baseUrl)
|
){
|
||||||
{
|
|
||||||
$this->session = $session;
|
|
||||||
$this->client = $client;
|
|
||||||
$this->tokenStorage = $tokenStorage;
|
|
||||||
$this->baseUrl = $baseUrl;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function handleLoginRequest(Request $request)
|
public function handleLoginRequest(Request $request): RedirectResponse
|
||||||
{
|
{
|
||||||
$challenge = $request->query->get('login_challenge');
|
$challenge = $request->query->get('login_challenge');
|
||||||
// S'il n'y a pas de challenge, on déclenche une bad request
|
// S'il n'y a pas de challenge, on déclenche une bad request
|
||||||
@@ -36,16 +33,16 @@ class HydraService extends AbstractController
|
|||||||
$res = $this->client->fetchLoginRequestInfo($challenge);
|
$res = $this->client->fetchLoginRequestInfo($challenge);
|
||||||
$loginRequestInfo = $res->toArray();
|
$loginRequestInfo = $res->toArray();
|
||||||
if (200 !== $res->getStatusCode()) {
|
if (200 !== $res->getStatusCode()) {
|
||||||
$this->session->clear();
|
$this->requestStack->getSession()->clear();
|
||||||
throw new BadRequestException('pas de code 200');
|
throw new BadRequestException();
|
||||||
}
|
}
|
||||||
// si le challenge est validé par hydra, on le stocke en session pour l'utiliser par la suite et on redirige vers une route interne protégée qui va déclencher l'identification FranceConnect
|
// si le challenge est validé par hydra, on le stocke en session pour l'utiliser par la suite et on redirige vers une route interne protégée qui va déclencher l'identification FranceConnect
|
||||||
$this->session->set('challenge', $loginRequestInfo['challenge']);
|
$this->requestStack->getSession()->set('challenge', $loginRequestInfo['challenge']);
|
||||||
|
|
||||||
return new RedirectResponse($this->baseUrl.'/connect/login-accept');
|
return new RedirectResponse($this->baseUrl.'/connect/login-accept');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function handleConsentRequest(Request $request)
|
public function handleConsentRequest(Request $request): RedirectResponse
|
||||||
{
|
{
|
||||||
$challenge = $request->query->get('consent_challenge');
|
$challenge = $request->query->get('consent_challenge');
|
||||||
if (!$challenge) {
|
if (!$challenge) {
|
||||||
@@ -53,8 +50,10 @@ class HydraService extends AbstractController
|
|||||||
}
|
}
|
||||||
|
|
||||||
$consentRequestInfo = $this->client->fetchConsentRequestInfo($challenge)->toArray();
|
$consentRequestInfo = $this->client->fetchConsentRequestInfo($challenge)->toArray();
|
||||||
/** @var User */
|
|
||||||
$user = $this->getUser();
|
$user = $this->getUser();
|
||||||
|
if (!$user instanceof User) {
|
||||||
|
throw new AccessDeniedException('Utilisateur non autorisé.');
|
||||||
|
}
|
||||||
$consentAcceptResponse = $this->client->acceptConsentRequest($consentRequestInfo['challenge'], [
|
$consentAcceptResponse = $this->client->acceptConsentRequest($consentRequestInfo['challenge'], [
|
||||||
'grant_scope' => $consentRequestInfo['requested_scope'],
|
'grant_scope' => $consentRequestInfo['requested_scope'],
|
||||||
'session' => [
|
'session' => [
|
||||||
@@ -65,7 +64,7 @@ class HydraService extends AbstractController
|
|||||||
return new RedirectResponse($consentAcceptResponse['redirect_to']);
|
return new RedirectResponse($consentAcceptResponse['redirect_to']);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function handleLogoutRequest(Request $request)
|
public function handleLogoutRequest(Request $request): RedirectResponse
|
||||||
{
|
{
|
||||||
$logoutChallenge = $request->get('logout_challenge');
|
$logoutChallenge = $request->get('logout_challenge');
|
||||||
if (empty($logoutChallenge)) {
|
if (empty($logoutChallenge)) {
|
||||||
@@ -73,7 +72,7 @@ class HydraService extends AbstractController
|
|||||||
}
|
}
|
||||||
$logoutRequestInfo = $this->client->fetchLogoutRequestInfo($logoutChallenge)->toArray();
|
$logoutRequestInfo = $this->client->fetchLogoutRequestInfo($logoutChallenge)->toArray();
|
||||||
$logoutAcceptRes = $this->client->acceptLogoutRequest($logoutRequestInfo['challenge'])->toArray();
|
$logoutAcceptRes = $this->client->acceptLogoutRequest($logoutRequestInfo['challenge'])->toArray();
|
||||||
$this->session->clear();
|
$this->requestStack->getSession()->clear();
|
||||||
$this->tokenStorage->setToken(null);
|
$this->tokenStorage->setToken(null);
|
||||||
|
|
||||||
return new RedirectResponse($logoutAcceptRes['redirect_to']);
|
return new RedirectResponse($logoutAcceptRes['redirect_to']);
|
||||||
|
@@ -4,6 +4,6 @@ namespace App\SQLLogin\Exception;
|
|||||||
|
|
||||||
use Exception;
|
use Exception;
|
||||||
|
|
||||||
class InvalidSQLLoginConfigurationException extends Exception
|
class DataToFetchConfigurationException extends Exception
|
||||||
{
|
{
|
||||||
}
|
}
|
@@ -4,6 +4,6 @@ namespace App\SQLLogin\Exception;
|
|||||||
|
|
||||||
use Exception;
|
use Exception;
|
||||||
|
|
||||||
class InvalidSQLLoginException extends Exception
|
class EmptyResultException extends Exception
|
||||||
{
|
{
|
||||||
}
|
}
|
@@ -4,6 +4,6 @@ namespace App\SQLLogin\Exception;
|
|||||||
|
|
||||||
use Exception;
|
use Exception;
|
||||||
|
|
||||||
class InvalidSQLLoginAlgoException extends Exception
|
class NullDataToFetchException extends Exception
|
||||||
{
|
{
|
||||||
}
|
}
|
@@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\SQLLogin\Exception;
|
||||||
|
|
||||||
|
use Exception;
|
||||||
|
|
||||||
|
class SecurityPatternConfigurationException extends Exception
|
||||||
|
{
|
||||||
|
}
|
@@ -12,10 +12,8 @@ class SQLLoginConnect extends AbstractController
|
|||||||
/**
|
/**
|
||||||
* Méthode qui crée l'unique instance de la classe
|
* Méthode qui crée l'unique instance de la classe
|
||||||
* si elle n'existe pas encore puis la retourne.
|
* si elle n'existe pas encore puis la retourne.
|
||||||
*
|
|
||||||
* @return SQLLoginConnect
|
|
||||||
*/
|
*/
|
||||||
public static function getInstance()
|
public static function getInstance(): SQLLoginConnect
|
||||||
{
|
{
|
||||||
if (is_null(self::$_instance)) {
|
if (is_null(self::$_instance)) {
|
||||||
self::$_instance = new SQLLoginConnect();
|
self::$_instance = new SQLLoginConnect();
|
||||||
@@ -24,7 +22,7 @@ class SQLLoginConnect extends AbstractController
|
|||||||
return self::$_instance;
|
return self::$_instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function connect($urlDatabase, $dbUser, $dbPassword)
|
public function connect($urlDatabase, $dbUser, $dbPassword): PDO
|
||||||
{
|
{
|
||||||
return new PDO($urlDatabase, $dbUser, $dbPassword);
|
return new PDO($urlDatabase, $dbUser, $dbPassword);
|
||||||
}
|
}
|
||||||
|
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
namespace App\SQLLogin;
|
namespace App\SQLLogin;
|
||||||
|
|
||||||
|
use App\SQLLogin\Exception\NullDataToFetchException;
|
||||||
|
|
||||||
class SQLLoginRequest
|
class SQLLoginRequest
|
||||||
{
|
{
|
||||||
public const DATA_TO_FETCH = 'data_to_fetch';
|
public const DATA_TO_FETCH = 'data_to_fetch';
|
||||||
@@ -10,11 +12,12 @@ class SQLLoginRequest
|
|||||||
public const PASSWORD_COLUMN_NAME = 'password_column_name';
|
public const PASSWORD_COLUMN_NAME = 'password_column_name';
|
||||||
public const PASSWORD_NEED_UPGRADE = 'password_need_upgrade';
|
public const PASSWORD_NEED_UPGRADE = 'password_need_upgrade';
|
||||||
public const TABLE_NAME = 'table_name';
|
public const TABLE_NAME = 'table_name';
|
||||||
|
public const SUBJECT_REWRITE_EXPRESSION = 'subject_rewrite_expression';
|
||||||
|
|
||||||
protected array $config;
|
private array $config;
|
||||||
protected string $dsn;
|
private string $dsn;
|
||||||
protected string $user;
|
private string $user;
|
||||||
protected string $password;
|
private string $password;
|
||||||
|
|
||||||
public function __construct(string $dsn, string $user, string $password, array $config = [])
|
public function __construct(string $dsn, string $user, string $password, array $config = [])
|
||||||
{
|
{
|
||||||
@@ -64,28 +67,42 @@ class SQLLoginRequest
|
|||||||
return $this->config[self::DATA_TO_FETCH];
|
return $this->config[self::DATA_TO_FETCH];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getRequestScope()
|
public function getSubjectRewriteExpression(): ?string
|
||||||
{
|
{
|
||||||
$scope = '';
|
return $this->config[self::SUBJECT_REWRITE_EXPRESSION];
|
||||||
foreach ($this->config[self::DATA_TO_FETCH] as $data) {
|
}
|
||||||
$scope .= $data.',';
|
|
||||||
}
|
|
||||||
$scope = substr($scope, 0, -1);
|
|
||||||
|
|
||||||
return 'SELECT '.$scope.' FROM '.$this->getTableName().' WHERE '.$this->getLoginColumnName().' = :'.$this->getLoginColumnName().';';
|
private function getDataFields(): array
|
||||||
|
{
|
||||||
|
if (!$this->config[self::DATA_TO_FETCH]) {
|
||||||
|
throw new NullDataToFetchException();
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->config[self::DATA_TO_FETCH];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Construction de la string pour la requête préparée selon la configuration yaml
|
* Construction de la string pour la requête préparée selon la configuration yaml
|
||||||
* intègre la récupération du mot de passe hashé, du salt et de besoin d'upgrade de la méthode de hashage
|
* intègre la récupération du mot de passe hashé, du salt et de besoin d'upgrade de la méthode de hashage
|
||||||
*/
|
*/
|
||||||
public function getRequestPassword()
|
private function getPasswordFields(): array
|
||||||
{
|
{
|
||||||
$fields = $this->getPasswordColumnName();
|
$fields[] = $this->getPasswordColumnName();
|
||||||
if (!empty($this->getSaltColumnName())) {
|
if (!empty($this->getSaltColumnName())) {
|
||||||
$fields .= ', '.$this->getSaltColumnName();
|
$fields[] = $this->getSaltColumnName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return $fields;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Construction de la string pour la requête préparée selon la configuration yaml
|
||||||
|
* intègre la récupération du mot de passe hashé, du salt et de besoin d'upgrade de la méthode de hashage
|
||||||
|
*/
|
||||||
|
public function getDatasRequest(): string
|
||||||
|
{
|
||||||
|
$fields = join(',', array_merge($this->getPasswordFields(), $this->getDataFields()));
|
||||||
|
|
||||||
return 'SELECT '.$fields.' FROM '.$this->getTableName().' WHERE '.$this->getLoginColumnName().' = :'.$this->getLoginColumnName().';';
|
return 'SELECT '.$fields.' FROM '.$this->getTableName().' WHERE '.$this->getLoginColumnName().' = :'.$this->getLoginColumnName().';';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -2,8 +2,9 @@
|
|||||||
|
|
||||||
namespace App\Security\Hasher;
|
namespace App\Security\Hasher;
|
||||||
|
|
||||||
use App\SQLLogin\Exception\InvalidSQLLoginConfigurationException;
|
|
||||||
use App\SQLLogin\Exception\InvalidSQLPasswordException;
|
use App\SQLLogin\Exception\InvalidSQLPasswordException;
|
||||||
|
use App\SQLLogin\Exception\SecurityPatternConfigurationException;
|
||||||
|
use Psr\Log\LoggerInterface;
|
||||||
use Symfony\Component\PasswordHasher\Exception\InvalidPasswordException;
|
use Symfony\Component\PasswordHasher\Exception\InvalidPasswordException;
|
||||||
use Symfony\Component\PasswordHasher\Hasher\CheckPasswordLengthTrait;
|
use Symfony\Component\PasswordHasher\Hasher\CheckPasswordLengthTrait;
|
||||||
use Symfony\Component\PasswordHasher\LegacyPasswordHasherInterface;
|
use Symfony\Component\PasswordHasher\LegacyPasswordHasherInterface;
|
||||||
@@ -19,7 +20,7 @@ class PasswordEncoder implements LegacyPasswordHasherInterface
|
|||||||
protected array $hashAlgoLegacy;
|
protected array $hashAlgoLegacy;
|
||||||
protected array $securityPattern;
|
protected array $securityPattern;
|
||||||
|
|
||||||
public function __construct(?string $pepper, string $hashAlgoLegacy, string $securityPattern)
|
public function __construct(?string $pepper, string $hashAlgoLegacy, string $securityPattern, private LoggerInterface $loggerInterface)
|
||||||
{
|
{
|
||||||
$this->pepper = $pepper;
|
$this->pepper = $pepper;
|
||||||
$this->hashAlgoLegacy = explode(',', $hashAlgoLegacy);
|
$this->hashAlgoLegacy = explode(',', $hashAlgoLegacy);
|
||||||
@@ -29,7 +30,7 @@ class PasswordEncoder implements LegacyPasswordHasherInterface
|
|||||||
/**
|
/**
|
||||||
* Pas utilisé, mais on doit le garder pour le implements
|
* Pas utilisé, mais on doit le garder pour le implements
|
||||||
*/
|
*/
|
||||||
public function hash(string $plainPassword, string $salt = null): string
|
public function hash(string $plainPassword, ?string $salt = null): string
|
||||||
{
|
{
|
||||||
if ($this->isPasswordTooLong($plainPassword)) {
|
if ($this->isPasswordTooLong($plainPassword)) {
|
||||||
throw new InvalidPasswordException();
|
throw new InvalidPasswordException();
|
||||||
@@ -38,7 +39,7 @@ class PasswordEncoder implements LegacyPasswordHasherInterface
|
|||||||
return hash($plainPassword.$salt, $this->hashAlgoLegacy[0]);
|
return hash($plainPassword.$salt, $this->hashAlgoLegacy[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function verify(string $hashedPassword, string $plainPassword, string $salt = null): bool
|
public function verify(string $hashedPassword, string $plainPassword, ?string $salt = null): bool
|
||||||
{
|
{
|
||||||
if ('' === $plainPassword || $this->isPasswordTooLong($plainPassword)) {
|
if ('' === $plainPassword || $this->isPasswordTooLong($plainPassword)) {
|
||||||
return false;
|
return false;
|
||||||
@@ -75,10 +76,8 @@ class PasswordEncoder implements LegacyPasswordHasherInterface
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne la string à hasher en fonction du pattern indiqué
|
* Retourne la string à hasher en fonction du pattern indiqué
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
*/
|
||||||
protected function getPasswordToHash($plainTextPassword, $salt)
|
protected function getPasswordToHash(string $plainTextPassword, ?string $salt = null): string
|
||||||
{
|
{
|
||||||
$arrayRef = [
|
$arrayRef = [
|
||||||
self::PASSWORD_PATTERN => $plainTextPassword,
|
self::PASSWORD_PATTERN => $plainTextPassword,
|
||||||
@@ -88,7 +87,8 @@ class PasswordEncoder implements LegacyPasswordHasherInterface
|
|||||||
|
|
||||||
foreach ($this->securityPattern as $term) {
|
foreach ($this->securityPattern as $term) {
|
||||||
if (self::PEPPER_PATTERN !== $term && self::PASSWORD_PATTERN !== $term && self::SALT_PATTERN !== $term) {
|
if (self::PEPPER_PATTERN !== $term && self::PASSWORD_PATTERN !== $term && self::SALT_PATTERN !== $term) {
|
||||||
throw new InvalidSQLLoginConfigurationException();
|
$this->loggerInterface->critical('La configuration du security pattern est invalide, les termes autorisés sont : '.self::PASSWORD_PATTERN.', '.self::SALT_PATTERN.' et '.self::PEPPER_PATTERN);
|
||||||
|
throw new SecurityPatternConfigurationException('La configuration du security pattern est invalide, les termes autorisés sont : '.self::PASSWORD_PATTERN.', '.self::SALT_PATTERN.' et '.self::PEPPER_PATTERN);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$completedPlainPassword = '';
|
$completedPlainPassword = '';
|
||||||
@@ -99,7 +99,7 @@ class PasswordEncoder implements LegacyPasswordHasherInterface
|
|||||||
return $completedPlainPassword;
|
return $completedPlainPassword;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function compareSsha($hashPassword, $plainPassword)
|
protected function compareSsha(string $hashPassword, string $plainPassword): bool
|
||||||
{
|
{
|
||||||
$base_64_hash_with_salt = substr($hashPassword, 6);
|
$base_64_hash_with_salt = substr($hashPassword, 6);
|
||||||
$hash_with_salt = base64_decode($base_64_hash_with_salt);
|
$hash_with_salt = base64_decode($base_64_hash_with_salt);
|
||||||
|
@@ -5,36 +5,34 @@ namespace App\Security;
|
|||||||
use App\Entity\User;
|
use App\Entity\User;
|
||||||
use App\Security\Hasher\PasswordEncoder;
|
use App\Security\Hasher\PasswordEncoder;
|
||||||
use App\Service\SQLLoginService;
|
use App\Service\SQLLoginService;
|
||||||
|
use App\SQLLogin\Exception\DataToFetchConfigurationException;
|
||||||
|
use App\SQLLogin\Exception\EmptyResultException;
|
||||||
use App\SQLLogin\Exception\InvalidSQLPasswordException;
|
use App\SQLLogin\Exception\InvalidSQLPasswordException;
|
||||||
use PDOException;
|
use App\SQLLogin\Exception\SecurityPatternConfigurationException;
|
||||||
|
use App\SQLLogin\SQLLoginRequest;
|
||||||
use Symfony\Component\HttpFoundation\RedirectResponse;
|
use Symfony\Component\HttpFoundation\RedirectResponse;
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
|
||||||
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
|
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
|
||||||
use Symfony\Component\Security\Core\Exception\AuthenticationException;
|
use Symfony\Component\Security\Core\Exception\AuthenticationException;
|
||||||
use Symfony\Component\Security\Core\Security;
|
use Symfony\Component\Security\Core\Exception\UserNotFoundException;
|
||||||
|
use Symfony\Component\Security\Core\User\UserInterface;
|
||||||
use Symfony\Component\Security\Http\Authenticator\AbstractLoginFormAuthenticator;
|
use Symfony\Component\Security\Http\Authenticator\AbstractLoginFormAuthenticator;
|
||||||
use Symfony\Component\Security\Http\Authenticator\Passport\Badge\RememberMeBadge;
|
|
||||||
use Symfony\Component\Security\Http\Authenticator\Passport\Badge\UserBadge;
|
use Symfony\Component\Security\Http\Authenticator\Passport\Badge\UserBadge;
|
||||||
use Symfony\Component\Security\Http\Authenticator\Passport\Passport;
|
|
||||||
use Symfony\Component\Security\Http\Authenticator\Passport\SelfValidatingPassport;
|
use Symfony\Component\Security\Http\Authenticator\Passport\SelfValidatingPassport;
|
||||||
|
use Symfony\Component\Security\Http\SecurityRequestAttributes;
|
||||||
|
|
||||||
class SQLLoginUserAuthenticator extends AbstractLoginFormAuthenticator
|
class SQLLoginUserAuthenticator extends AbstractLoginFormAuthenticator
|
||||||
{
|
{
|
||||||
public const LOGIN_ROUTE = 'app_login';
|
public const LOGIN_ROUTE = 'app_login';
|
||||||
public const ERROR_LOGIN = 'error_login';
|
public const ERROR_LOGIN = 'error_login';
|
||||||
public const ERROR_PASSWORD = 'error_password';
|
public const TECHNICAL_ERROR = 'technical_error';
|
||||||
public const ERROR_SQL_LOGIN = 'error_sql_login';
|
|
||||||
|
|
||||||
protected string $baseUrl;
|
public function __construct(
|
||||||
private SQLLoginService $sqlLoginService;
|
private readonly string $baseUrl,
|
||||||
private PasswordEncoder $passwordHasher;
|
private readonly SQLLoginService $sqlLoginService,
|
||||||
|
private readonly PasswordEncoder $passwordHasher,
|
||||||
public function __construct(string $baseUrl, SQLLoginService $sqlLoginService, PasswordEncoder $passwordHasher)
|
private readonly SQLLoginRequest $sqlLoginRequest
|
||||||
{
|
){
|
||||||
$this->baseUrl = $baseUrl;
|
|
||||||
$this->sqlLoginService = $sqlLoginService;
|
|
||||||
$this->passwordHasher = $passwordHasher;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -47,58 +45,70 @@ class SQLLoginUserAuthenticator extends AbstractLoginFormAuthenticator
|
|||||||
return self::LOGIN_ROUTE === $request->attributes->get('_route') && $request->isMethod('POST');
|
return self::LOGIN_ROUTE === $request->attributes->get('_route') && $request->isMethod('POST');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function onAuthenticationSuccess(Request $request, TokenInterface $token, $providerKey): ?Response
|
public function onAuthenticationSuccess(Request $request, TokenInterface $token, $providerKey): RedirectResponse
|
||||||
{
|
{
|
||||||
return new RedirectResponse($this->baseUrl.'/connect/login-accept');
|
return new RedirectResponse($this->baseUrl.'/connect/login-accept');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function onAuthenticationFailure(Request $request, AuthenticationException $exception): Response
|
public function onAuthenticationFailure(Request $request, AuthenticationException $exception): RedirectResponse
|
||||||
{
|
{
|
||||||
$request->getSession()->set(Security::AUTHENTICATION_ERROR, $exception);
|
$request->getSession()->set(SecurityRequestAttributes::AUTHENTICATION_ERROR, $exception);
|
||||||
|
|
||||||
return new RedirectResponse($this->baseUrl.'/login');
|
return new RedirectResponse($this->baseUrl.'/login');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function authenticate(Request $request): Passport
|
public function authenticate(Request $request): SelfValidatingPassport
|
||||||
{
|
{
|
||||||
$form = $request->request->get('login');
|
$form = $request->request->all(key: 'login');
|
||||||
$login = $form['login'];
|
$login = \strtolower($form['login']);
|
||||||
$plaintextPassword = $form['password'];
|
$plaintextPassword = $form['password'];
|
||||||
$rememberMe = isset($form['_remember_me']) ? true : false;
|
$session = $request->getSession();
|
||||||
try {
|
try {
|
||||||
// requête préparée
|
$datas = $this->sqlLoginService->fetchPasswordAndDatas($login);
|
||||||
list($remoteHashedPassword, $remoteSalt) = $this->sqlLoginService->fetchPassword($login);
|
} catch (EmptyResultException $e) {
|
||||||
} catch (PDOException $e) {
|
$session->set(self::ERROR_LOGIN, true);
|
||||||
$request->getSession()->set(self::ERROR_SQL_LOGIN, true);
|
throw new AuthenticationException();
|
||||||
|
} catch (DataToFetchConfigurationException|\PDOException $e) {
|
||||||
|
\Sentry\captureException($e);
|
||||||
|
$session->set(self::TECHNICAL_ERROR, true);
|
||||||
throw new AuthenticationException();
|
throw new AuthenticationException();
|
||||||
}
|
}
|
||||||
if ($remoteHashedPassword) {
|
$remoteHashedPassword = $datas[$this->sqlLoginRequest->getPasswordColumnName()];
|
||||||
try {
|
unset($datas[$this->sqlLoginRequest->getPasswordColumnName()]);
|
||||||
// Comparaison remote hash et hash du input password + salt
|
$remoteSalt = null;
|
||||||
$this->passwordHasher->verify($remoteHashedPassword, $plaintextPassword, $remoteSalt);
|
if ($this->sqlLoginRequest->getSaltColumnName() && isset($datas[$this->sqlLoginRequest->getSaltColumnName()])) {
|
||||||
$attributes = $this->sqlLoginService->fetchDatas($login);
|
$remoteSalt = $datas[$this->sqlLoginRequest->getSaltColumnName()];
|
||||||
$user = new User($login, $remoteHashedPassword, $attributes, $rememberMe);
|
unset($datas[$this->sqlLoginRequest->getSaltColumnName()]);
|
||||||
|
|
||||||
$loader = function (string $userIdentifier) use ($user) {
|
|
||||||
return $user->getLogin() == $userIdentifier ? $user : null;
|
|
||||||
};
|
|
||||||
$passport = new SelfValidatingPassport(new UserBadge($login, $loader));
|
|
||||||
if ($rememberMe) {
|
|
||||||
$passport->addBadge(new RememberMeBadge());
|
|
||||||
}
|
|
||||||
$passport->setAttribute('attributes', $user->getAttributes());
|
|
||||||
|
|
||||||
return $passport;
|
|
||||||
} catch (InvalidSQLPasswordException $e) {
|
|
||||||
$request->getSession()->set(self::ERROR_PASSWORD, true);
|
|
||||||
throw new AuthenticationException();
|
|
||||||
} catch (PDOException $e) {
|
|
||||||
$request->getSession()->set(self::ERROR_SQL_LOGIN, true);
|
|
||||||
throw new AuthenticationException();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
$request->getSession()->set(self::ERROR_LOGIN, true);
|
if (null === $remoteHashedPassword) {
|
||||||
throw new AuthenticationException();
|
$remoteHashedPassword = '';
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
// Comparaison remote hash et hash du input password + salt
|
||||||
|
$this->passwordHasher->verify($remoteHashedPassword, $plaintextPassword, $remoteSalt);
|
||||||
|
} catch (InvalidSQLPasswordException $e) {
|
||||||
|
$session->set(self::ERROR_LOGIN, true);
|
||||||
|
throw new AuthenticationException();
|
||||||
|
} catch (SecurityPatternConfigurationException $e) {
|
||||||
|
\Sentry\captureException($e);
|
||||||
|
$session->set(self::TECHNICAL_ERROR, true);
|
||||||
|
throw new AuthenticationException();
|
||||||
|
}
|
||||||
|
|
||||||
|
$user = new User($login, $remoteHashedPassword, $datas);
|
||||||
|
|
||||||
|
$loader = function (string $userIdentifier) use ($user): UserInterface {
|
||||||
|
if ($user->getLogin() !== $userIdentifier) {
|
||||||
|
throw new UserNotFoundException(sprintf('User "%s" not found.', $userIdentifier));
|
||||||
|
}
|
||||||
|
|
||||||
|
return $user;
|
||||||
|
};
|
||||||
|
|
||||||
|
$passport = new SelfValidatingPassport(new UserBadge($login, $loader));
|
||||||
|
$passport->setAttribute('attributes', $user->getAttributes());
|
||||||
|
|
||||||
|
return $passport;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function getLoginUrl(Request $request): string
|
protected function getLoginUrl(Request $request): string
|
||||||
|
@@ -3,45 +3,48 @@
|
|||||||
namespace App\Security;
|
namespace App\Security;
|
||||||
|
|
||||||
use App\Entity\User;
|
use App\Entity\User;
|
||||||
|
use App\Service\SQLLoginService;
|
||||||
|
use App\SQLLogin\SQLLoginRequest;
|
||||||
use Symfony\Component\HttpFoundation\RequestStack;
|
use Symfony\Component\HttpFoundation\RequestStack;
|
||||||
use Symfony\Component\Security\Core\Exception\UnsupportedUserException;
|
use Symfony\Component\Security\Core\Exception\UnsupportedUserException;
|
||||||
|
use Symfony\Component\Security\Core\Exception\UserNotFoundException;
|
||||||
use Symfony\Component\Security\Core\User\UserInterface;
|
use Symfony\Component\Security\Core\User\UserInterface;
|
||||||
use Symfony\Component\Security\Core\User\UserProviderInterface;
|
use Symfony\Component\Security\Core\User\UserProviderInterface;
|
||||||
|
|
||||||
class SQLLoginUserProvider implements UserProviderInterface
|
class SQLLoginUserProvider implements UserProviderInterface
|
||||||
{
|
{
|
||||||
protected RequestStack $requestStack;
|
public function __construct(
|
||||||
|
private readonly RequestStack $requestStack,
|
||||||
public function __construct(RequestStack $requestStack)
|
private readonly SQLLoginService $sqlLoginService,
|
||||||
{
|
private readonly SQLLoginRequest $sqlLoginRequest
|
||||||
$this->requestStack = $requestStack;
|
){
|
||||||
}
|
}
|
||||||
|
|
||||||
public function loadUserByIdentifier(string $identifier, ?User $user): ?UserInterface
|
public function loadUserByIdentifier(string $identifier): UserInterface
|
||||||
{
|
{
|
||||||
if ($user->getUserIdentifier() === $identifier) {
|
$user = $this->sqlLoginService->fetchPasswordAndDatas($identifier);
|
||||||
return $user;
|
|
||||||
|
$attributes = $user;
|
||||||
|
unset($attributes[$this->sqlLoginRequest->getPasswordColumnName()]);
|
||||||
|
|
||||||
|
if (empty($user[$this->sqlLoginRequest->getLoginColumnName()]) || empty($user[$this->sqlLoginRequest->getPasswordColumnName()])) {
|
||||||
|
throw new UserNotFoundException('email or password not found');
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return new User($user[$this->sqlLoginRequest->getLoginColumnName()], $user[$this->sqlLoginRequest->getPasswordColumnName()], $attributes);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function loadUserByUsername(string $username): ?UserInterface
|
public function refreshUser(UserInterface $user): UserInterface
|
||||||
{
|
|
||||||
return $this->loadUserByIdentifier($username, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function refreshUser(UserInterface $user)
|
|
||||||
{
|
{
|
||||||
if (!$user instanceof User) {
|
if (!$user instanceof User) {
|
||||||
throw new UnsupportedUserException(sprintf('Invalid user class "%s".', get_class($user)));
|
throw new UnsupportedUserException(sprintf('Invalid user class "%s".', get_class($user)));
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->loadUserByIdentifier($user->getUserIdentifier(), $user);
|
return $this->loadUserByIdentifier($user->getUserIdentifier());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function supportsClass(string $class)
|
public function supportsClass(string $class): bool
|
||||||
{
|
{
|
||||||
return User::class === $class || is_subclass_of($class, User::class);
|
return User::class === $class || \is_subclass_of($class, User::class);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -2,72 +2,69 @@
|
|||||||
|
|
||||||
namespace App\Service;
|
namespace App\Service;
|
||||||
|
|
||||||
|
use App\SQLLogin\Exception\EmptyResultException;
|
||||||
use App\SQLLogin\SQLLoginConnect;
|
use App\SQLLogin\SQLLoginConnect;
|
||||||
use App\SQLLogin\SQLLoginRequest;
|
use App\SQLLogin\SQLLoginRequest;
|
||||||
use PDO;
|
use PDO;
|
||||||
use PDOException;
|
use Psr\Log\LoggerInterface;
|
||||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||||
|
use Symfony\Component\Security\Core\User\UserInterface;
|
||||||
|
|
||||||
class SQLLoginService extends AbstractController
|
class SQLLoginService extends AbstractController
|
||||||
{
|
{
|
||||||
public SQLLoginRequest $sqlLoginRequest;
|
public const MAX_RETRY = 3;
|
||||||
|
|
||||||
public function __construct(SQLLoginRequest $sqlLoginRequest)
|
public function __construct(
|
||||||
{
|
private SQLLoginRequest $sqlLoginRequest,
|
||||||
|
private LoggerInterface $loggerInterface
|
||||||
|
) {
|
||||||
$this->sqlLoginRequest = $sqlLoginRequest;
|
$this->sqlLoginRequest = $sqlLoginRequest;
|
||||||
|
$this->loggerInterface = $loggerInterface;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function fetchDatas($login)
|
/**
|
||||||
|
* @return array<string,string>
|
||||||
|
*/
|
||||||
|
public function fetchPasswordAndDatas(string $login): array
|
||||||
{
|
{
|
||||||
try {
|
$dataRequest = $this->sqlLoginRequest->getDatasRequest();
|
||||||
$dbh = $this->getConnection();
|
$datas = $this->executeRequestWithLogin($dataRequest, $login);
|
||||||
// forge de la requête
|
|
||||||
$request = $this->sqlLoginRequest->getRequestScope();
|
|
||||||
// Préparation de la requête
|
|
||||||
$query = $dbh->prepare($request);
|
|
||||||
$query->execute([$this->sqlLoginRequest->getLoginColumnName() => $login]);
|
|
||||||
$datas = $query->fetch(PDO::FETCH_ASSOC);
|
|
||||||
} catch (PDOException $e) {
|
|
||||||
\Sentry\captureException($e);
|
|
||||||
|
|
||||||
throw new PDOException();
|
|
||||||
}
|
|
||||||
|
|
||||||
return $datas;
|
return $datas;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param mixed $login
|
* @return array<string,string>
|
||||||
*
|
|
||||||
* @return bool
|
|
||||||
*/
|
*/
|
||||||
public function fetchPassword($login)
|
private function executeRequestWithLogin(string $request, string $login): array
|
||||||
{
|
{
|
||||||
try {
|
$attempt = 0;
|
||||||
$dbh = $this->getConnection();
|
while ($attempt < self::MAX_RETRY) {
|
||||||
$request = $this->sqlLoginRequest->getRequestPassword();
|
$pdo = $this->getConnection();
|
||||||
$query = $dbh->prepare($request);
|
$query = $pdo->prepare($request);
|
||||||
$query->execute([$this->sqlLoginRequest->getLoginColumnName() => $login]);
|
$query->execute([$this->sqlLoginRequest->getLoginColumnName() => $login]);
|
||||||
$password = $query->fetch(PDO::FETCH_ASSOC);
|
$datas = $query->fetch(PDO::FETCH_ASSOC);
|
||||||
} catch (PDOException $e) {
|
$query->closeCursor();
|
||||||
\Sentry\captureException($e);
|
if (false === $datas) {
|
||||||
throw new PDOException();
|
usleep(3000);
|
||||||
|
++$attempt;
|
||||||
|
} else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if ($password) {
|
if (self::MAX_RETRY === $attempt) {
|
||||||
return [
|
throw new EmptyResultException();
|
||||||
$password[$this->sqlLoginRequest->getPasswordColumnName()],
|
|
||||||
isset($password[$this->sqlLoginRequest->getSaltColumnName()]) ? $password[$this->sqlLoginRequest->getSaltColumnName()] : null,
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return $datas;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getConnection()
|
private function getConnection(): PDO
|
||||||
{
|
{
|
||||||
// Appel du singleton
|
// Appel du singleton
|
||||||
$sqlLogin = SQLLoginConnect::getInstance();
|
$sqlLogin = SQLLoginConnect::getInstance();
|
||||||
// Connection bdd
|
$pdo = $sqlLogin->connect($this->sqlLoginRequest->getDatabaseDsn(), $this->sqlLoginRequest->getDbUser(), $this->sqlLoginRequest->getDbPassword());
|
||||||
return $sqlLogin->connect($this->sqlLoginRequest->getDatabaseDsn(), $this->sqlLoginRequest->getDbUser(), $this->sqlLoginRequest->getDbPassword());
|
|
||||||
|
return $pdo;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
200
symfony.lock
Normal file
200
symfony.lock
Normal file
@@ -0,0 +1,200 @@
|
|||||||
|
{
|
||||||
|
"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": {
|
||||||
|
"repo": "github.com/symfony/recipes-contrib",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "4.6",
|
||||||
|
"ref": "153de5f041f7e8a9c19f3674b800b76be0e6fd90"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/packages/sentry.yaml"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/apache-pack": {
|
||||||
|
"version": "1.0",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes-contrib",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "1.0",
|
||||||
|
"ref": "0f18b4decdf5695d692c1d0dfd65516a07a6adf1"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"public/.htaccess"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/console": {
|
||||||
|
"version": "5.4",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "5.3",
|
||||||
|
"ref": "1781ff40d8a17d87cf53f8d4cf0c8346ed2bb461"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"bin/console"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/debug-bundle": {
|
||||||
|
"version": "5.4",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "5.3",
|
||||||
|
"ref": "5aa8aa48234c8eb6dbdd7b3cd5d791485d2cec4b"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/packages/debug.yaml"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/flex": {
|
||||||
|
"version": "1.21",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "1.0",
|
||||||
|
"ref": "146251ae39e06a95be0fe3d13c807bcf3938b172"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
".env"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/framework-bundle": {
|
||||||
|
"version": "5.4",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "5.4",
|
||||||
|
"ref": "3cd216a4d007b78d8554d44a5b1c0a446dab24fb"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/packages/cache.yaml",
|
||||||
|
"config/packages/framework.yaml",
|
||||||
|
"config/preload.php",
|
||||||
|
"config/routes/framework.yaml",
|
||||||
|
"config/services.yaml",
|
||||||
|
"public/index.php",
|
||||||
|
"src/Controller/.gitignore",
|
||||||
|
"src/Kernel.php"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/monolog-bundle": {
|
||||||
|
"version": "3.10",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "3.7",
|
||||||
|
"ref": "aff23899c4440dd995907613c1dd709b6f59503f"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/packages/monolog.yaml"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/routing": {
|
||||||
|
"version": "5.4",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "5.3",
|
||||||
|
"ref": "85de1d8ae45b284c3c84b668171d2615049e698f"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/packages/routing.yaml",
|
||||||
|
"config/routes.yaml"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/security-bundle": {
|
||||||
|
"version": "5.4",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "5.3",
|
||||||
|
"ref": "98f1f2b0d635908c2b40f3675da2d23b1a069d30"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/packages/security.yaml"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/translation": {
|
||||||
|
"version": "5.4",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "5.3",
|
||||||
|
"ref": "e28e27f53663cc34f0be2837aba18e3a1bef8e7b"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/packages/translation.yaml",
|
||||||
|
"translations/.gitignore"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/twig-bundle": {
|
||||||
|
"version": "5.4",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "5.4",
|
||||||
|
"ref": "bb2178c57eee79e6be0b297aa96fc0c0def81387"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/packages/twig.yaml",
|
||||||
|
"templates/base.html.twig"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/validator": {
|
||||||
|
"version": "5.4",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "5.3",
|
||||||
|
"ref": "c32cfd98f714894c4f128bb99aa2530c1227603c"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/packages/validator.yaml"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/web-profiler-bundle": {
|
||||||
|
"version": "5.4",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "5.3",
|
||||||
|
"ref": "24bbc3d84ef2f427f82104f766014e799eefcc3e"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/packages/web_profiler.yaml",
|
||||||
|
"config/routes/web_profiler.yaml"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/webpack-encore-bundle": {
|
||||||
|
"version": "1.17",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "1.10",
|
||||||
|
"ref": "eff2e505d4557c967b6710fe06bd947ba555cae5"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"assets/app.js",
|
||||||
|
"assets/bootstrap.js",
|
||||||
|
"assets/controllers.json",
|
||||||
|
"assets/controllers/hello_controller.js",
|
||||||
|
"assets/styles/app.css",
|
||||||
|
"config/packages/webpack_encore.yaml",
|
||||||
|
"package.json",
|
||||||
|
"webpack.config.js"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
13
templates/altcha.html.twig
Normal file
13
templates/altcha.html.twig
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{% block altcha_widget %}
|
||||||
|
<altcha-widget
|
||||||
|
challengejson={{challengeJson}}
|
||||||
|
name='altcha'
|
||||||
|
strings="{{translations}}"
|
||||||
|
hidelogo
|
||||||
|
hidefooter
|
||||||
|
workers= {{ workers }}
|
||||||
|
delay={{ delay }}
|
||||||
|
{{ debug ? 'debug' : ''}}
|
||||||
|
{{ mockError ? 'mockerror' : ''}}
|
||||||
|
></altcha-widget>
|
||||||
|
{% endblock %}
|
@@ -1,21 +1,19 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html lang="{{app.request.session.get('_locale') is not null ? app.request.session.get('_locale') : 'fr'}}">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<title>{% block title %}Welcome!{% endblock %}</title>
|
<title>{% block title %}Welcome!{% endblock %}</title>
|
||||||
{% block stylesheets %}
|
{% block stylesheets %}
|
||||||
{{ encore_entry_link_tags('app', null, 'appConfig') }}
|
{{ encore_entry_link_tags('app') }}
|
||||||
{{ encore_entry_link_tags('bootstrap-css', null, 'appConfig') }}
|
{{ encore_entry_link_tags('bootstrap-css') }}
|
||||||
{{ encore_entry_link_tags('theme', null, 'themeConfig') }}
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
{% block body %}{% endblock %}
|
{% block body %}{% endblock %}
|
||||||
{% block javascripts %}
|
{% block javascripts %}
|
||||||
{{ encore_entry_script_tags('app', null, 'appConfig') }}
|
{{ encore_entry_script_tags('app') }}
|
||||||
{{ encore_entry_script_tags('bootstrap-js', null, 'appConfig') }}
|
{{ encore_entry_script_tags('bootstrap-js') }}
|
||||||
{{ encore_entry_script_tags('theme', null, 'themeConfig') }}
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@@ -6,23 +6,23 @@
|
|||||||
{% block body %}
|
{% block body %}
|
||||||
<div class="login-wrapper">
|
<div class="login-wrapper">
|
||||||
<div class="login">
|
<div class="login">
|
||||||
{% if app.user %}
|
{% if app.user %}
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
You are logged in as {{ app.user.login }}
|
You are logged in as {{ app.user.login }}
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
<div class="lang">
|
|
||||||
{% for locale in locales|split(',') %}
|
|
||||||
<a href="{{ path('locale_change', {'locale':locale }) }}" title="{{locale}}" aria-label="{{locale}}" class="flag"><img class="w-10" src="{{ asset('flags/'~ locale ~'.svg') }}"/></a>
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
</div>
|
||||||
<h1 class="h3 mb-3 font-weight-normal">{% trans from 'view' %} sign_in {% endtrans %}</h1>
|
{% endif %}
|
||||||
{{form_start(loginForm)}}
|
<div class="lang">
|
||||||
{{form_widget(loginForm)}}
|
{% for locale in locales %}
|
||||||
|
<a href="{{ path('locale_change', {'locale':locale }) }}" title="{{locale}}" aria-label="{{locale}}" class="flag"><img class="w-10" src="{{ asset('flags/'~ locale ~'.svg') }}"/></a>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
<h1 class="h3 mb-3 font-weight-normal">{% trans from 'view' %} sign_in {% endtrans %}</h1>
|
||||||
|
{{form_start(loginForm)}}
|
||||||
|
{{form_widget(loginForm)}}
|
||||||
<button class="btn btn-lg btn-primary" type="submit">
|
<button class="btn btn-lg btn-primary" type="submit">
|
||||||
{% trans from 'view' %} submit {% endtrans %}
|
{% trans from 'view' %} submit {% endtrans %}
|
||||||
</button>
|
</button>
|
||||||
{{form_end(loginForm)}}
|
{{form_end(loginForm)}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
3
tools/php-cs-fixer/.php-cs-fixer.dist.php
Normal file → Executable file
3
tools/php-cs-fixer/.php-cs-fixer.dist.php
Normal file → Executable file
@@ -5,8 +5,6 @@ $finder = PhpCsFixer\Finder::create()
|
|||||||
->name('*.php')
|
->name('*.php')
|
||||||
;
|
;
|
||||||
|
|
||||||
// TODO: Définir les règles de style communes
|
|
||||||
// spécifiques au projet
|
|
||||||
return (new PhpCsFixer\Config())
|
return (new PhpCsFixer\Config())
|
||||||
->setRules([
|
->setRules([
|
||||||
'@Symfony' => true,
|
'@Symfony' => true,
|
||||||
@@ -22,6 +20,7 @@ return (new PhpCsFixer\Config())
|
|||||||
'ternary_operator_spaces' => true,
|
'ternary_operator_spaces' => true,
|
||||||
'class_definition' => ['single_line' => true],
|
'class_definition' => ['single_line' => true],
|
||||||
'whitespace_after_comma_in_array' => true,
|
'whitespace_after_comma_in_array' => true,
|
||||||
|
'trailing_comma_in_multiline' => true,
|
||||||
|
|
||||||
// phpdoc
|
// phpdoc
|
||||||
'phpdoc_add_missing_param_annotation' => ['only_untyped' => true],
|
'phpdoc_add_missing_param_annotation' => ['only_untyped' => true],
|
||||||
|
@@ -7,15 +7,47 @@
|
|||||||
<body>
|
<body>
|
||||||
<trans-unit id="4Lw8Y4y" resname="form.label.login">
|
<trans-unit id="4Lw8Y4y" resname="form.label.login">
|
||||||
<source>form.label.login</source>
|
<source>form.label.login</source>
|
||||||
<target>login</target>
|
<target>Email address *</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="RmsDr53" resname="form.label.password">
|
<trans-unit id="RmsDr53" resname="form.label.password">
|
||||||
<source>form.label.password</source>
|
<source>form.label.password</source>
|
||||||
<target>Password</target>
|
<target>Password *</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="t17Vcvs" resname="form.label.remember_me">
|
<trans-unit id="4kfMq14" resname="altcha.validator.server_validation_error">
|
||||||
<source>form.label.remember_me</source>
|
<source>altcha.validator.server_validation_error</source>
|
||||||
<target>Remember me</target>
|
<target>Verification failed. Try again later.</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="7mZdXx_" resname="altcha.widget.error">
|
||||||
|
<source>altcha.widget.error</source>
|
||||||
|
<target>Verification failed. Try again later.</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="Yg33QZt" resname="altcha.widget.expired">
|
||||||
|
<source>altcha.widget.expired</source>
|
||||||
|
<target>Verification expired. Try again.</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="3y0.Bhb" resname="altcha.widget.label">
|
||||||
|
<source>altcha.widget.label</source>
|
||||||
|
<target>I'm not a robot</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="QFBWtGD" resname="altcha.widget.verified">
|
||||||
|
<source>altcha.widget.verified</source>
|
||||||
|
<target>Verified</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="SfOrgtj" resname="altcha.widget.verifying">
|
||||||
|
<source>altcha.widget.verifying</source>
|
||||||
|
<target>Verifying...</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="9dhbPuz" resname="altcha.widget.waitalert">
|
||||||
|
<source>altcha.widget.waitalert</source>
|
||||||
|
<target>Verifying... please wait.</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="9k5hI.D" resname="altcha.widget.title">
|
||||||
|
<source>altcha.widget.title</source>
|
||||||
|
<target>Verification *</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="vGcy2C3" resname="altcha.widget.info">
|
||||||
|
<source>altcha.widget.info</source>
|
||||||
|
<target>Please check the box above to validate that you are not a robot. If you encounter any problem while doing this, please update your browser.</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
|
@@ -1,5 +0,0 @@
|
|||||||
form:
|
|
||||||
label:
|
|
||||||
login: login
|
|
||||||
password: Password
|
|
||||||
remember_me: Remember me
|
|
@@ -7,15 +7,47 @@
|
|||||||
<body>
|
<body>
|
||||||
<trans-unit id="4Lw8Y4y" resname="form.label.login">
|
<trans-unit id="4Lw8Y4y" resname="form.label.login">
|
||||||
<source>form.label.login</source>
|
<source>form.label.login</source>
|
||||||
<target>login</target>
|
<target>Adresse courriel *</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="RmsDr53" resname="form.label.password">
|
<trans-unit id="RmsDr53" resname="form.label.password">
|
||||||
<source>form.label.password</source>
|
<source>form.label.password</source>
|
||||||
<target>Mot de passe</target>
|
<target>Mot de passe *</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="t17Vcvs" resname="form.label.remember_me">
|
<trans-unit id="4kfMq14" resname="altcha.validator.server_validation_error">
|
||||||
<source>form.label.remember_me</source>
|
<source>altcha.validator.server_validation_error</source>
|
||||||
<target>Se souvenir de moi</target>
|
<target>Échec de la vérification. Réessayez plus tard.</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="7mZdXx_" resname="altcha.widget.error">
|
||||||
|
<source>altcha.widget.error</source>
|
||||||
|
<target>Échec de la vérification. Réesayez plus tard.</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="Yg33QZt" resname="altcha.widget.expired">
|
||||||
|
<source>altcha.widget.expired</source>
|
||||||
|
<target>Vérification expirée. Réessayez.</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="3y0.Bhb" resname="altcha.widget.label">
|
||||||
|
<source>altcha.widget.label</source>
|
||||||
|
<target>Je ne suis pas un robot</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="QFBWtGD" resname="altcha.widget.verified">
|
||||||
|
<source>altcha.widget.verified</source>
|
||||||
|
<target>Vérifié</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="SfOrgtj" resname="altcha.widget.verifying">
|
||||||
|
<source>altcha.widget.verifying</source>
|
||||||
|
<target>Vérification en cours...</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="9dhbPuz" resname="altcha.widget.waitalert">
|
||||||
|
<source>altcha.widget.waitalert</source>
|
||||||
|
<target>Vérification en cours... veuillez patienter.</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="9k5hI.D" resname="altcha.widget.title">
|
||||||
|
<source>altcha.widget.title</source>
|
||||||
|
<target>Vérification *</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="vGcy2C3" resname="altcha.widget.info">
|
||||||
|
<source>altcha.widget.info</source>
|
||||||
|
<target>Veuillez cocher la case ci dessus afin de valider que vous n'êtes pas un robot. Si vous rencontrez un problème lors de cette action, mettez à jour votre navigateur.</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user