Symfony Exception

ErrorException RuntimeError

HTTP 500 Internal Server Error

An exception has been thrown during the rendering of a template ("Warning: is_file(): open_basedir restriction in effect. File(/www/wwwroot/dev/consentzv4/var/cache/dev/App_KernelDevDebugContainerCompiler.log) is not within the allowed path(s): (/www/wwwroot/dev/masterv4/:/tmp/)") in @WebProfiler/Collector/logger.html.twig at line 495.

Exceptions 2

Twig\Error\ RuntimeError

Show exception properties
Twig\Error\RuntimeError {#17166
  -lineno: 495
  -rawMessage: "An exception has been thrown during the rendering of a template ("Warning: is_file(): open_basedir restriction in effect. File(/www/wwwroot/dev/consentzv4/var/cache/dev/App_KernelDevDebugContainerCompiler.log) is not within the allowed path(s): (/www/wwwroot/dev/masterv4/:/tmp/)")."
  -source: Twig\Source {#17154
    -code: """
      {% extends '@WebProfiler/Profiler/layout.html.twig' %}\n
      \n
      {% block stylesheets %}\n
          {{ parent() }}\n
      \n
          <style>\n
              :root {\n
                  --log-filter-active-num-color: #2563EB;\n
                  --log-timestamp-color: #555;\n
              }\n
              .theme-dark {\n
                  --log-filter-active-num-color: #2563EB;\n
                  --log-timestamp-color: #ccc;\n
              }\n
      \n
              .log-filters {\n
                  display: flex;\n
                  flex-wrap: wrap;\n
              }\n
              .log-filters .log-filter {\n
                  flex-shrink: 0;\n
                  margin-right: 15px;\n
                  position: relative;\n
              }\n
              .log-filters .log-filter summary {\n
                  align-items: center;\n
                  background: var(--button-background);\n
                  border-radius: 6px;\n
                  border: 1px solid var(--button-border-color);\n
                  box-shadow: var(--button-box-shadow);\n
                  color: var(--button-color);\n
                  cursor: pointer;\n
                  display: flex;\n
                  font-size: 13px;\n
                  font-weight: 500;\n
                  padding: 4px 8px;\n
                  white-space: nowrap;\n
              }\n
              .log-filters .log-filter summary:active {\n
                  box-shadow: none;\n
                  transform: translateY(1px);\n
              }\n
              .log-filters .log-filter summary .icon {\n
                  height: 18px;\n
                  width: 18px;\n
                  margin: 0 7px 0 0;\n
              }\n
              .log-filters .log-filter summary svg {\n
                  height: 18px;\n
                  width: 18px;\n
                  opacity: 0.7;\n
              }\n
              .log-filters .log-filter summary svg {\n
                  stroke-width: 2;\n
              }\n
              .log-filters .log-filter summary .filter-active-num {\n
                  color: var(--log-filter-active-num-color);\n
                  font-weight: bold;\n
                  padding: 0 1px;\n
              }\n
              .log-filter .tab-navigation {\n
                  position: relative;\n
              }\n
              .log-filter .tab-navigation input[type="radio"] {\n
                  position: absolute;\n
                  pointer-events: none;\n
                  opacity: 0;\n
              }\n
              .tab-navigation input[type="radio"]:checked + .tab-control {\n
                  background-color: var(--tab-active-background);\n
                  border-radius: 6px;\n
                  box-shadow: inset 0 0 0 1.5px var(--tab-active-border-color);\n
                  color: var(--tab-active-color);\n
                  position: relative;\n
                  z-index: 1;\n
              }\n
              .theme-dark .tab-navigation input[type="radio"]:checked + .tab-control {\n
                  box-shadow: inset 0 0 0 1px var(--tab-border-color);\n
              }\n
              .tab-navigation input[type="radio"]:focus-visible + .tab-control {\n
                  outline: 1px solid var(--color-link);\n
              }\n
              .tab-navigation input[type="radio"]:checked + .tab-control + input[type="radio"] + .tab-control:before{\n
                  width: 0;\n
              }\n
      \n
              .log-filters .log-filter .log-filter-content {\n
                  background: var(--base-0);\n
                  border: 1px solid var(--table-border-color);\n
                  border-radius: 6px;\n
                  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n
                  padding: 15px;\n
                  position: absolute;\n
                  left: 0;\n
                  top: 32px;\n
                  max-width: 400px;\n
                  min-width: 200px;\n
                  z-index: 9999;\n
              }\n
              .log-filters .log-filter .log-filter-content .log-filter-option {\n
                  align-items: center;\n
                  display: flex;\n
              }\n
              .log-filter .filter-select-all-or-none {\n
                  margin-bottom: 10px;\n
              }\n
              .log-filter .filter-select-all-or-none button + button {\n
                  margin-left: 15px;\n
              }\n
              .log-filters .log-filter .log-filter-content .log-filter-option + .log-filter-option {\n
                  margin: 7px 0 0;\n
              }\n
              .log-filters .log-filter .log-filter-content .log-filter-option label {\n
                  cursor: pointer;\n
                  flex: 1;\n
                  padding-left: 10px;\n
              }\n
      \n
              table.logs {\n
                  border-bottom-width: 0;\n
                  border-collapse: collapse;\n
              }\n
              table.logs tr + tr td {\n
                  border-width: 1px 0 0;\n
              }\n
              table.logs .metadata {\n
                  display: block;\n
                  font-size: 12px;\n
              }\n
              .theme-dark tr.status-error td,\n
              .theme-dark tr.status-warning td { border-bottom: unset; border-top: unset; }\n
      \n
              table.logs .log-timestamp {\n
                  color: var(--log-timestamp-color);\n
              }\n
              table.logs .log-metadata {\n
                  margin: 8px 0 0;\n
              }\n
              table.logs .log-metadata > span {\n
                  display: inline-block;\n
              }\n
              table.logs .log-metadata > span + span {\n
                  margin-left: 10px;\n
              }\n
              table.logs .log-metadata .log-channel {\n
                  color: var(--base-1);\n
                  font-size: 13px;\n
                  font-weight: bold;\n
              }\n
              table.logs .log-metadata .badge {\n
                  background: var(--badge-light-background);\n
                  color: var(--badge-light-color);\n
              }\n
              table.logs .log-metadata .log-num-occurrences {\n
                  color: var(--color-muted);\n
                  font-size: 13px;\n
              }\n
              table.logs .log-metadata .context {\n
                  background: var(--code-block-background);\n
                  border-radius: 4px;\n
                  padding: 5px;\n
              }\n
              table.logs .log-metadata .context + .context {\n
                  margin-top: 10px;\n
              }\n
              .log-type-badge {\n
                  background: var(--badge-light-background);\n
                  box-shadow: none;\n
                  color: var(--badge-light-color);\n
                  display: inline-block;\n
                  font-family: var(--font-family-system);\n
                  margin-top: 5px;\n
              }\n
              .log-type-badge.badge-deprecation,\n
              .log-type-badge.badge-warning {\n
                  background: var(--badge-warning-background);\n
                  color: var(--badge-warning-color);\n
              }\n
              .log-type-badge.badge-error {\n
                  background: var(--badge-danger-background);\n
                  color: var(--badge-danger-color);\n
              }\n
              .log-type-badge.badge-silenced {\n
                  background: #EDE9FE;\n
                  color: #6D28D9;\n
              }\n
              .theme-dark .log-type-badge.badge-silenced {\n
                  background: #5B21B6;\n
                  color: #EDE9FE;\n
              }\n
      \n
              tr.log-status-warning > td:first-child,\n
              tr.log-status-error > td:first-child,\n
              tr.log-status-silenced > td:first-child {\n
                  position: relative;\n
              }\n
              tr.log-status-warning > td:first-child:before,\n
              tr.log-status-error > td:first-child:before,\n
              tr.log-status-silenced > td:first-child:before {\n
                  background: transparent;\n
                  border-radius: 0;\n
                  content: '';\n
                  position: absolute;\n
                  top: 0;\n
                  left: 0;\n
                  width: 4px;\n
                  height: 100%;\n
              }\n
              tr.log-status-warning > td:first-child:before {\n
                  background: var(--yellow-400);\n
              }\n
              tr.log-status-error > td:first-child:before {\n
                  background: var(--red-400);\n
              }\n
              tr.log-status-silenced > td:first-child:before {\n
                  background: #a78bfa;\n
              }\n
      \n
              .container-compilation-logs {\n
                  background: var(--table-background);\n
                  border: 1px solid var(--base-2);\n
                  border-radius: 6px;\n
                  margin-top: 30px;\n
                  padding: 15px;\n
              }\n
              .container-compilation-logs summary {\n
                  cursor: pointer;\n
              }\n
              .container-compilation-logs summary h4 {\n
                  margin: 0 0 5px;\n
              }\n
              .container-compilation-logs summary p {\n
                  margin: 0;\n
              }\n
          </style>\n
      {% endblock %}\n
      \n
      {% block javascripts %}\n
          <script>\n
              window.addEventListener('DOMContentLoaded', () => {\n
                  new SymfonyProfilerLoggerPanel();\n
              });\n
      \n
              class SymfonyProfilerLoggerPanel {\n
                  constructor() {\n
                      this.#initializeLogsTable();\n
                  }\n
      \n
                  #initializeLogsTable() {\n
                      this.#updateLogsTable();\n
      \n
                      document.querySelectorAll('.log-filter input').forEach((input) => {\n
                          input.addEventListener('change', () => { this.#updateLogsTable(); });\n
                      });\n
      \n
                      document.querySelectorAll('.filter-select-all-or-none button').forEach((link) => {\n
                          link.addEventListener('click', () => {\n
                              const selectAll = link.classList.contains('select-all');\n
                              link.closest('.log-filter-content').querySelectorAll('input').forEach((input) => {\n
                                  input.checked = selectAll;\n
                              });\n
      \n
                              this.#updateLogsTable();\n
                          });\n
                      });\n
      \n
                      document.body.addEventListener('click', (event) => {\n
                          document.querySelectorAll('details.log-filter').forEach((filterElement) => {\n
                              if (!filterElement.contains(event.target) && filterElement.open) {\n
                                  filterElement.open = false;\n
                              }\n
                          });\n
                      });\n
                  }\n
      \n
                  #updateLogsTable() {\n
                      const logs = document.querySelector('table.logs');\n
                      if (null === logs) {\n
                          return;\n
                      }\n
      \n
                      const selectedType = document.querySelector('#log-filter-type input:checked').value;\n
                      const priorities = document.querySelectorAll('#log-filter-priority input');\n
                      const allPriorities = Array.from(priorities).map((input) => input.value);\n
                      const selectedPriorities = Array.from(priorities).filter((input) => input.checked).map((input) => input.value);\n
                      const channels = document.querySelectorAll('#log-filter-channel input');\n
                      const selectedChannels = Array.from(channels).filter((input) => input.checked).map((input) => input.value);\n
      \n
                      /* hide rows that don't match the current filters */\n
                      let numVisibleRows = 0;\n
                      logs.querySelectorAll('tbody tr').forEach((row) => {\n
                          if ('all' !== selectedType && selectedType !== row.getAttribute('data-type')) {\n
                              row.style.display = 'none';\n
                              return;\n
                          }\n
      \n
                          const priority = row.getAttribute('data-priority');\n
                          if (false === selectedPriorities.includes(priority) && true === allPriorities.includes(priority)) {\n
                              row.style.display = 'none';\n
                              return;\n
                          }\n
      \n
                          if ('' !== row.getAttribute('data-channel') && false === selectedChannels.includes(row.getAttribute('data-channel'))) {\n
                              row.style.display = 'none';\n
                              return;\n
                          }\n
      \n
                          row.style.display = 'table-row';\n
                          numVisibleRows++;\n
                      });\n
      \n
                      document.querySelector('table.logs').style.display = 0 === numVisibleRows ? 'none' : 'table';\n
                      document.querySelector('.no-logs-message').style.display = 0 === numVisibleRows ? 'block' : 'none';\n
      \n
                      /* update the selected totals of all filters */\n
                      document.querySelector('#log-filter-priority .filter-active-num').innerText = (priorities.length === selectedPriorities.length) ? 'All' : selectedPriorities.length;\n
                      document.querySelector('#log-filter-channel .filter-active-num').innerText = (channels.length === selectedChannels.length) ? 'All' : selectedChannels.length;\n
                  }\n
              }\n
          </script>\n
      {% endblock %}\n
      \n
      {% block toolbar %}\n
          {% if collector.counterrors or collector.countdeprecations or collector.countwarnings %}\n
              {% set icon %}\n
                  {% set status_color = collector.counterrors ? 'red' : collector.countwarnings ? 'yellow' : 'none' %}\n
                  {{ source('@WebProfiler/Icon/logger.svg') }}\n
                  <span class="sf-toolbar-value">{{ collector.counterrors ?: (collector.countdeprecations + collector.countwarnings) }}</span>\n
              {% endset %}\n
      \n
              {% set text %}\n
                  <div class="sf-toolbar-info-piece">\n
                      <b>Errors</b>\n
                      <span class="sf-toolbar-status sf-toolbar-status-{{ collector.counterrors ? 'red' }}">{{ collector.counterrors|default(0) }}</span>\n
                  </div>\n
      \n
                  <div class="sf-toolbar-info-piece">\n
                      <b>Warnings</b>\n
                      <span class="sf-toolbar-status sf-toolbar-status-{{ collector.countwarnings ? 'yellow' }}">{{ collector.countwarnings|default(0) }}</span>\n
                  </div>\n
      \n
                  <div class="sf-toolbar-info-piece">\n
                      <b>Deprecations</b>\n
                      <span class="sf-toolbar-status sf-toolbar-status-{{ collector.countdeprecations ? 'none' }}">{{ collector.countdeprecations|default(0) }}</span>\n
                  </div>\n
              {% endset %}\n
      \n
              {{ include('@WebProfiler/Profiler/toolbar_item.html.twig', {link: profiler_url, status: status_color}) }}\n
          {% endif %}\n
      {% endblock %}\n
      \n
      {% block menu %}\n
          <span class="label label-status-{{ collector.counterrors ? 'error' : collector.countwarnings ? 'warning' : 'none' }} {{ collector.logs is empty ? 'disabled' }}">\n
              <span class="icon">{{ source('@WebProfiler/Icon/logger.svg') }}</span>\n
              <strong>Logs</strong>\n
              {% if collector.counterrors or collector.countdeprecations or collector.countwarnings %}\n
                  <span class="count">\n
                      <span>{{ collector.counterrors ?: (collector.countdeprecations + collector.countwarnings) }}</span>\n
                  </span>\n
              {% endif %}\n
          </span>\n
      {% endblock %}\n
      \n
      {% block panel %}\n
          <h2>Log Messages</h2>\n
      \n
          {% if collector.processedLogs is empty %}\n
              <div class="empty empty-panel">\n
                  <p>No log messages available.</p>\n
              </div>\n
          {% else %}\n
              {% set has_error_logs = collector.processedLogs|column('type')|filter(type => 'error' == type)|length > 0 %}\n
              {% set has_deprecation_logs = collector.processedLogs|column('type')|filter(type => 'deprecation' == type)|length > 0 %}\n
      \n
              {% set filters = collector.filters %}\n
              <div class="log-filters">\n
                  <div id="log-filter-type" class="log-filter">\n
                      <div class="tab-navigation">\n
                          {% set initially_active_tab = has_error_logs ? 'error' : has_deprecation_logs ? 'deprecation' : 'all' %}\n
                          <input type="radio" id="filter-log-type-all" name="filter-log-type" value="all" {{ 'all' == initially_active_tab ? 'checked' }}>\n
                          <label for="filter-log-type-all" class="tab-control">\n
                              All messages\n
                          </label>\n
      \n
                          <input type="radio" id="filter-log-type-error" name="filter-log-type" value="error" {{ 'error' == initially_active_tab ? 'checked' }}>\n
                          <label for="filter-log-type-error" class="tab-control">\n
                              Errors\n
                              <span class="badge status-{{ collector.counterrors ? 'error' }}">{{ collector.counterrors|default(0) }}</span>\n
                          </label>\n
      \n
                          <input type="radio" id="filter-log-type-deprecation" name="filter-log-type" value="deprecation" {{ 'deprecation' == initially_active_tab ? 'checked' }}>\n
                          <label for="filter-log-type-deprecation" class="tab-control">\n
                              Deprecations\n
                              <span class="badge status-{{ collector.countdeprecations ? 'warning' }}">{{ collector.countdeprecations|default(0) }}</span>\n
                          </label>\n
                      </div>\n
                  </div>\n
      \n
                  <details id="log-filter-priority" class="log-filter">\n
                      <summary>\n
                          <span class="icon">{{ source('@WebProfiler/Icon/filter.svg') }}</span>\n
                          Level (<span class="filter-active-num">{{ filters.priority|length - 1 }}</span>)\n
                      </summary>\n
      \n
                      <div class="log-filter-content">\n
                          <div class="filter-select-all-or-none">\n
                              <button type="button" class="btn btn-link select-all">Select All</button>\n
                              <button type="button" class="btn btn-link select-none">Select None</button>\n
                          </div>\n
      \n
                          {% for label, value in filters.priority %}\n
                              <div class="log-filter-option">\n
                                  <input {{ 'debug' != value ? 'checked' }} type="checkbox" id="filter-log-level-{{ value }}" name="filter-log-level-{{ value }}" value="{{ value }}">\n
                                  <label for="filter-log-level-{{ value }}">{{ label }}</label>\n
                              </div>\n
                          {% endfor %}\n
                      </div>\n
                  </details>\n
      \n
                  <details id="log-filter-channel" class="log-filter">\n
                      <summary>\n
                          <span class="icon">{{ source('@WebProfiler/Icon/filter.svg') }}</span>\n
                          Channel (<span class="filter-active-num">{{ filters.channel|length - 1 }}</span>)\n
                      </summary>\n
      \n
                      <div class="log-filter-content">\n
                          <div class="filter-select-all-or-none">\n
                              <button type="button" class="btn btn-link select-all">Select All</button>\n
                              <button type="button" class="btn btn-link select-none">Select None</button>\n
                          </div>\n
      \n
                          {% for value in filters.channel %}\n
                              <div class="log-filter-option">\n
                                  <input {{ 'event' != value ? 'checked' }} type="checkbox" id="filter-log-channel-{{ value }}" name="filter-log-channel-{{ value }}" value="{{ value }}">\n
                                  <label for="filter-log-channel-{{ value }}">{{ value|title }}</label>\n
                              </div>\n
                          {% endfor %}\n
                      </div>\n
                  </details>\n
              </div>\n
      \n
              <table class="logs">\n
                  <colgroup>\n
                      <col style="width: 140px">\n
                      <col>\n
                  </colgroup>\n
      \n
                  <thead>\n
                      <tr>\n
                          <th>Time</th>\n
                          <th>Message</th>\n
                      </tr>\n
                  </thead>\n
      \n
                  <tbody>\n
                      {% for log in collector.processedLogs %}\n
                          {% set css_class = 'error' == log.type ? 'error'\n
                              : (log.priorityName == 'WARNING' or 'deprecation' == log.type) ? 'warning'\n
                              : 'silenced' == log.type ? 'silenced'\n
                          %}\n
                          <tr class="log-status-{{ css_class }}" data-type="{{ log.type }}" data-priority="{{ log.priority }}" data-channel="{{ log.channel }}" style="{{ 'event' == log.channel or 'DEBUG' == log.priorityName ? 'display: none' }}">\n
                              <td class="log-timestamp">\n
                                  <time class="newline" title="{{ log.timestamp|date('r') }}" datetime="{{ log.timestamp|date(constant('DateTimeInterface::RFC3339_EXTENDED')) }}" data-convert-to-user-timezone data-render-as-time data-render-with-millisecond-precision>\n
                                      {{ log.timestamp|date('H:i:s.v') }}\n
                                  </time>\n
      \n
                                  {% if log.type in ['error', 'deprecation', 'silenced'] or 'WARNING' == log.priorityName %}\n
                                      <span class="log-type-badge badge badge-{{ css_class }}">\n
                                          {% if 'error' == log.type or 'WARNING' == log.priorityName %}\n
                                              {{ log.priorityName|lower }}\n
                                          {% else %}\n
                                              {{ log.type|lower }}\n
                                          {% endif %}\n
                                      </span>\n
                                  {% else %}\n
                                      <span class="log-type-badge badge badge-{{ css_class }}">\n
                                          {{ log.priorityName|lower }}\n
                                      </span>\n
                                  {% endif %}\n
                              </td>\n
      \n
                              <td class="font-normal">\n
                                  {{ _self.render_log_message('debug', loop.index, log) }}\n
                              </td>\n
                          </tr>\n
                      {% endfor %}\n
                  </tbody>\n
              </table>\n
      \n
              <div class="no-logs-message empty">\n
                  <p>There are no log messages.</p>\n
              </div>\n
          {% endif %}\n
      \n
          {% set compilerLogTotal = collector.compilerLogs|reduce((total, logs) => total + logs|length, 0) %}\n
          <details class="container-compilation-logs">\n
              <summary>\n
                  <h4>Container Compilation Logs <span class="text-muted">({{ compilerLogTotal }})</span></h4>\n
                  <span class="text-muted">Log messages generated during the compilation of the service container.</span>\n
              </summary>\n
      \n
              {% if collector.compilerLogs is empty %}\n
                  <div class="empty">\n
                      <p>There are no compiler log messages.</p>\n
                  </div>\n
              {% else %}\n
                  <table class="container-logs">\n
                      <thead>\n
                      <tr>\n
                          <th>Messages</th>\n
                          <th class="full-width">Class</th>\n
                      </tr>\n
                      </thead>\n
      \n
                      <tbody>\n
                      {% for class, logs in collector.compilerLogs %}\n
                          <tr>\n
                              <td class="font-normal text-right">{{ logs|length }}</td>\n
                              <td class="font-normal">\n
                                  {% set context_id = 'context-compiler-' ~ loop.index %}\n
      \n
                                  <button type="button" class="btn btn-link sf-toggle" data-toggle-selector="#{{ context_id }}" data-toggle-alt-content="{{ class }}">{{ class }}</button>\n
      \n
                                  <div id="{{ context_id }}" class="context sf-toggle-content sf-toggle-hidden">\n
                                      <ul class="break-long-words">\n
                                          {% for log in logs %}\n
                                              <li>{{ profiler_dump_log(log.message) }}</li>\n
                                          {% endfor %}\n
                                      </ul>\n
                                  </div>\n
                              </td>\n
                          </tr>\n
                      {% endfor %}\n
                      </tbody>\n
                  </table>\n
              {% endif %}\n
          </details>\n
      {% endblock %}\n
      \n
      {% macro render_log_message(category, log_index, log) %}\n
          {% set has_context = log.context is defined and log.context is not empty %}\n
          {% set has_trace = log.context.exception.trace is defined %}\n
      \n
          {% if not has_context %}\n
              {{ profiler_dump_log(log.message) }}\n
          {% else %}\n
              {{ profiler_dump_log(log.message, log.context) }}\n
          {% endif %}\n
      \n
          <div class="log-metadata">\n
              {% if log.channel %}\n
                  <span class="badge">{{ log.channel }}</span>\n
              {% endif %}\n
      \n
              {% if log.errorCount is defined and log.errorCount > 1 %}\n
                  <span class="log-num-occurrences">{{ log.errorCount }} times</span>\n
              {% endif %}\n
      \n
              {% if has_context %}\n
                  {% set context_id = 'context-' ~ category ~ '-' ~ log_index %}\n
                  <span><button type="button" class="btn btn-link text-small sf-toggle" data-toggle-selector="#{{ context_id }}" data-toggle-alt-content="Hide context">Show context</button></span>\n
              {% endif %}\n
      \n
              {% if has_trace %}\n
                  {% set trace_id = 'trace-' ~ category ~ '-' ~ log_index %}\n
                  <span><button type="button" class="btn btn-link text-small sf-toggle" data-toggle-selector="#{{ trace_id }}" data-toggle-alt-content="Hide trace">Show trace</button></span>\n
              {% endif %}\n
      \n
              {% if has_context %}\n
                  <div id="{{ context_id }}" class="context sf-toggle-content sf-toggle-hidden">\n
                      {{ profiler_dump(log.context, maxDepth: 1) }}\n
                  </div>\n
              {% endif %}\n
      \n
              {% if has_trace %}\n
                  <div id="{{ trace_id }}" class="context sf-toggle-content sf-toggle-hidden">\n
                      {{ profiler_dump(log.context.exception.trace, maxDepth: 1) }}\n
                  </div>\n
              {% endif %}\n
          </div>\n
      {% endmacro %}\n
      """
    -name: "@WebProfiler/Collector/logger.html.twig"
    -path: "/www/wwwroot/dev/consentzv4/vendor/symfony/web-profiler-bundle/Resources/views/Collector/logger.html.twig"
  }
  -phpFile: "/www/wwwroot/dev/masterv4/vendor/twig/twig/src/Template.php"
  -phpLine: 460
}
Warning: file_exists(): open_basedir restriction in effect. File(/www/wwwroot/dev/consentzv4/vendor/symfony/web-profiler-bundle/Resources/views/Collector/logger.html.twig) is not within the allowed path(s): (/www/wwwroot/dev/masterv4/:/tmp/) (500 Internal Server Error)

Symfony Exception

Warning: file_exists(): open_basedir restriction in effect. File(/www/wwwroot/dev/consentzv4/vendor/symfony/web-profiler-bundle/Resources/views/Collector/logger.html.twig) is not within the allowed path(s): (/www/wwwroot/dev/masterv4/:/tmp/)

Exceptions 3

ErrorException

Show exception properties
ErrorException {#15865
  #severity: E_WARNING
}
  1. if (0 < $line) {
  2. $text .= ' at line '.$line;
  3. }
  4. if (!file_exists($file)) {
  5. return $text;
  6. }
  7. $link = $this->fileLinkFormat->format($file, $line);
  1. <?php if ($trace['file']) { ?>
  2. <?php
  3. $lineNumber = $trace['line'] ?: 1;
  4. $fileLink = $this->fileLinkFormat->format($trace['file'], $lineNumber);
  5. $filePath = strtr(strip_tags($this->formatFile($trace['file'], $lineNumber)), [' at line '.$lineNumber => '']);
  6. $filePathParts = explode(\DIRECTORY_SEPARATOR, $filePath);
  7. ?>
  8. <span class="block trace-file-path">
  9. in
  10. <a href="<?= $fileLink; ?>">
  1. private function include(string $name, array $context = []): string
  2. {
  3. extract($context, \EXTR_SKIP);
  4. ob_start();
  5. include is_file(\dirname(__DIR__).'/Resources/'.$name) ? \dirname(__DIR__).'/Resources/'.$name : $name;
  6. return trim(ob_get_clean());
  7. }
  8. /**
  1. $displayCodeSnippet = $isFirstUserCode && !$isVendorTrace;
  2. if ($displayCodeSnippet) {
  3. $isFirstUserCode = false;
  4. } ?>
  5. <div class="trace-line <?= $isVendorTrace ? 'trace-from-vendor' : ''; ?>">
  6. <?= $this->include('views/trace.html.php', [
  7. 'prefix' => $index,
  8. 'i' => $i,
  9. 'trace' => $trace,
  10. 'style' => $isVendorTrace ? 'compact' : ($displayCodeSnippet ? 'expanded' : ''),
  11. ]); ?>
  1. private function include(string $name, array $context = []): string
  2. {
  3. extract($context, \EXTR_SKIP);
  4. ob_start();
  5. include is_file(\dirname(__DIR__).'/Resources/'.$name) ? \dirname(__DIR__).'/Resources/'.$name : $name;
  6. return trim(ob_get_clean());
  7. }
  8. /**
  1. </h3>
  2. <div class="tab-content">
  3. <?php
  4. foreach ($exceptionAsArray as $i => $e) {
  5. echo $this->include('views/traces.html.php', [
  6. 'exception' => $e,
  7. 'index' => $i + 1,
  8. 'expand' => in_array($i, $exceptionWithUserCode, true) || ([] === $exceptionWithUserCode && 0 === $i),
  9. ]);
  10. }
  1. private function include(string $name, array $context = []): string
  2. {
  3. extract($context, \EXTR_SKIP);
  4. ob_start();
  5. include is_file(\dirname(__DIR__).'/Resources/'.$name) ? \dirname(__DIR__).'/Resources/'.$name : $name;
  6. return trim(ob_get_clean());
  7. }
  8. /**
  1. </div>
  2. </div>
  3. </header>
  4. <?php } ?>
  5. <?= $this->include('views/exception.html.php', $context); ?>
  6. <script>
  7. <?= $this->include('assets/js/exception.js'); ?>
  8. </script>
  9. </body>
  1. private function include(string $name, array $context = []): string
  2. {
  3. extract($context, \EXTR_SKIP);
  4. ob_start();
  5. include is_file(\dirname(__DIR__).'/Resources/'.$name) ? \dirname(__DIR__).'/Resources/'.$name : $name;
  6. return trim(ob_get_clean());
  7. }
  8. /**
  1. ]);
  2. }
  3. $exceptionMessage = $this->escape($exception->getMessage());
  4. return $this->include($debugTemplate, [
  5. 'exception' => $exception,
  6. 'exceptionMessage' => $exceptionMessage,
  7. 'statusText' => $statusText,
  8. 'statusCode' => $statusCode,
  9. 'logger' => null !== $this->logger && class_exists(DebugLoggerConfigurator::class) ? DebugLoggerConfigurator::getDebugLogger($this->logger) : null,
  1. $headers['X-Debug-Exception-File'] = rawurlencode($exception->getFile()).':'.$exception->getLine();
  2. }
  3. $exception = FlattenException::createWithDataRepresentation($exception, null, $headers);
  4. return $exception->setAsString($this->renderException($exception));
  5. }
  6. /**
  7. * Gets the HTML content associated with the given exception.
  8. */
  1. {
  2. $flattenException = FlattenException::createFromThrowable($exception);
  3. $debug = \is_bool($this->debug) ? $this->debug : ($this->debug)($flattenException);
  4. if ($debug || !$template = $this->findTemplate($flattenException->getStatusCode())) {
  5. return $this->fallbackErrorRenderer->render($exception);
  6. }
  7. return $flattenException->setAsString($this->twig->render($template, [
  8. 'exception' => $flattenException,
  9. 'status_code' => $flattenException->getStatusCode(),
  1. include_once \dirname(__DIR__, 4).'/vendor/symfony/framework-bundle/ErrorHandler/ErrorRenderer/RuntimeModeErrorRendererSelector.php';
  2. include_once \dirname(__DIR__, 4).'/vendor/symfony/error-handler/ErrorRenderer/HtmlErrorRenderer.php';
  3. $a = ($container->services['request_stack'] ??= new \Symfony\Component\HttpFoundation\RequestStack());
  4. return $container->services['error_controller'] = new \Symfony\Component\HttpKernel\Controller\ErrorController(($container->services['http_kernel'] ?? self::getHttpKernelService($container)), 'error_controller', new \Symfony\Component\ErrorHandler\ErrorRenderer\SerializerErrorRenderer(($container->privates['debug.serializer'] ?? self::getDebug_SerializerService($container)), \Symfony\Component\ErrorHandler\ErrorRenderer\SerializerErrorRenderer::getPreferredFormat($a), new class(fn () => \Symfony\Bundle\FrameworkBundle\ErrorHandler\ErrorRenderer\RuntimeModeErrorRendererSelector::select($container->getEnv('bool:default::key:web:default:kernel.runtime_mode:'), #[\Closure(name: 'twig.error_renderer.html', class: 'Symfony\\Bridge\\Twig\\ErrorRenderer\\TwigErrorRenderer')] fn () => ($container->privates['twig.error_renderer.html'] ?? $container->load('getTwig_ErrorRenderer_HtmlService')), #[\Closure(name: 'error_handler.error_renderer.cli', class: 'Symfony\\Component\\ErrorHandler\\ErrorRenderer\\CliErrorRenderer')] fn () => ($container->privates['error_handler.error_renderer.cli'] ??= new \Symfony\Component\ErrorHandler\ErrorRenderer\CliErrorRenderer()))) extends \Symfony\Component\DependencyInjection\Argument\LazyClosure implements \Symfony\Component\ErrorHandler\ErrorRenderer\ErrorRendererInterface { public function render(\Throwable $exception): \Symfony\Component\ErrorHandler\Exception\FlattenException { return $this->service->render(...\func_get_args()); } }, \Symfony\Component\ErrorHandler\ErrorRenderer\HtmlErrorRenderer::isDebug($a, true)));
  5. }
  6. }
  1. $flattenException->setAsString($this->serializer->serialize($flattenException, $format, [
  2. 'exception' => $exception,
  3. 'debug' => $debug,
  4. ]));
  5. } catch (NotEncodableValueException) {
  6. $flattenException = $this->fallbackErrorRenderer->render($exception);
  7. }
  8. return $flattenException->setHeaders($flattenException->getHeaders() + $headers);
  9. }
  1. ) {
  2. }
  3. public function __invoke(\Throwable $exception): Response
  4. {
  5. $exception = $this->errorRenderer->render($exception);
  6. return new Response($exception->getAsString(), $exception->getStatusCode(), $exception->getHeaders());
  7. }
  8. public function preview(Request $request, int $code): Response
  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. }
  2. $request = $this->duplicateRequest($throwable, $event->getRequest());
  3. try {
  4. $response = $event->getKernel()->handle($request, HttpKernelInterface::SUB_REQUEST, false);
  5. } catch (\Exception $e) {
  6. $f = FlattenException::createFromThrowable($e);
  7. $this->logException($e, \sprintf('Exception thrown when handling an exception (%s: %s at %s line %s)', $f->getClass(), $f->getMessage(), basename($e->getFile()), $e->getLine()));
  1. $closure = static function (...$args) use (&$listener, &$closure) {
  2. if ($listener[0] instanceof \Closure) {
  3. $listener[0] = $listener[0]();
  4. $listener[1] ??= '__invoke';
  5. }
  6. ($closure = $listener(...))(...$args);
  7. };
  8. } else {
  9. $closure = $listener instanceof WrappedListener ? $listener : $listener(...);
  10. }
  11. }
in vendor/symfony/event-dispatcher/EventDispatcher.php :: {closure:Symfony\Component\EventDispatcher\EventDispatcher::optimizeListeners():241} (line 206)
  1. foreach ($listeners as $listener) {
  2. if ($stoppable && $event->isPropagationStopped()) {
  3. break;
  4. }
  5. $listener($event, $eventName, $this);
  6. }
  7. }
  8. /**
  9. * Sorts the internal list of listeners for the given event by priority.
  1. } else {
  2. $listeners = $this->getListeners($eventName);
  3. }
  4. if ($listeners) {
  5. $this->callListeners($listeners, $eventName, $event);
  6. }
  7. return $event;
  8. }
  1. }
  2. public function dispatch(object $event, ?string $eventName = null): object
  3. {
  4. if ($this->disabled?->__invoke()) {
  5. return $this->dispatcher->dispatch($event, $eventName);
  6. }
  7. $eventName ??= $event::class;
  8. $this->callStack ??= new \SplObjectStorage();
  1. * Handles a throwable by trying to convert it to a Response.
  2. */
  3. private function handleThrowable(\Throwable $e, Request $request, int $type): Response
  4. {
  5. $event = new ExceptionEvent($this, $request, $type, $e, isKernelTerminating: $this->terminating);
  6. $this->dispatcher->dispatch($event, KernelEvents::EXCEPTION);
  7. // a listener might have replaced the exception
  8. $e = $event->getThrowable();
  9. if (!$event->hasResponse()) {
in vendor/symfony/http-kernel/HttpKernel.php -> handleThrowable (line 91)
  1. $this->finishRequest($request, $type);
  2. throw $e;
  3. }
  4. return $response = $this->handleThrowable($e, $request, $type);
  5. } finally {
  6. $this->requestStack->pop();
  7. if ($response instanceof StreamedResponse && $callback = $response->getCallback()) {
  8. $requestStack = $this->requestStack;
  1. if (!$this->handlingHttpCache) {
  2. $this->resetServices = true;
  3. }
  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 32)
  1. $app = $app(...$args);
  2. exit(
  3. $runtime
  4. ->getRunner($app)
  5. ->run()
  6. );
require_once('/www/wwwroot/dev/masterv4/vendor/autoload_runtime.php') in public/index.php (line 4)
  1. <?php
  2. use App\Kernel;
  3. require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
  4. return static function (array $context) {
  5. return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
  6. };

Twig\Error\ RuntimeError

An exception has been thrown during the rendering of a template ("Warning: is_file(): open_basedir restriction in effect. File(/www/wwwroot/dev/consentzv4/var/cache/dev/App_KernelDevDebugContainerCompiler.log) is not within the allowed path(s): (/www/wwwroot/dev/masterv4/:/tmp/)") in "@WebProfiler/Collector/logger.html.twig" at line 495.

Warning: file_exists(): open_basedir restriction in effect. File(/www/wwwroot/dev/consentzv4/vendor/symfony/web-profiler-bundle/Resources/views/Collector/logger.html.twig) is not within the allowed path(s): (/www/wwwroot/dev/masterv4/:/tmp/) (500 Internal Server Error)

Symfony Exception

Warning: file_exists(): open_basedir restriction in effect. File(/www/wwwroot/dev/consentzv4/vendor/symfony/web-profiler-bundle/Resources/views/Collector/logger.html.twig) is not within the allowed path(s): (/www/wwwroot/dev/masterv4/:/tmp/)

Exceptions 4

ErrorException

Show exception properties
ErrorException {#15828
  #severity: E_WARNING
}
  1. if (0 < $line) {
  2. $text .= ' at line '.$line;
  3. }
  4. if (!file_exists($file)) {
  5. return $text;
  6. }
  7. $link = $this->fileLinkFormat->format($file, $line);
  1. <?php if ($trace['file']) { ?>
  2. <?php
  3. $lineNumber = $trace['line'] ?: 1;
  4. $fileLink = $this->fileLinkFormat->format($trace['file'], $lineNumber);
  5. $filePath = strtr(strip_tags($this->formatFile($trace['file'], $lineNumber)), [' at line '.$lineNumber => '']);
  6. $filePathParts = explode(\DIRECTORY_SEPARATOR, $filePath);
  7. ?>
  8. <span class="block trace-file-path">
  9. in
  10. <a href="<?= $fileLink; ?>">
  1. private function include(string $name, array $context = []): string
  2. {
  3. extract($context, \EXTR_SKIP);
  4. ob_start();
  5. include is_file(\dirname(__DIR__).'/Resources/'.$name) ? \dirname(__DIR__).'/Resources/'.$name : $name;
  6. return trim(ob_get_clean());
  7. }
  8. /**
  1. $displayCodeSnippet = $isFirstUserCode && !$isVendorTrace;
  2. if ($displayCodeSnippet) {
  3. $isFirstUserCode = false;
  4. } ?>
  5. <div class="trace-line <?= $isVendorTrace ? 'trace-from-vendor' : ''; ?>">
  6. <?= $this->include('views/trace.html.php', [
  7. 'prefix' => $index,
  8. 'i' => $i,
  9. 'trace' => $trace,
  10. 'style' => $isVendorTrace ? 'compact' : ($displayCodeSnippet ? 'expanded' : ''),
  11. ]); ?>
  1. private function include(string $name, array $context = []): string
  2. {
  3. extract($context, \EXTR_SKIP);
  4. ob_start();
  5. include is_file(\dirname(__DIR__).'/Resources/'.$name) ? \dirname(__DIR__).'/Resources/'.$name : $name;
  6. return trim(ob_get_clean());
  7. }
  8. /**
  1. </h3>
  2. <div class="tab-content">
  3. <?php
  4. foreach ($exceptionAsArray as $i => $e) {
  5. echo $this->include('views/traces.html.php', [
  6. 'exception' => $e,
  7. 'index' => $i + 1,
  8. 'expand' => in_array($i, $exceptionWithUserCode, true) || ([] === $exceptionWithUserCode && 0 === $i),
  9. ]);
  10. }
  1. private function include(string $name, array $context = []): string
  2. {
  3. extract($context, \EXTR_SKIP);
  4. ob_start();
  5. include is_file(\dirname(__DIR__).'/Resources/'.$name) ? \dirname(__DIR__).'/Resources/'.$name : $name;
  6. return trim(ob_get_clean());
  7. }
  8. /**
  1. </div>
  2. </div>
  3. </header>
  4. <?php } ?>
  5. <?= $this->include('views/exception.html.php', $context); ?>
  6. <script>
  7. <?= $this->include('assets/js/exception.js'); ?>
  8. </script>
  9. </body>
  1. private function include(string $name, array $context = []): string
  2. {
  3. extract($context, \EXTR_SKIP);
  4. ob_start();
  5. include is_file(\dirname(__DIR__).'/Resources/'.$name) ? \dirname(__DIR__).'/Resources/'.$name : $name;
  6. return trim(ob_get_clean());
  7. }
  8. /**
  1. ]);
  2. }
  3. $exceptionMessage = $this->escape($exception->getMessage());
  4. return $this->include($debugTemplate, [
  5. 'exception' => $exception,
  6. 'exceptionMessage' => $exceptionMessage,
  7. 'statusText' => $statusText,
  8. 'statusCode' => $statusCode,
  9. 'logger' => null !== $this->logger && class_exists(DebugLoggerConfigurator::class) ? DebugLoggerConfigurator::getDebugLogger($this->logger) : null,
  1. $headers['X-Debug-Exception-File'] = rawurlencode($exception->getFile()).':'.$exception->getLine();
  2. }
  3. $exception = FlattenException::createWithDataRepresentation($exception, null, $headers);
  4. return $exception->setAsString($this->renderException($exception));
  5. }
  6. /**
  7. * Gets the HTML content associated with the given exception.
  8. */
  1. {
  2. $flattenException = FlattenException::createFromThrowable($exception);
  3. $debug = \is_bool($this->debug) ? $this->debug : ($this->debug)($flattenException);
  4. if ($debug || !$template = $this->findTemplate($flattenException->getStatusCode())) {
  5. return $this->fallbackErrorRenderer->render($exception);
  6. }
  7. return $flattenException->setAsString($this->twig->render($template, [
  8. 'exception' => $flattenException,
  9. 'status_code' => $flattenException->getStatusCode(),
  1. include_once \dirname(__DIR__, 4).'/vendor/symfony/framework-bundle/ErrorHandler/ErrorRenderer/RuntimeModeErrorRendererSelector.php';
  2. include_once \dirname(__DIR__, 4).'/vendor/symfony/error-handler/ErrorRenderer/HtmlErrorRenderer.php';
  3. $a = ($container->services['request_stack'] ??= new \Symfony\Component\HttpFoundation\RequestStack());
  4. return $container->services['error_controller'] = new \Symfony\Component\HttpKernel\Controller\ErrorController(($container->services['http_kernel'] ?? self::getHttpKernelService($container)), 'error_controller', new \Symfony\Component\ErrorHandler\ErrorRenderer\SerializerErrorRenderer(($container->privates['debug.serializer'] ?? self::getDebug_SerializerService($container)), \Symfony\Component\ErrorHandler\ErrorRenderer\SerializerErrorRenderer::getPreferredFormat($a), new class(fn () => \Symfony\Bundle\FrameworkBundle\ErrorHandler\ErrorRenderer\RuntimeModeErrorRendererSelector::select($container->getEnv('bool:default::key:web:default:kernel.runtime_mode:'), #[\Closure(name: 'twig.error_renderer.html', class: 'Symfony\\Bridge\\Twig\\ErrorRenderer\\TwigErrorRenderer')] fn () => ($container->privates['twig.error_renderer.html'] ?? $container->load('getTwig_ErrorRenderer_HtmlService')), #[\Closure(name: 'error_handler.error_renderer.cli', class: 'Symfony\\Component\\ErrorHandler\\ErrorRenderer\\CliErrorRenderer')] fn () => ($container->privates['error_handler.error_renderer.cli'] ??= new \Symfony\Component\ErrorHandler\ErrorRenderer\CliErrorRenderer()))) extends \Symfony\Component\DependencyInjection\Argument\LazyClosure implements \Symfony\Component\ErrorHandler\ErrorRenderer\ErrorRendererInterface { public function render(\Throwable $exception): \Symfony\Component\ErrorHandler\Exception\FlattenException { return $this->service->render(...\func_get_args()); } }, \Symfony\Component\ErrorHandler\ErrorRenderer\HtmlErrorRenderer::isDebug($a, true)));
  5. }
  6. }
  1. $flattenException->setAsString($this->serializer->serialize($flattenException, $format, [
  2. 'exception' => $exception,
  3. 'debug' => $debug,
  4. ]));
  5. } catch (NotEncodableValueException) {
  6. $flattenException = $this->fallbackErrorRenderer->render($exception);
  7. }
  8. return $flattenException->setHeaders($flattenException->getHeaders() + $headers);
  9. }
  1. ) {
  2. }
  3. public function __invoke(\Throwable $exception): Response
  4. {
  5. $exception = $this->errorRenderer->render($exception);
  6. return new Response($exception->getAsString(), $exception->getStatusCode(), $exception->getHeaders());
  7. }
  8. public function preview(Request $request, int $code): Response
  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. }
  2. $request = $this->duplicateRequest($throwable, $event->getRequest());
  3. try {
  4. $response = $event->getKernel()->handle($request, HttpKernelInterface::SUB_REQUEST, false);
  5. } catch (\Exception $e) {
  6. $f = FlattenException::createFromThrowable($e);
  7. $this->logException($e, \sprintf('Exception thrown when handling an exception (%s: %s at %s line %s)', $f->getClass(), $f->getMessage(), basename($e->getFile()), $e->getLine()));
  1. foreach ($listeners as $listener) {
  2. if ($stoppable && $event->isPropagationStopped()) {
  3. break;
  4. }
  5. $listener($event, $eventName, $this);
  6. }
  7. }
  8. /**
  9. * Sorts the internal list of listeners for the given event by priority.
  1. } else {
  2. $listeners = $this->getListeners($eventName);
  3. }
  4. if ($listeners) {
  5. $this->callListeners($listeners, $eventName, $event);
  6. }
  7. return $event;
  8. }
  1. }
  2. public function dispatch(object $event, ?string $eventName = null): object
  3. {
  4. if ($this->disabled?->__invoke()) {
  5. return $this->dispatcher->dispatch($event, $eventName);
  6. }
  7. $eventName ??= $event::class;
  8. $this->callStack ??= new \SplObjectStorage();
  1. * Handles a throwable by trying to convert it to a Response.
  2. */
  3. private function handleThrowable(\Throwable $e, Request $request, int $type): Response
  4. {
  5. $event = new ExceptionEvent($this, $request, $type, $e, isKernelTerminating: $this->terminating);
  6. $this->dispatcher->dispatch($event, KernelEvents::EXCEPTION);
  7. // a listener might have replaced the exception
  8. $e = $event->getThrowable();
  9. if (!$event->hasResponse()) {
  1. if ($pop = $request !== $this->requestStack->getMainRequest()) {
  2. $this->requestStack->push($request);
  3. }
  4. try {
  5. $response = $this->handleThrowable($exception, $request, self::MAIN_REQUEST);
  6. } finally {
  7. if ($pop) {
  8. $this->requestStack->pop();
  9. }
  10. }
  1. if ($hasRun) {
  2. throw $e;
  3. }
  4. $hasRun = true;
  5. $kernel->terminateWithException($e, $request);
  6. };
  7. }
  8. } elseif ($event instanceof ConsoleEvent && $app = $event->getCommand()->getApplication()) {
  9. $output = $event->getOutput();
  10. if ($output instanceof ConsoleOutputInterface) {
in /www/wwwroot/dev/masterv4/vendor/symfony/error-handler/ErrorHandler.php :: {closure:Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure():71} (line 538)
  1. $this->exceptionHandler = null;
  2. }
  3. try {
  4. if (null !== $exceptionHandler) {
  5. $exceptionHandler($exception);
  6. return;
  7. }
  8. $handlerException ??= $exception;
  9. } catch (\Throwable $handlerException) {
ErrorHandler->handleException()

ErrorException

Warning: file_exists(): open_basedir restriction in effect. File(/www/wwwroot/dev/consentzv4/vendor/symfony/web-profiler-bundle/Resources/views/Collector/logger.html.twig) is not within the allowed path(s): (/www/wwwroot/dev/masterv4/:/tmp/)

  1. if (0 < $line) {
  2. $text .= ' at line '.$line;
  3. }
  4. if (!file_exists($file)) {
  5. return $text;
  6. }
  7. $link = $this->fileLinkFormat->format($file, $line);
  1. <?php if ($trace['file']) { ?>
  2. <?php
  3. $lineNumber = $trace['line'] ?: 1;
  4. $fileLink = $this->fileLinkFormat->format($trace['file'], $lineNumber);
  5. $filePath = strtr(strip_tags($this->formatFile($trace['file'], $lineNumber)), [' at line '.$lineNumber => '']);
  6. $filePathParts = explode(\DIRECTORY_SEPARATOR, $filePath);
  7. ?>
  8. <span class="block trace-file-path">
  9. in
  10. <a href="<?= $fileLink; ?>">
  1. private function include(string $name, array $context = []): string
  2. {
  3. extract($context, \EXTR_SKIP);
  4. ob_start();
  5. include is_file(\dirname(__DIR__).'/Resources/'.$name) ? \dirname(__DIR__).'/Resources/'.$name : $name;
  6. return trim(ob_get_clean());
  7. }
  8. /**
  1. $displayCodeSnippet = $isFirstUserCode && !$isVendorTrace;
  2. if ($displayCodeSnippet) {
  3. $isFirstUserCode = false;
  4. } ?>
  5. <div class="trace-line <?= $isVendorTrace ? 'trace-from-vendor' : ''; ?>">
  6. <?= $this->include('views/trace.html.php', [
  7. 'prefix' => $index,
  8. 'i' => $i,
  9. 'trace' => $trace,
  10. 'style' => $isVendorTrace ? 'compact' : ($displayCodeSnippet ? 'expanded' : ''),
  11. ]); ?>
  1. private function include(string $name, array $context = []): string
  2. {
  3. extract($context, \EXTR_SKIP);
  4. ob_start();
  5. include is_file(\dirname(__DIR__).'/Resources/'.$name) ? \dirname(__DIR__).'/Resources/'.$name : $name;
  6. return trim(ob_get_clean());
  7. }
  8. /**
  1. </h3>
  2. <div class="tab-content">
  3. <?php
  4. foreach ($exceptionAsArray as $i => $e) {
  5. echo $this->include('views/traces.html.php', [
  6. 'exception' => $e,
  7. 'index' => $i + 1,
  8. 'expand' => in_array($i, $exceptionWithUserCode, true) || ([] === $exceptionWithUserCode && 0 === $i),
  9. ]);
  10. }
  1. private function include(string $name, array $context = []): string
  2. {
  3. extract($context, \EXTR_SKIP);
  4. ob_start();
  5. include is_file(\dirname(__DIR__).'/Resources/'.$name) ? \dirname(__DIR__).'/Resources/'.$name : $name;
  6. return trim(ob_get_clean());
  7. }
  8. /**
  1. </div>
  2. </div>
  3. </header>
  4. <?php } ?>
  5. <?= $this->include('views/exception.html.php', $context); ?>
  6. <script>
  7. <?= $this->include('assets/js/exception.js'); ?>
  8. </script>
  9. </body>
  1. private function include(string $name, array $context = []): string
  2. {
  3. extract($context, \EXTR_SKIP);
  4. ob_start();
  5. include is_file(\dirname(__DIR__).'/Resources/'.$name) ? \dirname(__DIR__).'/Resources/'.$name : $name;
  6. return trim(ob_get_clean());
  7. }
  8. /**
  1. ]);
  2. }
  3. $exceptionMessage = $this->escape($exception->getMessage());
  4. return $this->include($debugTemplate, [
  5. 'exception' => $exception,
  6. 'exceptionMessage' => $exceptionMessage,
  7. 'statusText' => $statusText,
  8. 'statusCode' => $statusCode,
  9. 'logger' => null !== $this->logger && class_exists(DebugLoggerConfigurator::class) ? DebugLoggerConfigurator::getDebugLogger($this->logger) : null,
  1. $headers['X-Debug-Exception-File'] = rawurlencode($exception->getFile()).':'.$exception->getLine();
  2. }
  3. $exception = FlattenException::createWithDataRepresentation($exception, null, $headers);
  4. return $exception->setAsString($this->renderException($exception));
  5. }
  6. /**
  7. * Gets the HTML content associated with the given exception.
  8. */
  1. {
  2. $flattenException = FlattenException::createFromThrowable($exception);
  3. $debug = \is_bool($this->debug) ? $this->debug : ($this->debug)($flattenException);
  4. if ($debug || !$template = $this->findTemplate($flattenException->getStatusCode())) {
  5. return $this->fallbackErrorRenderer->render($exception);
  6. }
  7. return $flattenException->setAsString($this->twig->render($template, [
  8. 'exception' => $flattenException,
  9. 'status_code' => $flattenException->getStatusCode(),
  1. include_once \dirname(__DIR__, 4).'/vendor/symfony/framework-bundle/ErrorHandler/ErrorRenderer/RuntimeModeErrorRendererSelector.php';
  2. include_once \dirname(__DIR__, 4).'/vendor/symfony/error-handler/ErrorRenderer/HtmlErrorRenderer.php';
  3. $a = ($container->services['request_stack'] ??= new \Symfony\Component\HttpFoundation\RequestStack());
  4. return $container->services['error_controller'] = new \Symfony\Component\HttpKernel\Controller\ErrorController(($container->services['http_kernel'] ?? self::getHttpKernelService($container)), 'error_controller', new \Symfony\Component\ErrorHandler\ErrorRenderer\SerializerErrorRenderer(($container->privates['debug.serializer'] ?? self::getDebug_SerializerService($container)), \Symfony\Component\ErrorHandler\ErrorRenderer\SerializerErrorRenderer::getPreferredFormat($a), new class(fn () => \Symfony\Bundle\FrameworkBundle\ErrorHandler\ErrorRenderer\RuntimeModeErrorRendererSelector::select($container->getEnv('bool:default::key:web:default:kernel.runtime_mode:'), #[\Closure(name: 'twig.error_renderer.html', class: 'Symfony\\Bridge\\Twig\\ErrorRenderer\\TwigErrorRenderer')] fn () => ($container->privates['twig.error_renderer.html'] ?? $container->load('getTwig_ErrorRenderer_HtmlService')), #[\Closure(name: 'error_handler.error_renderer.cli', class: 'Symfony\\Component\\ErrorHandler\\ErrorRenderer\\CliErrorRenderer')] fn () => ($container->privates['error_handler.error_renderer.cli'] ??= new \Symfony\Component\ErrorHandler\ErrorRenderer\CliErrorRenderer()))) extends \Symfony\Component\DependencyInjection\Argument\LazyClosure implements \Symfony\Component\ErrorHandler\ErrorRenderer\ErrorRendererInterface { public function render(\Throwable $exception): \Symfony\Component\ErrorHandler\Exception\FlattenException { return $this->service->render(...\func_get_args()); } }, \Symfony\Component\ErrorHandler\ErrorRenderer\HtmlErrorRenderer::isDebug($a, true)));
  5. }
  6. }
  1. $flattenException->setAsString($this->serializer->serialize($flattenException, $format, [
  2. 'exception' => $exception,
  3. 'debug' => $debug,
  4. ]));
  5. } catch (NotEncodableValueException) {
  6. $flattenException = $this->fallbackErrorRenderer->render($exception);
  7. }
  8. return $flattenException->setHeaders($flattenException->getHeaders() + $headers);
  9. }
  1. ) {
  2. }
  3. public function __invoke(\Throwable $exception): Response
  4. {
  5. $exception = $this->errorRenderer->render($exception);
  6. return new Response($exception->getAsString(), $exception->getStatusCode(), $exception->getHeaders());
  7. }
  8. public function preview(Request $request, int $code): Response
  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. }
  2. $request = $this->duplicateRequest($throwable, $event->getRequest());
  3. try {
  4. $response = $event->getKernel()->handle($request, HttpKernelInterface::SUB_REQUEST, false);
  5. } catch (\Exception $e) {
  6. $f = FlattenException::createFromThrowable($e);
  7. $this->logException($e, \sprintf('Exception thrown when handling an exception (%s: %s at %s line %s)', $f->getClass(), $f->getMessage(), basename($e->getFile()), $e->getLine()));
  1. $closure = static function (...$args) use (&$listener, &$closure) {
  2. if ($listener[0] instanceof \Closure) {
  3. $listener[0] = $listener[0]();
  4. $listener[1] ??= '__invoke';
  5. }
  6. ($closure = $listener(...))(...$args);
  7. };
  8. } else {
  9. $closure = $listener instanceof WrappedListener ? $listener : $listener(...);
  10. }
  11. }
in /www/wwwroot/dev/masterv4/vendor/symfony/event-dispatcher/EventDispatcher.php :: {closure:Symfony\Component\EventDispatcher\EventDispatcher::optimizeListeners():241} (line 206)
  1. foreach ($listeners as $listener) {
  2. if ($stoppable && $event->isPropagationStopped()) {
  3. break;
  4. }
  5. $listener($event, $eventName, $this);
  6. }
  7. }
  8. /**
  9. * Sorts the internal list of listeners for the given event by priority.
  1. } else {
  2. $listeners = $this->getListeners($eventName);
  3. }
  4. if ($listeners) {
  5. $this->callListeners($listeners, $eventName, $event);
  6. }
  7. return $event;
  8. }
  1. }
  2. public function dispatch(object $event, ?string $eventName = null): object
  3. {
  4. if ($this->disabled?->__invoke()) {
  5. return $this->dispatcher->dispatch($event, $eventName);
  6. }
  7. $eventName ??= $event::class;
  8. $this->callStack ??= new \SplObjectStorage();
  1. * Handles a throwable by trying to convert it to a Response.
  2. */
  3. private function handleThrowable(\Throwable $e, Request $request, int $type): Response
  4. {
  5. $event = new ExceptionEvent($this, $request, $type, $e, isKernelTerminating: $this->terminating);
  6. $this->dispatcher->dispatch($event, KernelEvents::EXCEPTION);
  7. // a listener might have replaced the exception
  8. $e = $event->getThrowable();
  9. if (!$event->hasResponse()) {
  1. $this->finishRequest($request, $type);
  2. throw $e;
  3. }
  4. return $response = $this->handleThrowable($e, $request, $type);
  5. } finally {
  6. $this->requestStack->pop();
  7. if ($response instanceof StreamedResponse && $callback = $response->getCallback()) {
  8. $requestStack = $this->requestStack;
  1. if (!$this->handlingHttpCache) {
  2. $this->resetServices = true;
  3. }
  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) {
  1. $app = $app(...$args);
  2. exit(
  3. $runtime
  4. ->getRunner($app)
  5. ->run()
  6. );
require_once('/www/wwwroot/dev/masterv4/vendor/autoload_runtime.php') in /www/wwwroot/dev/masterv4/public/index.php (line 4)
  1. <?php
  2. use App\Kernel;
  3. require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
  4. return static function (array $context) {
  5. return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
  6. };

Twig\Error\ RuntimeError

An exception has been thrown during the rendering of a template ("Warning: is_file(): open_basedir restriction in effect. File(/www/wwwroot/dev/consentzv4/var/cache/dev/App_KernelDevDebugContainerCompiler.log) is not within the allowed path(s): (/www/wwwroot/dev/masterv4/:/tmp/)") in "@WebProfiler/Collector/logger.html.twig" at line 495.


Fatal error: Uncaught ErrorException: Warning: file_exists(): open_basedir restriction in effect. File(/www/wwwroot/dev/consentzv4/vendor/symfony/web-profiler-bundle/Resources/views/Collector/logger.html.twig) is not within the allowed path(s): (/www/wwwroot/dev/masterv4/:/tmp/) in /www/wwwroot/dev/masterv4/vendor/symfony/error-handler/ErrorRenderer/HtmlErrorRenderer.php:236 Stack trace: #0 /www/wwwroot/dev/masterv4/vendor/symfony/error-handler/Resources/views/trace.html.php(15): Symfony\Component\ErrorHandler\ErrorRenderer\HtmlErrorRenderer->formatFile() #1 /www/wwwroot/dev/masterv4/vendor/symfony/error-handler/ErrorRenderer/HtmlErrorRenderer.php(345): include('...') #2 /www/wwwroot/dev/masterv4/vendor/symfony/error-handler/Resources/views/traces.html.php(48): Symfony\Component\ErrorHandler\ErrorRenderer\HtmlErrorRenderer->include() #3 /www/wwwroot/dev/masterv4/vendor/symfony/error-handler/ErrorRenderer/HtmlErrorRenderer.php(345): include('...') #4 /www/wwwroot/dev/masterv4/vendor/symfony/error-handler/Resources/views/exception.html.php(54): Symfony\Component\ErrorHandler\ErrorRenderer\HtmlErrorRenderer->include() #5 /www/wwwroot/dev/masterv4/vendor/symfony/error-handler/ErrorRenderer/HtmlErrorRenderer.php(345): include('...') #6 /www/wwwroot/dev/masterv4/vendor/symfony/error-handler/Resources/views/exception_full.html.php(35): Symfony\Component\ErrorHandler\ErrorRenderer\HtmlErrorRenderer->include() #7 /www/wwwroot/dev/masterv4/vendor/symfony/error-handler/ErrorRenderer/HtmlErrorRenderer.php(345): include('...') #8 /www/wwwroot/dev/masterv4/vendor/symfony/error-handler/ErrorRenderer/HtmlErrorRenderer.php(140): Symfony\Component\ErrorHandler\ErrorRenderer\HtmlErrorRenderer->include() #9 /www/wwwroot/dev/masterv4/vendor/symfony/error-handler/ErrorRenderer/HtmlErrorRenderer.php(72): Symfony\Component\ErrorHandler\ErrorRenderer\HtmlErrorRenderer->renderException() #10 /www/wwwroot/dev/masterv4/vendor/symfony/error-handler/ErrorHandler.php(655): Symfony\Component\ErrorHandler\ErrorRenderer\HtmlErrorRenderer->render() #11 /www/wwwroot/dev/masterv4/vendor/symfony/error-handler/ErrorHandler.php(538): Symfony\Component\ErrorHandler\ErrorHandler->renderException() #12 /www/wwwroot/dev/masterv4/vendor/symfony/error-handler/ErrorHandler.php(556): Symfony\Component\ErrorHandler\ErrorHandler->handleException() #13 [internal function]: Symfony\Component\ErrorHandler\ErrorHandler->handleException() #14 {main} thrown in /www/wwwroot/dev/masterv4/vendor/symfony/error-handler/ErrorRenderer/HtmlErrorRenderer.php on line 236