Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Api Platform v2.7 crashes when preloading is enabled #2284

@Tib-z

Description

@Tib-z

API Platform version(s) affected: 2.7.0, 2.7.1
(The issue comes from the deprecation handling, did not exist in 2.6, v3 could not test yet..)

Description
After upgrading to 2.7 (v2.7.0, v2.7.1) api-platform crashes on production where opcache.prelaod is enabled. On v2.6.8 worked fine.
Warning: Cannot declare interface ApiPlatform\Core\Api\FilterInterface, because the name is already in use in /var/www/vendor/api-platform/core/src/deprecation.php on line 15
Warning: Cannot declare interface ApiPlatform\Core\Api\ResourceClassResolverInterface, because the name is already in use in /var/www/vendor/api-platform/core/src/deprecation.php on line 16

ErrorException:
Warning: Cannot declare class ApiPlatform\Core\EventListener\ExceptionListener, because the name is already in use

at /var/www/vendor/api-platform/core/src/Symfony/EventListener/ExceptionListener.php:58
at include_once('/var/www/vendor/api-platform/core/src/Symfony/EventListener/ExceptionListener.php')
(/var/www/var/cache/dev/ContainerQBmvKM9/getApiPlatform_Listener_ExceptionService.php:20)
at ContainerQBmvKM9\getApiPlatform_Listener_ExceptionService::do(object(App_KernelDevDebugContainer), true)
(/var/www/var/cache/dev/ContainerQBmvKM9/App_KernelDevDebugContainer.php:630)
at ContainerQBmvKM9\App_KernelDevDebugContainer->load('getApiPlatform_Listener_ExceptionService.php')
(/var/www/var/cache/dev/ContainerQBmvKM9/App_KernelDevDebugContainer.php:923)
at ContainerQBmvKM9\App_KernelDevDebugContainer->ContainerQBmvKM9{closure}()
(/var/www/vendor/symfony/event-dispatcher/EventDispatcher.php:164)
at Symfony\Component\EventDispatcher\EventDispatcher->removeListener('kernel.exception', object(Closure))
(/var/www/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:287)
at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->preProcess('kernel.exception')
(/var/www/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:147)
at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch(object(ExceptionEvent), 'kernel.exception')
(/var/www/vendor/symfony/http-kernel/HttpKernel.php:213)
at Symfony\Component\HttpKernel\HttpKernel->handleThrowable(object(ErrorException), object(Request), 1)
(/var/www/vendor/symfony/http-kernel/HttpKernel.php:109)
at Symfony\Component\HttpKernel\HttpKernel->terminateWithException(object(ErrorException), object(Request))
(/var/www/vendor/symfony/http-kernel/EventListener/DebugHandlersListener.php:125)
at Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::Symfony\Component\HttpKernel\EventListener{closure}(object(ErrorException))
(/var/www/vendor/symfony/error-handler/ErrorHandler.php:540)
at Symfony\Component\ErrorHandler\ErrorHandler->handleException(object(ErrorException))

How to reproduce

  • Upgrade to v2.7.*
  • Make sure opcache.preload is enabled. (I use the Symfony's default preload script);
    • opcache.preload_user=www-data
    • opcache.preload=/var/www/config/preload.php
  • Open /api or any api-platform endpoint

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions