무슨 일이 있어도 SYMFONY 2.8 프로덕션 시스템이 있고 "BUNDLES"패키지에서 "pull"자동 업데이트를받습니다. 어떤 이유로 서버가 캐시 된 코드를 불평하여 500 오류가 발생합니다.Symfony 2.8을 사용하여 새 코드를 배포 할 때 Error 500이 발생합니다.
아파치에 캐시하지 않고 다른 캐싱 시스템을 사용하지 않습니다. PHP 6.5.24는이 리눅스 서버를 사용합니다.
다음은 서버가 업데이트를 수신 할 때 발생하는 오류의 예입니다.
[Wed Aug 24 17:05:11.638885 2016] [:error] [pid 11055] [client 64.16.214.100:30866] PHP Fatal error:
Uncaught exception 'Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException' with message 'Circular reference detected for service "service_name", path:
"service_name".' in /home/my_system/app/bootstrap.php.cache:2191\nStack trace:\n#0 /tmp/my_system/prod/cache/classes.php(2460):
Symfony\Component\DependencyInjection\Container->get('service_name')\n#1 /tmp/my_system/prod/cache/classes.php(2428):
Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher->lazyLoad('kernel.exceptio...')\n#2 /tmp/my_system/prod/cache/classes.php(2275):
Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher->getListeners('kernel.exceptio...')\n#3 /home/my_system/app/bootstrap.php.cache(3265):
Symfony\Component\EventDispatcher\EventDispatcher->dispatch('kernel.exceptio...', Object(Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent))\n#4 /home/my_system/app/bootstrap.php.cache(3213):
Symfony\Component\HttpKernel\HttpKernel->handleException(Object(Symfony\Component\Debug\Exc in /home/my_system/app/bootstrap.php.cache on line 2191
어떻게 문제를 해결할 수 있습니까? 아파치 서비스를 다시 시작한다. 이제 나는이 과정에서 잘못된 것을 할 수 있으므로 여러분의 도움으로 그것을 이해하고 해결하고 싶습니다.
composer install --no-dev --optimize-autoloader
php app/console cache:clear --env=prod --no-debug
php app/console assets:install --symlink --env=prod --no-debug
그러나 나는 아파치 서비스를 restartar 경우 I는 해결하기 전에 말했듯이 여전히 문제가 해결되지 않습니다
내가 업데이 트를 보낼 때마다 다음 명령을 실행합니다.
모든
어떤 것은'service_name' 의존성입니까? – yceruto
이 이름은 문제가 발생했을 때만 문제가 발생한 서비스의 이름입니다. 코드 업데이트 전송은 지금까지 아파치 서비스를 다시 시작한 해결책입니다. 캐시에 남아있는 이전 코드와 같습니다. –
서비스 코드 : #의 PARAMETER_NAME : 값 서비스 : # service_name은'#은 # http://symfony.com/doc/current/book/service_container.html 매개 변수에 서비스를 매개 변수 및 컨테이너에 대해 자세히 알아보기 : # 클래스 : AppBundle \ 디렉토리 \ 클래스 이름 # 인수 : [ "@another_service_name", "plain_value", "%의 PARAMETER_NAME의 %"] SERVICE_NAME : 클래스 : MOB \ CPMEBundle \의 EventListener \ ErrorRedirect 인수 : [ '을 @ 라우터 '] 태그 : - {이름 : kernel.event_listener, 이벤트 : kernel.exception, 메서드 : onKernelExceptio n}' –