Error 500 Internal Server Error

GET https://circulaire.developpe.net/detail?id=15

Forwarded to ErrorController (3c3935)

Exceptions

An exception has been thrown during the rendering of a template ("Notice: require(): Read of 1511 bytes failed with errno=116 Stale file handle") in frontend/acteur/detail.html.twig at line 90.

Exceptions 2

Twig\Error\ RuntimeError

Show exception properties
Twig\Error\RuntimeError {#1036
  -lineno: 90
  -rawMessage: "An exception has been thrown during the rendering of a template ("Notice: require(): Read of 1511 bytes failed with errno=116 Stale file handle")."
  -source: Twig\Source {#1279
    -code: """
      {% extends 'base.html.twig' %}\r\n
      {% block body %}\r\n
      \t<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"/>\r\n
      \t<script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"></script>\r\n
      \r\n
      \t<div\r\n
      \t\tclass="flex-1 w-full max-w-[1440px] mx-auto px-4 md:px-10 py-6 lg:py-10">\r\n
      \t\t<!-- Breadcrumbs -->\r\n
      \t\t<nav class="flex flex-wrap items-center gap-2 mb-8 text-sm">\r\n
      \t\t\t<a class="text-text-secondary dark:text-gray-400 hover:text-primary font-medium" href="#">Accueil</a>\r\n
      \t\t\t<span class="text-text-secondary dark:text-gray-500">/</span>\r\n
      \t\t\t<a class="text-text-secondary dark:text-gray-400 hover:text-primary font-medium" href="#">Acteurs</a>\r\n
      \t\t</nav>\r\n
      \t\t<div\r\n
      \t\t\tid="actor-profile-content" class="grid grid-cols-1 lg:grid-cols-12 gap-8 items-start">\r\n
      \t\t\t<!-- Left Sidebar (Identity & Contact) -->\r\n
      \t\t\t<aside\r\n
      \t\t\t\tclass="lg:col-span-4 flex flex-col gap-6">\r\n
      \t\t\t\t<!-- Profile Card -->\r\n
      \t\t\t\t<div class="bg-white dark:bg-[#1a2e22] rounded-xl p-6 shadow-sm border border-[#e5e7eb] dark:border-[#2a4034]">\r\n
      \t\t\t\t\t<div class="aspect-square w-full rounded-lg bg-gray-100 dark:bg-gray-800 mb-6 relative overflow-hidden group">\r\n
      \t\t\t\t\t\t<div class="absolute inset-0 bg-center bg-cover transition-transform duration-500 group-hover:scale-105" data-alt="{{ acteur.denomination }}" style="background-image: url('{{ acteur.logo ? asset('uploads/logos/' ~ acteur.logo) : asset('frontend/images/acteur.jpg') }}');"></div>\r\n
      \t\t\t\t\t\t<div class="absolute top-3 right-3 bg-white dark:bg-background-dark p-1.5 rounded-full shadow-md text-primary" title="Verified Actor">\r\n
      \t\t\t\t\t\t\t<span class="material-symbols-outlined text-[20px] block">verified</span>\r\n
      \t\t\t\t\t\t</div>\r\n
      \t\t\t\t\t</div>\r\n
      \t\t\t\t\t<h2 class="text-xl font-bold text-text-main dark:text-white mb-1">{{acteur.denomination}}</h2>\r\n
      \t\t\t\t\t<p class="text-lg text-text-secondary dark:text-gray-300 flex items-start gap-2">\r\n
      \t\t\t\t\t\t<span class="leading-relaxed">\r\n
      \t\t\t\t\t\t\t{{acteur.code}}\r\n
      \t\t\t\t\t\t</span>\r\n
      \t\t\t\t\t</p>\r\n
      \t\t\t\t\t<p class="text-text-secondary dark:text-gray-400 text-sm mb-6">\r\n
      \t\t\t\t\t\t{% if acteur.statutJuridique %}\r\n
      \r\n
      \t\t\t\t\t\t\t{{ acteur.statutJuridique.libelle }}\r\n
      \r\n
      \t\t\t\t\t\t{% endif %}\r\n
      \t\t\t\t\t</p>\r\n
      \t\t\t\t\t<div class="flex gap-2 mb-6 relative">\r\n
      \t\t\t\t\t\t<button id="share-btn" class="h-10 w-10 flex items-center justify-center rounded-full bg-[#f0f4f2] dark:bg-[#23362b] text-text-secondary hover:text-primary hover:bg-primary/10 transition-all focus:outline-none" title="Partager">\r\n
      \t\t\t\t\t\t\t<span class="material-symbols-outlined text-[20px]">share</span>\r\n
      \t\t\t\t\t\t</button>\r\n
      \t\t\t\t\t\t<button id="copy-link-btn" class="h-10 w-10 flex items-center justify-center rounded-full bg-[#f0f4f2] dark:bg-[#23362b] text-text-secondary hover:text-primary hover:bg-primary/10 transition-all focus:outline-none" title="Copier le lien">\r\n
      \t\t\t\t\t\t\t<span id="copy-icon" class="material-symbols-outlined text-[20px]">link</span>\r\n
      \t\t\t\t\t\t</button>\r\n
      \t\t\t\t\t\t<!-- Toast notification for copy -->\r\n
      \t\t\t\t\t\t<div id="copy-toast" class="absolute -top-10 left-0 bg-gray-800 text-white text-xs px-3 py-1.5 rounded-lg opacity-0 transition-opacity duration-300 pointer-events-none whitespace-nowrap">\r\n
      \t\t\t\t\t\t\tLien copié !\r\n
      \t\t\t\t\t\t</div>\r\n
      \t\t\t\t\t\t<a href="{{ path('app_acteur_pdf', {id: acteur.id}) }}" class="flex-1 h-10 rounded-lg bg-primary text-[#111814] font-bold text-sm flex items-center justify-center gap-2 hover:bg-[#0fd660] transition-colors focus:outline-none">\r\n
      \t\t\t\t\t\t\t<span class="material-symbols-outlined text-[18px]">download</span>\r\n
      \t\t\t\t\t\t\tProfil PDF\r\n
      \t\t\t\t\t\t</a>\r\n
      \t\t\t\t\t</div>\r\n
      \t\t\t\t\t<!-- Contact Details -->\r\n
      \t\t\t\t\t<div class="flex flex-col gap-4 border-t border-[#f0f4f2] dark:border-[#2a4034] pt-6">\r\n
      \t\t\t\t\t\t<div class="flex items-start gap-3">\r\n
      \t\t\t\t\t\t\t<div class="mt-0.5 text-primary">\r\n
      \t\t\t\t\t\t\t\t<span class="material-symbols-outlined text-[20px]">call</span>\r\n
      \t\t\t\t\t\t\t</div>\r\n
      \t\t\t\t\t\t\t<div>\r\n
      \t\t\t\t\t\t\t\t<p class="text-xs font-medium text-text-secondary uppercase tracking-wider mb-0.5">Tel\r\n
      \t\t\t\t\t\t\t\t</p>\r\n
      \t\t\t\t\t\t\t\t<p class="text-sm font-medium text-text-main dark:text-white">{{ acteur.telephone }}</p>\r\n
      \t\t\t\t\t\t\t</div>\r\n
      \t\t\t\t\t\t</div>\r\n
      \t\t\t\t\t\t<div class="flex items-start gap-3">\r\n
      \t\t\t\t\t\t\t<div class="mt-0.5 text-primary">\r\n
      \t\t\t\t\t\t\t\t<span class="material-symbols-outlined text-[20px]">mail</span>\r\n
      \t\t\t\t\t\t\t</div>\r\n
      \t\t\t\t\t\t\t<div>\r\n
      \t\t\t\t\t\t\t\t<p class="text-xs font-medium text-text-secondary uppercase tracking-wider mb-0.5">Email\r\n
      \t\t\t\t\t\t\t\t</p>\r\n
      \t\t\t\t\t\t\t\t<p class="text-sm font-medium text-text-main dark:text-white">{{ acteur.email}}</p>\r\n
      \t\t\t\t\t\t\t</div>\r\n
      \t\t\t\t\t\t</div>\r\n
      \t\t\t\t\t\t<div class="flex items-start gap-3">\r\n
      \t\t\t\t\t\t\t<div class="mt-0.5 text-primary">\r\n
      \t\t\t\t\t\t\t\t<span class="material-symbols-outlined text-[20px]">language</span>\r\n
      \t\t\t\t\t\t\t</div>\r\n
      \t\t\t\t\t\t\t<div>\r\n
      \t\t\t\t\t\t\t\t<p class="text-xs font-medium text-text-secondary uppercase tracking-wider mb-0.5">\r\n
      \t\t\t\t\t\t\t\t\tWebsite</p>\r\n
      \t\t\t\t\t\t\t\t<a class="text-sm font-medium text-text-main dark:text-white hover:text-primary underline decoration-primary/30 underline-offset-2" href="#">{{ acteur.siteWeb }}</a>\r\n
      \t\t\t\t\t\t\t</div>\r\n
      \t\t\t\t\t\t</div>\r\n
      \t\t\t\t\t\t{% set dep = acteur.departement %}\r\n
      \t\t\t\t\t\t{% set reg = dep ? dep.region : null %}\r\n
      \t\t\t\t\t\t{% set dist = reg ? reg.district : null %}\r\n
      \t\t\t\t\t\t{% set loc_parts = [] %}\r\n
      \r\n
      \t\t\t\t\t\t{% if acteur.commune %}\r\n
      \t\t\t\t\t\t\t{% set loc_parts = loc_parts|merge([acteur.commune]) %}\r\n
      \t\t\t\t\t\t{% endif %}\r\n
      \t\t\t\t\t\t{% if sousPrefecture is defined and sousPrefecture %}\r\n
      \t\t\t\t\t\t\t{% set loc_parts = loc_parts|merge([sousPrefecture.nom]) %}\r\n
      \t\t\t\t\t\t{% endif %}\r\n
      \t\t\t\t\t\t{% if dep %}\r\n
      \t\t\t\t\t\t\t{% set loc_parts = loc_parts|merge([dep.nom]) %}\r\n
      \t\t\t\t\t\t{% endif %}\r\n
      \t\t\t\t\t\t{% if reg %}\r\n
      \t\t\t\t\t\t\t{% set loc_parts = loc_parts|merge([reg.nom]) %}\r\n
      \t\t\t\t\t\t{% endif %}\r\n
      \t\t\t\t\t\t{% if dist %}\r\n
      \t\t\t\t\t\t\t{% set loc_parts = loc_parts|merge([dist.nom]) %}\r\n
      \t\t\t\t\t\t{% endif %}\r\n
      \t\t\t\t\t\t<div class="flex items-start gap-3">\r\n
      \t\t\t\t\t\t\t<div class="mt-0.5 text-primary">\r\n
      \t\t\t\t\t\t\t\t<span class="material-symbols-outlined text-[20px]">location_on</span>\r\n
      \t\t\t\t\t\t\t</div>\r\n
      \t\t\t\t\t\t\t<div>\r\n
      \t\t\t\t\t\t\t\t<p class="text-xs font-medium text-text-secondary uppercase tracking-wider mb-0.5">\r\n
      \t\t\t\t\t\t\t\t\tLocalité</p>\r\n
      \t\t\t\t\t\t\t\t<p class="text-sm font-medium text-text-main dark:text-white">\r\n
      \t\t\t\t\t\t\t\t\t{% if loc_parts|length > 0 %}\r\n
      \t\t\t\t\t\t\t\t\t\t{{ loc_parts|join(', ') }}\r\n
      \t\t\t\t\t\t\t\t\t{% else %}\r\n
      \t\t\t\t\t\t\t\t\t\tLocalisation non précisée\r\n
      \t\t\t\t\t\t\t\t\t{% endif %}\r\n
      \t\t\t\t\t\t\t\t</p>\r\n
      \t\t\t\t\t\t\t</div>\r\n
      \t\t\t\t\t\t</div>\r\n
      \t\t\t\t\t</div>\r\n
      \t\t\t\t\t{#<div class="mt-6 pt-6 border-t border-[#f0f4f2] dark:border-[#2a4034]">\r\n
      \t\t\t\t\t\t\t\t\t\t\t<button class="w-full flex items-center justify-center rounded-lg h-12 bg-[#111814] dark:bg-white text-white dark:text-[#111814] gap-2 text-sm font-bold shadow-lg hover:shadow-xl transition-all">\r\n
      \t\t\t\t\t\t\t\t\t\t\t\t<span class="material-symbols-outlined text-[20px]">chat_bubble</span>\r\n
      \t\t\t\t\t\t\t\t\t\t\t\t<span>Message Actor</span>\r\n
      \t\t\t\t\t\t\t\t\t\t\t</button>\r\n
      \t\t\t\t\t\t\t\t\t\t</div>#}\r\n
      \t\t\t\t</div>\r\n
      \t\t\t</aside>\r\n
      \t\t\t<!-- Main Content Area -->\r\n
      \t\t\t<section\r\n
      \t\t\t\tclass="lg:col-span-8 flex flex-col gap-8">\r\n
      \t\t\t\t<!-- Header Block -->\r\n
      \t\t\t\t<div class="flex flex-col gap-2">\r\n
      \t\t\t\t\t<div class="flex flex-col md:flex-row md:items-center justify-between gap-4">\r\n
      \t\t\t\t\t\t<h1 class="text-3xl md:text-4xl font-bold text-text-main dark:text-white tracking-tight">\r\n
      \t\t\t\t\t\t\t{{acteur.denomination}}\r\n
      \t\t\t\t\t\t</h1>\r\n
      \t\t\t\t\t\t{% set score = acteur.score|upper %}\r\n
      \t\t\t\t\t\t{% set stars = 0 %}\r\n
      \t\t\t\t\t\t{% if score == 'A' %}\r\n
      \t\t\t\t\t\t\t{% set stars = 5 %}\r\n
      \t\t\t\t\t\t{% elseif score == 'B' %}\r\n
      \t\t\t\t\t\t\t{% set stars = 4 %}\r\n
      \t\t\t\t\t\t{% elseif score == 'C' %}\r\n
      \t\t\t\t\t\t\t{% set stars = 3 %}\r\n
      \t\t\t\t\t\t{% elseif score == 'D' %}\r\n
      \t\t\t\t\t\t\t{% set stars = 2 %}\r\n
      \t\t\t\t\t\t{% elseif score == 'E' %}\r\n
      \t\t\t\t\t\t\t{% set stars = 1 %}\r\n
      \t\t\t\t\t\t{% endif %}\r\n
      \r\n
      \t\t\t\t\t\t{% if stars > 0 %}\r\n
      \t\t\t\t\t\t\t<div class="inline-flex flex-col items-center justify-center px-4 py-1.5 rounded-xl bg-primary/20 text-green-800 dark:text-green-100 w-fit" title="Score : {{ score }}">\r\n
      \t\t\t\t\t\t\t\t<span class="text-[10px] font-bold uppercase tracking-widest mb-0.5">Score</span>\r\n
      \t\t\t\t\t\t\t\t<div class="flex items-center gap-0.5">\r\n
      \t\t\t\t\t\t\t\t\t{% for i in 1..5 %}\r\n
      \t\t\t\t\t\t\t\t\t\t{% if i <= stars %}\r\n
      \t\t\t\t\t\t\t\t\t\t\t<span class="material-symbols-outlined text-[16px]" style="font-variation-settings: 'FILL' 1;">star</span>\r\n
      \t\t\t\t\t\t\t\t\t\t{% else %}\r\n
      \t\t\t\t\t\t\t\t\t\t\t<span class="material-symbols-outlined text-[16px] opacity-30" style="font-variation-settings: 'FILL' 1;">star</span>\r\n
      \t\t\t\t\t\t\t\t\t\t{% endif %}\r\n
      \t\t\t\t\t\t\t\t\t{% endfor %}\r\n
      \t\t\t\t\t\t\t\t</div>\r\n
      \t\t\t\t\t\t\t</div>\r\n
      \t\t\t\t\t\t{% endif %}\r\n
      \t\t\t\t\t</div>\r\n
      \r\n
      \t\t\t\t\t<p class="text-lg text-text-secondary dark:text-gray-300 flex items-start gap-2">\r\n
      \t\t\t\t\t\t<span class="material-symbols-outlined text-[20px] mt-1 shrink-0">location_on</span>\r\n
      \t\t\t\t\t\t<span class="leading-relaxed">\r\n
      \t\t\t\t\t\t\t{% if loc_parts|length > 0 %}\r\n
      \t\t\t\t\t\t\t\t{{ loc_parts|join(', ') }}\r\n
      \t\t\t\t\t\t\t{% else %}\r\n
      \t\t\t\t\t\t\t\tLocalisation non précisée\r\n
      \t\t\t\t\t\t\t{% endif %}\r\n
      \t\t\t\t\t\t</span>\r\n
      \r\n
      \r\n
      \t\t\t\t\t</p>\r\n
      \r\n
      \t\t\t\t</div>\r\n
      \t\t\t\t<!-- About Section -->\r\n
      \t\t\t\t<div class="bg-white dark:bg-[#1a2e22] p-6 md:p-8 rounded-xl border border-[#e5e7eb] dark:border-[#2a4034]">\r\n
      \t\t\t\t\t<h3 class="text-lg font-bold text-text-main dark:text-white mb-4 flex items-center gap-2">\r\n
      \t\t\t\t\t\t<span class="material-symbols-outlined text-primary">info</span>\r\n
      \t\t\t\t\t\tDescription\r\n
      \t\t\t\t\t</h3>\r\n
      \t\t\t\t\t<div class="prose prose-sm md:prose-base dark:prose-invert max-w-none text-text-secondary dark:text-gray-300">\r\n
      \t\t\t\t\t\t<p class="mb-4">\r\n
      \t\t\t\t\t\t\t{{acteur.description}}\r\n
      \t\t\t\t\t\t</p>\r\n
      \t\t\t\t\t</div>\r\n
      \t\t\t\t</div>\r\n
      \t\t\t\t<!-- Activities & Expertise -->\r\n
      \t\t\t\t<div>\r\n
      \t\t\t\t\t<h3 class="text-lg font-bold text-text-main dark:text-white mb-4">Type acteur</h3>\r\n
      \t\t\t\t\t<div class="flex flex-wrap gap-3">\r\n
      \t\t\t\t\t\t{% if acteur.typeActeur %}\r\n
      \t\t\t\t\t\t\t<span class="inline-flex items-center px-4 py-2 rounded-full bg-white dark:bg-[#23362b] border border-[#e5e7eb] dark:border-[#2a4034] text-text-main dark:text-white text-sm font-medium hover:border-primary transition-colors cursor-default">\r\n
      \t\t\t\t\t\t\t\t{{ acteur.typeActeur.libelle }}\r\n
      \t\t\t\t\t\t\t</span>\r\n
      \t\t\t\t\t\t{% endif %}\r\n
      \t\t\t\t\t</div>\r\n
      \t\t\t\t</div>\r\n
      \r\n
      \t\t\t\t<!-- Filieres -->\r\n
      \t\t\t\t<div>\r\n
      \t\t\t\t\t<h3 class="text-lg font-bold text-text-main dark:text-white mb-4">Filieres</h3>\r\n
      \t\t\t\t\t<div class="flex flex-wrap gap-3">\r\n
      \t\t\t\t\t\t{% for filiere in acteur.filieres %}\r\n
      \t\t\t\t\t\t\t<span class="inline-flex items-center px-4 py-2 rounded-full bg-white dark:bg-[#23362b] border border-[#e5e7eb] dark:border-[#2a4034] text-text-main dark:text-white text-sm font-medium hover:border-primary transition-colors cursor-default">\r\n
      \t\t\t\t\t\t\t\t{{ filiere.libelle }}\r\n
      \t\t\t\t\t\t\t</span>\r\n
      \t\t\t\t\t\t{% endfor %}\r\n
      \t\t\t\t\t</div>\r\n
      \t\t\t\t</div>\r\n
      \r\n
      \t\t\t\t<!-- Role principal -->\r\n
      \t\t\t\t<div>\r\n
      \t\t\t\t\t<h3 class="text-lg font-bold text-text-main dark:text-white mb-4">Role principal</h3>\r\n
      \t\t\t\t\t<div class="flex flex-wrap gap-3">\r\n
      \t\t\t\t\t\t{% for role in acteur.rolesPrincipaux %}\r\n
      \t\t\t\t\t\t\t<span class="inline-flex items-center px-4 py-2 rounded-full bg-white dark:bg-[#23362b] border border-[#e5e7eb] dark:border-[#2a4034] text-text-main dark:text-white text-sm font-medium hover:border-primary transition-colors cursor-default">\r\n
      \t\t\t\t\t\t\t\t{{ role.libelle }}\r\n
      \t\t\t\t\t\t{% endfor %}\r\n
      \t\t\t\t\t</div>\r\n
      \t\t\t\t</div>\r\n
      \r\n
      \t\t\t\t<!-- Galerie -->\r\n
      \t\t\t\t<div>\r\n
      \t\t\t\t\t<div class="flex items-center justify-between mb-4">\r\n
      \t\t\t\t\t\t<h3 class="text-lg font-bold text-text-main dark:text-white">Galerie</h3>\r\n
      \t\t\t\t\t</div>\r\n
      \t\t\t\t\t{% if acteur.images|length > 0 %}\r\n
      \t\t\t\t\t\t<div class="grid grid-cols-2 md:grid-cols-4 gap-4" id="gallery-container">\r\n
      \t\t\t\t\t\t\t{% for image in acteur.images %}\r\n
      \t\t\t\t\t\t\t\t<div class="gallery-item aspect-[4/3] rounded-lg bg-gray-200 dark:bg-gray-800 bg-cover bg-center hover:opacity-90 transition-opacity cursor-pointer shadow-sm" data-alt="Image galerie {{ acteur.denomination }}" data-src="{{ asset('uploads/galeries/' ~ image.imageName) }}" style="background-image: url('{{ asset('uploads/galeries/' ~ image.imageName) }}');"></div>\r\n
      \t\t\t\t\t\t\t{% endfor %}\r\n
      \t\t\t\t\t\t</div>\r\n
      \t\t\t\t\t{% else %}\r\n
      \t\t\t\t\t\t<p class="text-sm text-gray-500 italic">Aucune image dans la galerie.</p>\r\n
      \t\t\t\t\t{% endif %}\r\n
      \t\t\t\t</div>\r\n
      \t\t\t\t<!-- Localization Map -->\r\n
      \t\t\t\t<div class="flex flex-col gap-4">\r\n
      \t\t\t\t\t<h3 class="text-lg font-bold text-text-main dark:text-white">Localisation</h3>\r\n
      \t\t\t\t\t<div\r\n
      \t\t\t\t\t\tclass="relative w-full h-[300px] md:h-[400px] rounded-xl overflow-hidden shadow-md border border-[#e5e7eb] dark:border-[#2a4034]">\r\n
      \t\t\t\t\t\t<!-- Leaflet Map Container -->\r\n
      \t\t\t\t\t\t<div id="map" class="absolute inset-0 z-0"></div>\r\n
      \r\n
      \t\t\t\t\t\t<!-- Map Overlay Gradient -->\r\n
      \t\t\t\t\t\t<div class="absolute inset-0 bg-gradient-to-t from-black/50 to-transparent pointer-events-none z-10"></div>\r\n
      \r\n
      \t\t\t\t\t\t<!-- Address Overlay Card -->\r\n
      \t\t\t\t\t\t<div class="absolute bottom-4 left-4 right-4 md:left-auto md:right-4 md:w-80 bg-white dark:bg-[#1a2e22] p-4 rounded-lg shadow-lg border border-[#f0f4f2] dark:border-[#2a4034] z-20">\r\n
      \t\t\t\t\t\t\t<div class="flex justify-between items-start mb-2">\r\n
      \t\t\t\t\t\t\t\t<h4 class="font-bold text-text-main dark:text-white text-sm">Headquarters</h4>\r\n
      \t\t\t\t\t\t\t\t<a class="text-primary hover:text-[#0fd660]" href="https://www.google.com/maps/search/?api=1&query={{ acteur.latitude|default('5.3364') }},{{ acteur.longitude|default('-4.0267') }}" target="_blank">\r\n
      \t\t\t\t\t\t\t\t\t<span class="material-symbols-outlined text-[20px]">directions</span>\r\n
      \t\t\t\t\t\t\t\t</a>\r\n
      \t\t\t\t\t\t\t</div>\r\n
      \t\t\t\t\t\t\t<p class="text-xs text-text-secondary dark:text-gray-400 mb-3">\r\n
      \t\t\t\t\t\t\t\t{% if acteur.commune %}\r\n
      \t\t\t\t\t\t\t\t\t{{ acteur.commune }}<br/>Côte d'Ivoire\r\n
      \t\t\t\t\t\t\t\t{% else %}\r\n
      \t\t\t\t\t\t\t\t\tRue des Jardins, Riviera 2<br/>\r\n
      \t\t\t\t\t\t\t\t\tCocody, Abidjan\r\n
      \t\t\t\t\t\t\t\t{% endif %}\r\n
      \t\t\t\t\t\t\t</p>\r\n
      \t\t\t\t\t\t\t<a href="https://www.google.com/maps/search/?api=1&query={{ acteur.latitude|default('5.3364') }},{{ acteur.longitude|default('-4.0267') }}" target="_blank" class="flex items-center justify-center w-full h-8 rounded bg-[#f0f4f2] dark:bg-[#23362b] text-text-main dark:text-white text-xs font-bold hover:bg-primary/20 hover:text-primary transition-colors">\r\n
      \t\t\t\t\t\t\t\tView on Google Maps\r\n
      \t\t\t\t\t\t\t</a>\r\n
      \t\t\t\t\t\t</div>\r\n
      \t\t\t\t\t</div>\r\n
      \r\n
      \t\t\t\t\t<script>\r\n
      \t\t\t\t\t\tdocument.addEventListener('DOMContentLoaded', function () {\r\n
      {% if acteur.latitude and acteur.longitude %}\r\n
      var lat = {{ acteur.latitude }};\r\n
      var lng = {{ acteur.longitude }};\r\n
      var zoom = 14;\r\n
      {% else %}\r\n
      var lat = 5.3364; // Default to Abidjan\r\n
      var lng = -4.0267;\r\n
      var zoom = 12;{% endif %}var map = L.map('map', {zoomControl: false}).setView([\r\n
      lat, lng\r\n
      ], zoom);\r\n
      \r\n
      L.control.zoom({position: 'topleft'}).addTo(map);\r\n
      \r\n
      L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'}).addTo(map);\r\n
      \r\n
      var customIcon = L.divIcon({\r\n
      className: 'custom-pin',\r\n
      html: `<div class="relative flex items-center justify-center w-8 h-8">\r\n
      \t\t\t\t\t\t\t\t\t\t\t<div class="absolute inset-0 bg-primary/30 rounded-full animate-ping"></div>\r\n
      \t\t\t\t\t\t\t\t\t\t\t<div class="relative flex items-center justify-center w-6 h-6 bg-white/90 border-[3px] border-primary rounded-full shadow-md">\r\n
      \t\t\t\t\t\t\t\t\t\t\t\t<div class="w-2.5 h-2.5 bg-primary rounded-full"></div>\r\n
      \t\t\t\t\t\t\t\t\t\t\t</div>\r\n
      \t\t\t\t\t\t\t\t\t   </div>`,\r\n
      iconSize: [\r\n
      32, 32\r\n
      ],\r\n
      iconAnchor: [\r\n
      16, 16\r\n
      ],\r\n
      popupAnchor: [0, -16]\r\n
      });\r\n
      \r\n
      var marker = L.marker([\r\n
      lat, lng\r\n
      ], {icon: customIcon}).addTo(map);\r\n
      });\r\n
      \t\t\t\t\t</script>\r\n
      \t\t\t\t</div>\r\n
      \t\t\t</section>\r\n
      \t\t</div>\r\n
      \t</div>\r\n
      \r\n
      \t<!-- Lightbox Overlay -->\r\n
      \t<div id="lightbox" class="fixed inset-0 z-[100] hidden bg-black/90 backdrop-blur-sm flex items-center justify-center transition-opacity opacity-0">\r\n
      \t\t<button id="lightbox-close" class="absolute top-6 right-6 text-white hover:text-primary transition-colors bg-black/50 p-2 rounded-full">\r\n
      \t\t\t<span class="material-symbols-outlined text-3xl">close</span>\r\n
      \t\t</button>\r\n
      \r\n
      \t\t<button id="lightbox-prev" class="absolute left-4 md:left-10 text-white hover:text-primary transition-colors bg-black/50 p-3 rounded-full hidden md:block">\r\n
      \t\t\t<span class="material-symbols-outlined text-4xl">chevron_left</span>\r\n
      \t\t</button>\r\n
      \r\n
      \t\t<div class="max-w-[90vw] max-h-[90vh] relative flex items-center justify-center">\r\n
      \t\t\t<img id="lightbox-img" src="" alt="Gallery Image" class="max-w-full max-h-[85vh] object-contain rounded-lg shadow-2xl transition-transform duration-300 transform scale-95"/>\r\n
      \t\t\t<div id="lightbox-caption" class="absolute -bottom-10 left-0 right-0 text-center text-white text-sm"></div>\r\n
      \t\t</div>\r\n
      \r\n
      \t\t<button id="lightbox-next" class="absolute right-4 md:right-10 text-white hover:text-primary transition-colors bg-black/50 p-3 rounded-full hidden md:block">\r\n
      \t\t\t<span class="material-symbols-outlined text-4xl">chevron_right</span>\r\n
      \t\t</button>\r\n
      \r\n
      \t\t<!-- Mobile controls (bottom) -->\r\n
      \t\t<div class="absolute bottom-6 left-0 right-0 flex justify-center gap-8 md:hidden">\r\n
      \t\t\t<button id="lightbox-prev-mobile" class="text-white hover:text-primary transition-colors bg-black/50 p-3 rounded-full">\r\n
      \t\t\t\t<span class="material-symbols-outlined text-3xl">chevron_left</span>\r\n
      \t\t\t</button>\r\n
      \t\t\t<button id="lightbox-next-mobile" class="text-white hover:text-primary transition-colors bg-black/50 p-3 rounded-full">\r\n
      \t\t\t\t<span class="material-symbols-outlined text-3xl">chevron_right</span>\r\n
      \t\t\t</button>\r\n
      \t\t</div>\r\n
      \t</div>\r\n
      \r\n
      \t<script>\r\n
      \t\tdocument.addEventListener('DOMContentLoaded', function () {\r\n
      const galleryItems = document.querySelectorAll('.gallery-item');\r\n
      const lightbox = document.getElementById('lightbox');\r\n
      const lightboxImg = document.getElementById('lightbox-img');\r\n
      const lightboxCaption = document.getElementById('lightbox-caption');\r\n
      const closeBtn = document.getElementById('lightbox-close');\r\n
      const prevBtns = [document.getElementById('lightbox-prev'), document.getElementById('lightbox-prev-mobile')];\r\n
      const nextBtns = [document.getElementById('lightbox-next'), document.getElementById('lightbox-next-mobile')];\r\n
      \r\n
      let currentIndex = 0;\r\n
      let images = [];\r\n
      \r\n
      // Collect images\r\n
      galleryItems.forEach((item, index) => {\r\n
      images.push({\r\n
      src: item.getAttribute('data-src'),\r\n
      alt: item.getAttribute('data-alt') || ''\r\n
      });\r\n
      \r\n
      // Add click listener\r\n
      item.addEventListener('click', () => {\r\n
      openLightbox(index);\r\n
      });\r\n
      });\r\n
      \r\n
      function openLightbox(index) {\r\n
      if (images.length === 0) \r\n
      return;\r\n
      \r\n
      currentIndex = index;\r\n
      updateLightbox();\r\n
      \r\n
      // Show lightbox\r\n
      lightbox.classList.remove('hidden');\r\n
      // Small delay to allow CSS transition\r\n
      setTimeout(() => {\r\n
      lightbox.classList.remove('opacity-0');\r\n
      lightboxImg.classList.remove('scale-95');\r\n
      lightboxImg.classList.add('scale-100');\r\n
      }, 10);\r\n
      \r\n
      document.body.style.overflow = 'hidden'; // Prevent scrolling\r\n
      }\r\n
      \r\n
      function closeLightbox() {\r\n
      lightbox.classList.add('opacity-0');\r\n
      lightboxImg.classList.remove('scale-100');\r\n
      lightboxImg.classList.add('scale-95');\r\n
      \r\n
      setTimeout(() => {\r\n
      lightbox.classList.add('hidden');\r\n
      document.body.style.overflow = '';\r\n
      }, 300); // Wait for transition\r\n
      }\r\n
      \r\n
      function updateLightbox() {\r\n
      const img = images[currentIndex];\r\n
      lightboxImg.src = img.src;\r\n
      lightboxImg.alt = img.alt;\r\n
      lightboxCaption.textContent = `${\r\n
      currentIndex + 1\r\n
      } / ${\r\n
      images.length\r\n
      }`;\r\n
      }\r\n
      \r\n
      function showNext() {\r\n
      currentIndex = (currentIndex + 1) % images.length;\r\n
      updateLightbox();\r\n
      }\r\n
      \r\n
      function showPrev() {\r\n
      currentIndex = (currentIndex - 1 + images.length) % images.length;\r\n
      updateLightbox();\r\n
      }\r\n
      \r\n
      // Event listeners\r\n
      closeBtn.addEventListener('click', closeLightbox);\r\n
      \r\n
      nextBtns.forEach(btn => btn.addEventListener('click', (e) => {\r\n
      e.stopPropagation();\r\n
      showNext();\r\n
      }));\r\n
      \r\n
      prevBtns.forEach(btn => btn.addEventListener('click', (e) => {\r\n
      e.stopPropagation();\r\n
      showPrev();\r\n
      }));\r\n
      \r\n
      lightbox.addEventListener('click', (e) => {\r\n
      if (e.target === lightbox || e.target.closest('.max-w-\\[90vw\\]') === null && e.target.tagName !== 'BUTTON') {\r\n
      closeLightbox();\r\n
      }\r\n
      });\r\n
      \r\n
      document.addEventListener('keydown', (e) => {\r\n
      if (lightbox.classList.contains('hidden')) \r\n
      return;\r\n
      \r\n
      \r\n
      if (e.key === 'Escape') \r\n
      closeLightbox();\r\n
      \r\n
      if (e.key === 'ArrowRight') \r\n
      showNext();\r\n
      \r\n
      if (e.key === 'ArrowLeft') \r\n
      showPrev();\r\n
      \r\n
      });\r\n
      // Share and Copy functionality\r\n
      const shareBtn = document.getElementById('share-btn');\r\n
      const copyLinkBtn = document.getElementById('copy-link-btn');\r\n
      const copyIcon = document.getElementById('copy-icon');\r\n
      const copyToast = document.getElementById('copy-toast');\r\n
      const pageTitle = "{{ acteur.denomination|escape('js') }}- Cartographie de l'économie circulaire";\r\n
      const pageUrl = window.location.href;\r\n
      \r\n
      if (shareBtn) {\r\n
      shareBtn.addEventListener('click', async () => {\r\n
      if (navigator.share) {\r\n
      try {\r\n
      await navigator.share({title: pageTitle, url: pageUrl});\r\n
      } catch (err) {\r\n
      if (err.name !== 'AbortError') {\r\n
      console.error('Erreur lors du partage:', err.message);\r\n
      }\r\n
      }\r\n
      } else { // Fallback: copy link\r\n
      try {\r\n
      await navigator.clipboard.writeText(pageUrl);\r\n
      copyToast.textContent = 'Lien copié (Partage natif non supporté)';\r\n
      copyToast.classList.remove('opacity-0');\r\n
      copyToast.classList.add('opacity-100');\r\n
      \r\n
      setTimeout(() => {\r\n
      copyToast.classList.remove('opacity-100');\r\n
      copyToast.classList.add('opacity-0');\r\n
      setTimeout(() => copyToast.textContent = 'Lien copié !', 300); // reset text\r\n
      }, 2500);\r\n
      } catch (err) {\r\n
      console.error('Erreur de copie:', err);\r\n
      }\r\n
      }\r\n
      });\r\n
      }\r\n
      \r\n
      if (copyLinkBtn) {\r\n
      copyLinkBtn.addEventListener('click', async () => {\r\n
      try {\r\n
      await navigator.clipboard.writeText(pageUrl);\r\n
      \r\n
      // Show success feedback\r\n
      copyIcon.textContent = 'check';\r\n
      copyToast.classList.remove('opacity-0');\r\n
      copyToast.classList.add('opacity-100');\r\n
      \r\n
      setTimeout(() => {\r\n
      copyIcon.textContent = 'link';\r\n
      copyToast.classList.remove('opacity-100');\r\n
      copyToast.classList.add('opacity-0');\r\n
      }, 2000);\r\n
      } catch (err) {\r\n
      console.error('Erreur lors de la copie du lien:', err);\r\n
      }\r\n
      });\r\n
      }\r\n
      });\r\n
      \t</script>\r\n
      \t<style>\r\n
      \t\t@keyframes spin {\r\n
      \t\t\tfrom {\r\n
      \t\t\t\ttransform: rotate(0deg);\r\n
      \t\t\t}\r\n
      \t\t\tto {\r\n
      \t\t\t\ttransform: rotate(360deg);\r\n
      \t\t\t}\r\n
      \t\t}\r\n
      \t</style>\r\n
      {% endblock body %}\n
      """
    -name: "frontend/acteur/detail.html.twig"
    -path: "/home/develor/circulaire/templates/frontend/acteur/detail.html.twig"
  }
  -phpFile: "/home/develor/circulaire/vendor/twig/twig/src/Template.php"
  -phpLine: 460
}
  1.                                 <a class="text-sm font-medium text-text-main dark:text-white hover:text-primary underline decoration-primary/30 underline-offset-2" href="#">{{ acteur.siteWeb }}</a>
  2.                             </div>
  3.                         </div>
  4.                         {% set dep = acteur.departement %}
  5.                         {% set reg = dep ? dep.region : null %}
  6.                         {% set dist = reg ? reg.district : null %}
  7.                         {% set loc_parts = [] %}
  8.                         {% if acteur.commune %}
  9.                             {% set loc_parts = loc_parts|merge([acteur.commune]) %}
  10.                         {% endif %}
  1. \t\t";
  2.         // line 47
  3.         yield from $this->unwrap()->yieldBlock('menuTop', $context, $blocks);
  4.         // line 50
  5.         yield "\t\t";
  6.         yield from $this->unwrap()->yieldBlock('body', $context, $blocks);
  7.         // line 51
  8.         yield "\t\t<!-- Footer -->
  9. \t\t";
  10.         // line 52
  11.         yield from $this->unwrap()->yieldBlock('footer', $context, $blocks);
in vendor/twig/twig/src/Template.php -> doDisplay (line 402)
  1.     {
  2.         $context += $this->env->getGlobals();
  3.         $blocks = array_merge($this->blocks, $blocks);
  4.         try {
  5.             yield from $this->doDisplay($context, $blocks);
  6.         } catch (Error $e) {
  7.             if (!$e->getSourceContext()) {
  8.                 $e->setSourceContext($this->getSourceContext());
  9.             }
  1.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  2.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "frontend/acteur/detail.html.twig"));
  3.         $this->parent = $this->load("base.html.twig", 1);
  4.         yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
  5.         
  6.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  7.         
  8.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
in vendor/twig/twig/src/Template.php -> doDisplay (line 402)
  1.     {
  2.         $context += $this->env->getGlobals();
  3.         $blocks = array_merge($this->blocks, $blocks);
  4.         try {
  5.             yield from $this->doDisplay($context, $blocks);
  6.         } catch (Error $e) {
  7.             if (!$e->getSourceContext()) {
  8.                 $e->setSourceContext($this->getSourceContext());
  9.             }
  1.         return $this->blocks;
  2.     }
  3.     public function display(array $context, array $blocks = []): void
  4.     {
  5.         foreach ($this->yield($context, $blocks) as $data) {
  6.             echo $data;
  7.         }
  8.     }
  9.     public function render(array $context): string
in vendor/twig/twig/src/Template.php -> display (line 373)
  1.                 ob_start();
  2.             } else {
  3.                 ob_start(function () { return ''; });
  4.             }
  5.             try {
  6.                 $this->display($context);
  7.             } catch (\Throwable $e) {
  8.                 while (ob_get_level() > $level) {
  9.                     ob_end_clean();
  10.                 }
  1.         yield from $this->template->yieldBlock($name, $context);
  2.     }
  3.     public function render(array $context = []): string
  4.     {
  5.         return $this->template->render($context);
  6.     }
  7.     /**
  8.      * @return void
  9.      */
  1.      * @throws SyntaxError  When an error occurred during compilation
  2.      * @throws RuntimeError When an error occurred during rendering
  3.      */
  4.     public function render($name, array $context = []): string
  5.     {
  6.         return $this->load($name)->render($context);
  7.     }
  8.     /**
  9.      * Displays a template.
  10.      *
  1.         if (null !== $block) {
  2.             return $this->container->get('twig')->load($view)->renderBlock($block, $parameters);
  3.         }
  4.         return $this->container->get('twig')->render($view, $parameters);
  5.     }
  6.     private function doRender(string $view, ?string $block, array $parameters, ?Response $response, string $method): Response
  7.     {
  8.         $content = $this->doRenderView($view, $block, $parameters, $method);
  1.         return $this->container->get('twig')->render($view, $parameters);
  2.     }
  3.     private function doRender(string $view, ?string $block, array $parameters, ?Response $response, string $method): Response
  4.     {
  5.         $content = $this->doRenderView($view, $block, $parameters, $method);
  6.         $response ??= new Response();
  7.         if (200 === $response->getStatusCode()) {
  8.             foreach ($parameters as $v) {
  9.                 if ($v instanceof FormInterface && $v->isSubmitted() && !$v->isValid()) {
  1.      * If an invalid form is found in the list of parameters, a 422 status code is returned.
  2.      * Forms found in parameters are auto-cast to form views.
  3.      */
  4.     protected function render(string $view, array $parameters = [], ?Response $response = null): Response
  5.     {
  6.         return $this->doRender($view, null, $parameters, $response, __FUNCTION__);
  7.     }
  8.     /**
  9.      * Renders a block in a view.
  10.      *
AbstractController->render('frontend/acteur/detail.html.twig', array('acteur' => object(Acteur), 'sousPrefecture' => null)) in src/Controller/FrontendController.php (line 285)
  1.         $sousPrefecture = null;
  2.         if ($acteur->getSousPrefecture()) {
  3.             $sousPrefecture = $this->entityManager->getRepository(\App\Entity\SousPrefecture::class)->find($acteur->getSousPrefecture());
  4.         }
  5.         return $this->render('frontend/acteur/detail.html.twig', [
  6.             'acteur' => $acteur,
  7.             'sousPrefecture' => $sousPrefecture
  8.         ]);
  9.     }
  1.         $this->dispatcher->dispatch($event, KernelEvents::CONTROLLER_ARGUMENTS);
  2.         $controller = $event->getController();
  3.         $arguments = $event->getArguments();
  4.         // call controller
  5.         $response = $controller(...$arguments);
  6.         // view
  7.         if (!$response instanceof Response) {
  8.             $event = new ViewEvent($this, $request, $type, $response, $event);
  9.             $this->dispatcher->dispatch($event, KernelEvents::VIEW);
  1.         $request->headers->set('X-Php-Ob-Level', (string) ob_get_level());
  2.         $this->requestStack->push($request);
  3.         $response = null;
  4.         try {
  5.             return $response = $this->handleRaw($request, $type);
  6.         } catch (\Throwable $e) {
  7.             if ($e instanceof \Error && !$this->handleAllThrowables) {
  8.                 throw $e;
  9.             }
  1.         $this->boot();
  2.         ++$this->requestStackSize;
  3.         $this->resetServices = true;
  4.         try {
  5.             return $this->getHttpKernel()->handle($request, $type, $catch);
  6.         } finally {
  7.             --$this->requestStackSize;
  8.         }
  9.     }
  1.     ) {
  2.     }
  3.     public function run(): int
  4.     {
  5.         $response = $this->kernel->handle($this->request);
  6.         if (Kernel::VERSION_ID >= 60400) {
  7.             $response->send(false);
  8.             if (\function_exists('fastcgi_finish_request') && !$this->debug) {
in vendor/autoload_runtime.php -> run (line 29)
  1. $app = $app(...$args);
  2. exit(
  3.     $runtime
  4.         ->getRunner($app)
  5.         ->run()
  6. );
require_once('/home/develor/circulaire/vendor/autoload_runtime.php') in public/index.php (line 5)
  1. <?php
  2. use App\Kernel;
  3. require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
  4. return function (array $context) {
  5.     return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
  6. };

ErrorException

Notice: require(): Read of 1511 bytes failed with errno=116 Stale file handle

  1.             case self::AUTOGENERATE_ALWAYS:
  2.                 $this->generateProxyClass($class, $fileName, $proxyClassName);
  3.                 break;
  4.         }
  5.         require $fileName;
  6.         return $proxyClassName;
  7.     }
  8.     private function generateProxyClass(ClassMetadata $class, string|null $fileName, string $proxyClassName): void
  1.             case self::AUTOGENERATE_ALWAYS:
  2.                 $this->generateProxyClass($class, $fileName, $proxyClassName);
  3.                 break;
  4.         }
  5.         require $fileName;
  6.         return $proxyClassName;
  7.     }
  8.     private function generateProxyClass(ClassMetadata $class, string|null $fileName, string $proxyClassName): void
in vendor/doctrine/orm/src/Proxy/ProxyFactory.php -> loadProxyClass (line 358)
  1.         }
  2.         $className        = $class->getName(); // aliases and case sensitivity
  3.         $entityPersister  = $this->uow->getEntityPersister($className);
  4.         $initializer      = $this->createLazyInitializer($class, $entityPersister, $this->identifierFlattener);
  5.         $proxyClassName   = $this->loadProxyClass($class);
  6.         $identifierFields = [];
  7.         foreach (array_keys($identifiers) as $identifier) {
  8.             $identifierFields[$identifier] = $class->getPropertyAccessor($identifier);
  9.         }
in vendor/doctrine/orm/src/Proxy/ProxyFactory.php -> getProxyFactory (line 233)
  1.             }
  2.             return $proxy;
  3.         }
  4.         $proxyFactory = $this->proxyFactories[$className] ?? $this->getProxyFactory($className);
  5.         return $proxyFactory($identifier);
  6.     }
  7.     /**
in vendor/doctrine/orm/src/UnitOfWork.php -> getProxy (line 2539)
  1.                             $normalizedAssociatedId = $this->normalizeIdentifier($targetClass, $associatedId);
  2.                             switch (true) {
  3.                                 // We are negating the condition here. Other cases will assume it is valid!
  4.                                 case $hints['fetchMode'][$class->name][$field] !== ClassMetadata::FETCH_EAGER:
  5.                                     $newValue = $this->em->getProxyFactory()->getProxy($assoc->targetEntity, $normalizedAssociatedId);
  6.                                     $this->registerManaged($newValue, $associatedId, []);
  7.                                     break;
  8.                                 // Deferred eager load only works for single identifier classes
  9.                                 case isset($hints[self::HINT_DEFEREAGERLOAD]) &&
  1.         if (isset($this->hints[Query::HINT_REFRESH_ENTITY])) {
  2.             $this->registerManaged($this->class, $this->hints[Query::HINT_REFRESH_ENTITY], $data);
  3.         }
  4.         $uow    = $this->em->getUnitOfWork();
  5.         $entity = $uow->createEntity($entityName, $data, $this->hints);
  6.         $result[] = $entity;
  7.         if (isset($this->hints[Query::HINT_INTERNAL_ITERATION]) && $this->hints[Query::HINT_INTERNAL_ITERATION]) {
  8.             $this->uow->hydrationComplete();
  1.     protected function hydrateAllData(): array
  2.     {
  3.         $result = [];
  4.         while ($row = $this->statement()->fetchAssociative()) {
  5.             $this->hydrateRowData($row, $result);
  6.         }
  7.         $this->em->getUnitOfWork()->triggerEagerLoads();
  8.         return $result;
  1.         $this->em->getEventManager()->addEventListener([Events::onClear], $this);
  2.         $this->prepare();
  3.         try {
  4.             $result = $this->hydrateAllData();
  5.         } finally {
  6.             $this->cleanup();
  7.         }
  8.         return $result;
  1.             $hints[Query::HINT_REFRESH]        = true;
  2.             $hints[Query::HINT_REFRESH_ENTITY] = $entity;
  3.         }
  4.         $hydrator = $this->em->newHydrator($this->currentPersisterContext->selectJoinSql ? Query::HYDRATE_OBJECT : Query::HYDRATE_SIMPLEOBJECT);
  5.         $entities = $hydrator->hydrateAll($stmt, $this->currentPersisterContext->rsm, $hints);
  6.         return $entities ? $entities[0] : null;
  7.     }
  8.     /**
  1.     /**
  2.      * {@inheritDoc}
  3.      */
  4.     public function loadById(array $identifier, object|null $entity = null): object|null
  5.     {
  6.         return $this->load($identifier, $entity);
  7.     }
  8.     /**
  9.      * {@inheritDoc}
  10.      */
  1.      * @throws EntityNotFoundException
  2.      */
  3.     private function createLazyInitializer(ClassMetadata $classMetadata, EntityPersister $entityPersister, IdentifierFlattener $identifierFlattener): Closure
  4.     {
  5.         return static function (InternalProxy $proxy, array $identifier) use ($entityPersister, $classMetadata, $identifierFlattener): void {
  6.             $original = $entityPersister->loadById($identifier);
  7.             if ($original === null) {
  8.                 throw EntityNotFoundException::fromClassNameAndIdentifier(
  9.                     $classMetadata->getName(),
  10.                     $identifierFlattener->flattenIdentifier($classMetadata, $identifier),
in vendor/doctrine/orm/src/Proxy/ProxyFactory.php :: Doctrine\ORM\Proxy\{closure} (line 367)
  1.             $identifierFields[$identifier] = $class->getPropertyAccessor($identifier);
  2.         }
  3.         $proxyFactory = Closure::bind(static function (array $identifier) use ($initializer, $skippedProperties, $identifierFields, $className): InternalProxy {
  4.             $proxy = self::createLazyGhost(static function (InternalProxy $object) use ($initializer, $identifier): void {
  5.                 $initializer($object, $identifier);
  6.             }, $skippedProperties);
  7.             foreach ($identifierFields as $idField => $reflector) {
  8.                 if (! isset($identifier[$idField])) {
  9.                     throw ORMInvalidArgumentException::missingPrimaryKeyValue($className, $idField);
in vendor/symfony/var-exporter/Internal/LazyObjectState.php :: Doctrine\ORM\Proxy\{closure} (line 60)
  1.         try {
  2.             if ($defaultProperties = array_diff_key(LazyObjectRegistry::$defaultProperties[$instance::class], $this->skippedProperties)) {
  3.                 PublicHydrator::hydrate($instance, $defaultProperties);
  4.             }
  5.             ($this->initializer)($instance);
  6.         } catch (\Throwable $e) {
  7.             $this->status = self::STATUS_UNINITIALIZED_FULL;
  8.             $this->reset($instance);
  9.             throw $e;
  1.                 }
  2.                 if (\PHP_VERSION_ID >= 80400 && !$notByRef && ($access >> 2) & \ReflectionProperty::IS_PRIVATE_SET) {
  3.                     $scope ??= $writeScope;
  4.                 }
  5.                 if ($property?->isInitialized($this) ?? LazyObjectState::STATUS_UNINITIALIZED_PARTIAL !== $state->initialize($this, $name, $writeScope ?? $scope)) {
  6.                     goto get_in_scope;
  7.                 }
  8.             }
  9.         }
Region->__get('district') in src/Entity/Region.php (line 176)
  1.         return $this;
  2.     }
  3.     public function getDistrict(): ?District
  4.     {
  5.         return $this->district;
  6.     }
  7.     public function setDistrict(?District $district): static
  8.     {
  9.         $this->district = $district;
  1.         }
  2.         // Some objects throw exceptions when they have __call, and the method we try
  3.         // to call is not supported. If ignoreStrictCheck is true, we should return null.
  4.         try {
  5.             $ret = $object->$method(...$arguments);
  6.         } catch (\BadMethodCallException $e) {
  7.             if ($call && ($ignoreStrictCheck || !$env->isStrictVariables())) {
  8.                 return;
  9.             }
  10.             throw $e;
  1.         // line 89
  2.         yield "\t\t\t\t\t\t";
  3.         $context["reg"] = (((($tmp = (isset($context["dep"]) || array_key_exists("dep", $context) ? $context["dep"] : (function () { throw new RuntimeError('Variable "dep" does not exist.', 89, $this->source); })())) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? (CoreExtension::getAttribute($this->env, $this->source, (isset($context["dep"]) || array_key_exists("dep", $context) ? $context["dep"] : (function () { throw new RuntimeError('Variable "dep" does not exist.', 89, $this->source); })()), "region", [], "any", false, false, false, 89)) : (null));
  4.         // line 90
  5.         yield "\t\t\t\t\t\t";
  6.         $context["dist"] = (((($tmp = (isset($context["reg"]) || array_key_exists("reg", $context) ? $context["reg"] : (function () { throw new RuntimeError('Variable "reg" does not exist.', 90, $this->source); })())) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? (CoreExtension::getAttribute($this->env, $this->source, (isset($context["reg"]) || array_key_exists("reg", $context) ? $context["reg"] : (function () { throw new RuntimeError('Variable "reg" does not exist.', 90, $this->source); })()), "district", [], "any", false, false, false, 90)) : (null));
  7.         // line 91
  8.         yield "\t\t\t\t\t\t";
  9.         $context["loc_parts"] = [];
  10.         // line 92
  11.         yield "
in vendor/twig/twig/src/Template.php -> block_body (line 446)
  1.             throw new \LogicException('A block must be a method on a \Twig\Template instance.');
  2.         }
  3.         if (null !== $template) {
  4.             try {
  5.                 yield from $template->$block($context, $blocks);
  6.             } catch (Error $e) {
  7.                 if (!$e->getSourceContext()) {
  8.                     $e->setSourceContext($template->getSourceContext());
  9.                 }
  1. \t\t";
  2.         // line 47
  3.         yield from $this->unwrap()->yieldBlock('menuTop', $context, $blocks);
  4.         // line 50
  5.         yield "\t\t";
  6.         yield from $this->unwrap()->yieldBlock('body', $context, $blocks);
  7.         // line 51
  8.         yield "\t\t<!-- Footer -->
  9. \t\t";
  10.         // line 52
  11.         yield from $this->unwrap()->yieldBlock('footer', $context, $blocks);
in vendor/twig/twig/src/Template.php -> doDisplay (line 402)
  1.     {
  2.         $context += $this->env->getGlobals();
  3.         $blocks = array_merge($this->blocks, $blocks);
  4.         try {
  5.             yield from $this->doDisplay($context, $blocks);
  6.         } catch (Error $e) {
  7.             if (!$e->getSourceContext()) {
  8.                 $e->setSourceContext($this->getSourceContext());
  9.             }
  1.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  2.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "frontend/acteur/detail.html.twig"));
  3.         $this->parent = $this->load("base.html.twig", 1);
  4.         yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
  5.         
  6.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  7.         
  8.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
in vendor/twig/twig/src/Template.php -> doDisplay (line 402)
  1.     {
  2.         $context += $this->env->getGlobals();
  3.         $blocks = array_merge($this->blocks, $blocks);
  4.         try {
  5.             yield from $this->doDisplay($context, $blocks);
  6.         } catch (Error $e) {
  7.             if (!$e->getSourceContext()) {
  8.                 $e->setSourceContext($this->getSourceContext());
  9.             }
  1.         return $this->blocks;
  2.     }
  3.     public function display(array $context, array $blocks = []): void
  4.     {
  5.         foreach ($this->yield($context, $blocks) as $data) {
  6.             echo $data;
  7.         }
  8.     }
  9.     public function render(array $context): string
in vendor/twig/twig/src/Template.php -> display (line 373)
  1.                 ob_start();
  2.             } else {
  3.                 ob_start(function () { return ''; });
  4.             }
  5.             try {
  6.                 $this->display($context);
  7.             } catch (\Throwable $e) {
  8.                 while (ob_get_level() > $level) {
  9.                     ob_end_clean();
  10.                 }
  1.         yield from $this->template->yieldBlock($name, $context);
  2.     }
  3.     public function render(array $context = []): string
  4.     {
  5.         return $this->template->render($context);
  6.     }
  7.     /**
  8.      * @return void
  9.      */
  1.      * @throws SyntaxError  When an error occurred during compilation
  2.      * @throws RuntimeError When an error occurred during rendering
  3.      */
  4.     public function render($name, array $context = []): string
  5.     {
  6.         return $this->load($name)->render($context);
  7.     }
  8.     /**
  9.      * Displays a template.
  10.      *
  1.         if (null !== $block) {
  2.             return $this->container->get('twig')->load($view)->renderBlock($block, $parameters);
  3.         }
  4.         return $this->container->get('twig')->render($view, $parameters);
  5.     }
  6.     private function doRender(string $view, ?string $block, array $parameters, ?Response $response, string $method): Response
  7.     {
  8.         $content = $this->doRenderView($view, $block, $parameters, $method);
  1.         return $this->container->get('twig')->render($view, $parameters);
  2.     }
  3.     private function doRender(string $view, ?string $block, array $parameters, ?Response $response, string $method): Response
  4.     {
  5.         $content = $this->doRenderView($view, $block, $parameters, $method);
  6.         $response ??= new Response();
  7.         if (200 === $response->getStatusCode()) {
  8.             foreach ($parameters as $v) {
  9.                 if ($v instanceof FormInterface && $v->isSubmitted() && !$v->isValid()) {
  1.      * If an invalid form is found in the list of parameters, a 422 status code is returned.
  2.      * Forms found in parameters are auto-cast to form views.
  3.      */
  4.     protected function render(string $view, array $parameters = [], ?Response $response = null): Response
  5.     {
  6.         return $this->doRender($view, null, $parameters, $response, __FUNCTION__);
  7.     }
  8.     /**
  9.      * Renders a block in a view.
  10.      *
AbstractController->render('frontend/acteur/detail.html.twig', array('acteur' => object(Acteur), 'sousPrefecture' => null)) in src/Controller/FrontendController.php (line 285)
  1.         $sousPrefecture = null;
  2.         if ($acteur->getSousPrefecture()) {
  3.             $sousPrefecture = $this->entityManager->getRepository(\App\Entity\SousPrefecture::class)->find($acteur->getSousPrefecture());
  4.         }
  5.         return $this->render('frontend/acteur/detail.html.twig', [
  6.             'acteur' => $acteur,
  7.             'sousPrefecture' => $sousPrefecture
  8.         ]);
  9.     }
  1.         $this->dispatcher->dispatch($event, KernelEvents::CONTROLLER_ARGUMENTS);
  2.         $controller = $event->getController();
  3.         $arguments = $event->getArguments();
  4.         // call controller
  5.         $response = $controller(...$arguments);
  6.         // view
  7.         if (!$response instanceof Response) {
  8.             $event = new ViewEvent($this, $request, $type, $response, $event);
  9.             $this->dispatcher->dispatch($event, KernelEvents::VIEW);
  1.         $request->headers->set('X-Php-Ob-Level', (string) ob_get_level());
  2.         $this->requestStack->push($request);
  3.         $response = null;
  4.         try {
  5.             return $response = $this->handleRaw($request, $type);
  6.         } catch (\Throwable $e) {
  7.             if ($e instanceof \Error && !$this->handleAllThrowables) {
  8.                 throw $e;
  9.             }
  1.         $this->boot();
  2.         ++$this->requestStackSize;
  3.         $this->resetServices = true;
  4.         try {
  5.             return $this->getHttpKernel()->handle($request, $type, $catch);
  6.         } finally {
  7.             --$this->requestStackSize;
  8.         }
  9.     }
  1.     ) {
  2.     }
  3.     public function run(): int
  4.     {
  5.         $response = $this->kernel->handle($this->request);
  6.         if (Kernel::VERSION_ID >= 60400) {
  7.             $response->send(false);
  8.             if (\function_exists('fastcgi_finish_request') && !$this->debug) {
in vendor/autoload_runtime.php -> run (line 29)
  1. $app = $app(...$args);
  2. exit(
  3.     $runtime
  4.         ->getRunner($app)
  5.         ->run()
  6. );
require_once('/home/develor/circulaire/vendor/autoload_runtime.php') in public/index.php (line 5)
  1. <?php
  2. use App\Kernel;
  3. require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
  4. return function (array $context) {
  5.     return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
  6. };

Logs

Level Channel Message
DEBUG 14:16:33 php Warning: Zend OPcache API is restricted by "restrict_api" configuration directive
{
    "exception": {
        "severity": 2,
        "file": "/home/develor/circulaire/vendor/symfony/error-handler/DebugClassLoader.php",
        "line": 302,
        "trace": [
            {
                "file": "/home/develor/circulaire/vendor/doctrine/doctrine-bundle/src/DoctrineBundle.php",
                "line": 134,
                "function": "loadClass",
                "class": "Symfony\\Component\\ErrorHandler\\DebugClassLoader",
                "type": "->"
            }
        ],
        "count": 42
    }
}
INFO 14:16:33 request Matched route "_profiler".
{
    "route": "_profiler",
    "route_parameters": {
        "_route": "_profiler",
        "_controller": "web_profiler.controller.profiler::panelAction",
        "token": "eb8988"
    },
    "request_uri": "https://circulaire.developpe.net/_profiler/eb8988?panel=exception&type=request",
    "method": "GET"
}
DEBUG 14:16:33 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\DebugHandlersListener::configure"
}
DEBUG 14:16:33 event Notified event "kernel.request" to listener "Symfony\UX\Turbo\Request\RequestListener::__invoke".
{
    "event": "kernel.request",
    "listener": "Symfony\\UX\\Turbo\\Request\\RequestListener::__invoke"
}
DEBUG 14:16:33 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ValidateRequestListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\ValidateRequestListener::onKernelRequest"
}
DEBUG 14:16:33 event Notified event "kernel.request" to listener "Symfony\Bridge\Doctrine\Middleware\IdleConnection\Listener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bridge\\Doctrine\\Middleware\\IdleConnection\\Listener::onKernelRequest"
}
DEBUG 14:16:33 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\SessionListener::onKernelRequest"
}
DEBUG 14:16:33 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::setDefaultLocale".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::setDefaultLocale"
}
DEBUG 14:16:33 event Notified event "kernel.request" to listener "Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\AssetMapper\\AssetMapperDevServerSubscriber::onKernelRequest"
}
DEBUG 14:16:33 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelRequest"
}
DEBUG 14:16:33 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::onKernelRequest"
}
DEBUG 14:16:33 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleAwareListener::onKernelRequest"
}
DEBUG 14:16:33 event Notified event "kernel.request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::configureLogoutUrlGenerator".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::configureLogoutUrlGenerator"
}
DEBUG 14:16:33 event Notified event "kernel.request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::onKernelRequest"
}
DEBUG 14:16:33 event Notified event "kernel.controller" to listener "Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Symfony\\Bundle\\FrameworkBundle\\DataCollector\\RouterDataCollector::onKernelController"
}
DEBUG 14:16:33 event Notified event "kernel.controller" to listener "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Symfony\\Component\\HttpKernel\\DataCollector\\RequestDataCollector::onKernelController"
}
DEBUG 14:16:33 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\Security\Http\EventListener\IsCsrfTokenValidAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\Security\\Http\\EventListener\\IsCsrfTokenValidAttributeListener::onKernelControllerArguments"
}
DEBUG 14:16:33 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\Security\Http\EventListener\IsGrantedAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\Security\\Http\\EventListener\\IsGrantedAttributeListener::onKernelControllerArguments"
}
DEBUG 14:16:33 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\EventListener\CacheAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\CacheAttributeListener::onKernelControllerArguments"
}
DEBUG 14:16:33 event Notified event "kernel.controller_arguments" to listener "ContainerJWRfa9f\RequestPayloadValueResolverGhost01ca9cc::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "ContainerJWRfa9f\\RequestPayloadValueResolverGhost01ca9cc::onKernelControllerArguments"
}
DEBUG 14:16:33 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\EventListener\ErrorListener::onControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::onControllerArguments"
}

Stack Traces 2

[2/2] RuntimeError
Twig\Error\RuntimeError:
An exception has been thrown during the rendering of a template ("Notice: require(): Read of 1511 bytes failed with errno=116 Stale file handle") in "frontend/acteur/detail.html.twig" at line 90.

  at templates/frontend/acteur/detail.html.twig:90
  at Twig\Template->yieldBlock('body', array('acteur' => object(Acteur), 'sousPrefecture' => null, 'app' => object(AppVariable)), array('menuTop' => array(object(__TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f), 'block_menuTop'), 'body' => array(object(__TwigTemplate_ddffd04d28f580b5a52a2aedd65ca0b9), 'block_body'), 'footer' => array(object(__TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f), 'block_footer')))
     (var/cache/dev/twig/dd/dd62a238e2f4db64ee333cd2f4da81c7.php:105)
  at __TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f->doDisplay(array('acteur' => object(Acteur), 'sousPrefecture' => null, 'app' => object(AppVariable)), array('menuTop' => array(object(__TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f), 'block_menuTop'), 'body' => array(object(__TwigTemplate_ddffd04d28f580b5a52a2aedd65ca0b9), 'block_body'), 'footer' => array(object(__TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f), 'block_footer')))
     (vendor/twig/twig/src/Template.php:402)
  at Twig\Template->yield(array('acteur' => object(Acteur), 'sousPrefecture' => null, 'app' => object(AppVariable)), array('menuTop' => array(object(__TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f), 'block_menuTop'), 'body' => array(object(__TwigTemplate_ddffd04d28f580b5a52a2aedd65ca0b9), 'block_body'), 'footer' => array(object(__TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f), 'block_footer')))
     (var/cache/dev/twig/dd/dd182fc42c250f7fdb6669319afbb7a5.php:53)
  at __TwigTemplate_ddffd04d28f580b5a52a2aedd65ca0b9->doDisplay(array('acteur' => object(Acteur), 'sousPrefecture' => null, 'app' => object(AppVariable)), array('body' => array(object(__TwigTemplate_ddffd04d28f580b5a52a2aedd65ca0b9), 'block_body')))
     (vendor/twig/twig/src/Template.php:402)
  at Twig\Template->yield(array('acteur' => object(Acteur), 'sousPrefecture' => null, 'app' => object(AppVariable)), array('body' => array(object(__TwigTemplate_ddffd04d28f580b5a52a2aedd65ca0b9), 'block_body')))
     (vendor/twig/twig/src/Template.php:358)
  at Twig\Template->display(array('acteur' => object(Acteur), 'sousPrefecture' => null))
     (vendor/twig/twig/src/Template.php:373)
  at Twig\Template->render(array('acteur' => object(Acteur), 'sousPrefecture' => null))
     (vendor/twig/twig/src/TemplateWrapper.php:51)
  at Twig\TemplateWrapper->render(array('acteur' => object(Acteur), 'sousPrefecture' => null))
     (vendor/twig/twig/src/Environment.php:333)
  at Twig\Environment->render('frontend/acteur/detail.html.twig', array('acteur' => object(Acteur), 'sousPrefecture' => null))
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:459)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRenderView('frontend/acteur/detail.html.twig', null, array('acteur' => object(Acteur), 'sousPrefecture' => null), 'render')
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:464)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRender('frontend/acteur/detail.html.twig', null, array('acteur' => object(Acteur), 'sousPrefecture' => null), null, 'render')
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:278)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->render('frontend/acteur/detail.html.twig', array('acteur' => object(Acteur), 'sousPrefecture' => null))
     (src/Controller/FrontendController.php:285)
  at App\Controller\FrontendController->detail(object(Request))
     (vendor/symfony/http-kernel/HttpKernel.php:183)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
     (vendor/symfony/http-kernel/HttpKernel.php:76)
  at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
     (vendor/symfony/http-kernel/Kernel.php:182)
  at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
     (vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35)
  at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
     (vendor/autoload_runtime.php:29)
  at require_once('/home/develor/circulaire/vendor/autoload_runtime.php')
     (public/index.php:5)                
[1/2] ErrorException
ErrorException:
Notice: require(): Read of 1511 bytes failed with errno=116 Stale file handle

  at vendor/doctrine/orm/src/Proxy/ProxyFactory.php:417
  at require()
     (vendor/doctrine/orm/src/Proxy/ProxyFactory.php:417)
  at Doctrine\ORM\Proxy\ProxyFactory->loadProxyClass(object(ClassMetadata))
     (vendor/doctrine/orm/src/Proxy/ProxyFactory.php:358)
  at Doctrine\ORM\Proxy\ProxyFactory->getProxyFactory('App\\Entity\\District')
     (vendor/doctrine/orm/src/Proxy/ProxyFactory.php:233)
  at Doctrine\ORM\Proxy\ProxyFactory->getProxy('App\\Entity\\District', array('id' => 13))
     (vendor/doctrine/orm/src/UnitOfWork.php:2539)
  at Doctrine\ORM\UnitOfWork->createEntity('App\\Entity\\Region', array('id' => 32, 'nom' => 'Abidjan', 'slug' => 'abidjan', 'cheflieu' => 'Abidjan', 'superficie' => '2 119 km²', 'population' => '5,6 millions', 'nbredepartement' => '', 'presentation' => null, 'message' => null, 'dateadd' => object(DateTime), 'district_id' => 13, 'user_id' => null), array('fetchMode' => array('App\Entity\Region' => array('district' => 2))))
     (vendor/doctrine/orm/src/Internal/Hydration/SimpleObjectHydrator.php:176)
  at Doctrine\ORM\Internal\Hydration\SimpleObjectHydrator->hydrateRowData(array('id_1' => 32, 'nom_2' => 'Abidjan', 'slug_3' => 'abidjan', 'cheflieu_4' => 'Abidjan', 'superficie_5' => '2 119 km²', 'population_6' => '5,6 millions', 'nbredepartement_7' => '', 'presentation_8' => null, 'message_9' => null, 'dateadd_10' => '2026-06-13 22:07:04', 'district_id_11' => 13, 'user_id_12' => null), array())
     (vendor/doctrine/orm/src/Internal/Hydration/SimpleObjectHydrator.php:60)
  at Doctrine\ORM\Internal\Hydration\SimpleObjectHydrator->hydrateAllData()
     (vendor/doctrine/orm/src/Internal/Hydration/AbstractHydrator.php:171)
  at Doctrine\ORM\Internal\Hydration\AbstractHydrator->hydrateAll(object(Result), object(ResultSetMapping), array())
     (vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php:748)
  at Doctrine\ORM\Persisters\Entity\BasicEntityPersister->load(array('id' => 32), null)
     (vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php:758)
  at Doctrine\ORM\Persisters\Entity\BasicEntityPersister->loadById(array('id' => 32))
     (vendor/doctrine/orm/src/Proxy/ProxyFactory.php:289)
  at Doctrine\ORM\Proxy\ProxyFactory::Doctrine\ORM\Proxy\{closure}(object(Region), array('id' => 32))
     (vendor/doctrine/orm/src/Proxy/ProxyFactory.php:367)
  at Proxies\__CG__\App\Entity\Region::Doctrine\ORM\Proxy\{closure}(object(Region))
     (vendor/symfony/var-exporter/Internal/LazyObjectState.php:60)
  at Symfony\Component\VarExporter\Internal\LazyObjectState->initialize(object(Region), 'district', 'App\\Entity\\Region')
     (vendor/symfony/var-exporter/LazyGhostTrait.php:153)
  at Proxies\__CG__\App\Entity\Region->__get('district')
     (src/Entity/Region.php:176)
  at App\Entity\Region->getDistrict()
     (vendor/twig/twig/src/Extension/CoreExtension.php:1909)
  at Twig\Extension\CoreExtension::getAttribute(object(Environment), object(Source), object(Region), 'district', array(), 'any', false, false, false, 90)
     (var/cache/dev/twig/dd/dd182fc42c250f7fdb6669319afbb7a5.php:200)
  at __TwigTemplate_ddffd04d28f580b5a52a2aedd65ca0b9->block_body(array('acteur' => object(Acteur), 'sousPrefecture' => null, 'app' => object(AppVariable), 'dep' => object(Departement), 'reg' => object(Region)), array('menuTop' => array(object(__TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f), 'block_menuTop'), 'body' => array(object(__TwigTemplate_ddffd04d28f580b5a52a2aedd65ca0b9), 'block_body'), 'footer' => array(object(__TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f), 'block_footer')))
     (vendor/twig/twig/src/Template.php:446)
  at Twig\Template->yieldBlock('body', array('acteur' => object(Acteur), 'sousPrefecture' => null, 'app' => object(AppVariable)), array('menuTop' => array(object(__TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f), 'block_menuTop'), 'body' => array(object(__TwigTemplate_ddffd04d28f580b5a52a2aedd65ca0b9), 'block_body'), 'footer' => array(object(__TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f), 'block_footer')))
     (var/cache/dev/twig/dd/dd62a238e2f4db64ee333cd2f4da81c7.php:105)
  at __TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f->doDisplay(array('acteur' => object(Acteur), 'sousPrefecture' => null, 'app' => object(AppVariable)), array('menuTop' => array(object(__TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f), 'block_menuTop'), 'body' => array(object(__TwigTemplate_ddffd04d28f580b5a52a2aedd65ca0b9), 'block_body'), 'footer' => array(object(__TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f), 'block_footer')))
     (vendor/twig/twig/src/Template.php:402)
  at Twig\Template->yield(array('acteur' => object(Acteur), 'sousPrefecture' => null, 'app' => object(AppVariable)), array('menuTop' => array(object(__TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f), 'block_menuTop'), 'body' => array(object(__TwigTemplate_ddffd04d28f580b5a52a2aedd65ca0b9), 'block_body'), 'footer' => array(object(__TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f), 'block_footer')))
     (var/cache/dev/twig/dd/dd182fc42c250f7fdb6669319afbb7a5.php:53)
  at __TwigTemplate_ddffd04d28f580b5a52a2aedd65ca0b9->doDisplay(array('acteur' => object(Acteur), 'sousPrefecture' => null, 'app' => object(AppVariable)), array('body' => array(object(__TwigTemplate_ddffd04d28f580b5a52a2aedd65ca0b9), 'block_body')))
     (vendor/twig/twig/src/Template.php:402)
  at Twig\Template->yield(array('acteur' => object(Acteur), 'sousPrefecture' => null, 'app' => object(AppVariable)), array('body' => array(object(__TwigTemplate_ddffd04d28f580b5a52a2aedd65ca0b9), 'block_body')))
     (vendor/twig/twig/src/Template.php:358)
  at Twig\Template->display(array('acteur' => object(Acteur), 'sousPrefecture' => null))
     (vendor/twig/twig/src/Template.php:373)
  at Twig\Template->render(array('acteur' => object(Acteur), 'sousPrefecture' => null))
     (vendor/twig/twig/src/TemplateWrapper.php:51)
  at Twig\TemplateWrapper->render(array('acteur' => object(Acteur), 'sousPrefecture' => null))
     (vendor/twig/twig/src/Environment.php:333)
  at Twig\Environment->render('frontend/acteur/detail.html.twig', array('acteur' => object(Acteur), 'sousPrefecture' => null))
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:459)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRenderView('frontend/acteur/detail.html.twig', null, array('acteur' => object(Acteur), 'sousPrefecture' => null), 'render')
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:464)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRender('frontend/acteur/detail.html.twig', null, array('acteur' => object(Acteur), 'sousPrefecture' => null), null, 'render')
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:278)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->render('frontend/acteur/detail.html.twig', array('acteur' => object(Acteur), 'sousPrefecture' => null))
     (src/Controller/FrontendController.php:285)
  at App\Controller\FrontendController->detail(object(Request))
     (vendor/symfony/http-kernel/HttpKernel.php:183)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
     (vendor/symfony/http-kernel/HttpKernel.php:76)
  at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
     (vendor/symfony/http-kernel/Kernel.php:182)
  at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
     (vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35)
  at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
     (vendor/autoload_runtime.php:29)
  at require_once('/home/develor/circulaire/vendor/autoload_runtime.php')
     (public/index.php:5)