; Letterbook — configuration PHP côté OVH Mutualisé Pro. ; ; Fichier lu par OVH au niveau du dossier où il est placé (et sous-dossiers). ; Doit être à la racine du projet, PAS dans /public/. ; ; OVH met en cache .user.ini 5 min (user_ini.cache_ttl). Patience après modif. ; Upload : 10 Mo max. Les avatars sont re-crop côté client à 600x600 JPEG ; → résultats < 200 Ko, mais on garde de la marge pour les originaux iPhone HEIC. upload_max_filesize = 10M post_max_size = 12M ; Mémoire raisonnable pour Symfony 7.4 + Doctrine + AssetMapper. memory_limit = 256M ; Timeout web : 60s suffit (OVH plafonne à ~60s côté Apache de toute façon). max_execution_time = 60 ; OPcache — actif, code immutable (pas de re-stat à chaque hit pour les ; performances). Tu DOIS reset OPcache après chaque deploy via un script ; one-shot public/opcache-reset.php (à supprimer après usage). opcache.enable = 1 opcache.validate_timestamps = 1 opcache.memory_consumption = 128 opcache.interned_strings_buffer = 16 opcache.max_accelerated_files = 10000 ; Timezone (sinon warnings PHP partout). date.timezone = Europe/Paris ; Sécurité : masquer la version PHP dans les headers HTTP. expose_php = Off ; Session — déjà géré par framework.yaml côté Symfony, mais on durcit ; en parallèle côté PHP. session.cookie_httponly = 1 session.cookie_secure = 1 session.use_strict_mode = 1