; Wakdo - configuration PHP runtime (surcharge le php.ini par defaut) ; Charge en dernier via le prefixe zz- pour avoir le dernier mot. [PHP] ; --- Erreurs --- ; En dev : on affiche les erreurs a l'ecran. En prod : surcharge via override ; docker-compose.prod.yml qui remplace ce fichier (display_errors=0, log_errors=1). display_errors = On display_startup_errors = On error_reporting = E_ALL log_errors = On error_log = /proc/self/fd/2 ; --- Memoire et temps --- memory_limit = 256M max_execution_time = 30 max_input_time = 60 ; --- Upload images produits (voir .env UPLOAD_MAX_SIZE_MB=5) --- ; post_max_size >= upload_max_filesize + overhead des autres champs du form. file_uploads = On upload_max_filesize = 5M post_max_size = 8M max_file_uploads = 5 ; --- Timezone --- ; Cr technique : eviter les warnings et les decalages date silencieux. date.timezone = Europe/Paris ; --- Sessions --- ; Le nom du cookie et la lifetime sont surcharges par l'appli au runtime via ; session_set_cookie_params() a partir des variables SESSION_* du .env. ; Ce qui est fixe ici = les defaults securises. session.use_strict_mode = 1 session.use_cookies = 1 session.use_only_cookies = 1 session.cookie_httponly = 1 session.cookie_samesite = "Strict" session.cookie_secure = 1 ; session.save_path est laisse par defaut (/tmp dans le conteneur). ; Persistance inter-container non necessaire : chaque session est liee a une ; instance unique du service wakdo-app (pas de scale horizontal pour ce projet). ; --- Expose_php = Off : ne pas leak la version PHP dans l'entete HTTP --- expose_php = Off ; --- OPcache (perf + stabilite) --- [opcache] opcache.enable = 1 opcache.enable_cli = 0 opcache.memory_consumption = 128 opcache.interned_strings_buffer = 16 opcache.max_accelerated_files = 10000 opcache.validate_timestamps = 1 ; En dev : revalidate toutes les 2s pour prendre en compte les modifs du bind-mount. ; En prod : validate_timestamps=0 via override (invalidation manuelle au deploy). opcache.revalidate_freq = 2 opcache.fast_shutdown = 1 ; --- PDO / MySQL --- [PDO] ; Pas de persistent connections pour un projet a faible volume : plus simple ; a debugger et moins de risques de fuite de sessions BDD. [MySQLi] mysqli.default_host = wakdo-db mysqli.default_port = 3306