2014-10-18 5 views
0

일부 프로젝트 관리 기능을 만들고 있습니다.Laravel App :: make로 인해 무한 루프가 발생합니다.

모델을 생성/업데이트/삭제할 때마다 Laravel의 Model Observer를 사용하여 감사 추적을 만듭니다. 예를 들어 프로젝트가 생성되면 관찰자는 변경된 필드를 저장하는 새로운 데이터베이스 항목을 생성하는 프로젝트 감사 모델의 새 인스턴스를 자동으로 생성합니다. 또한이 관찰자는 사용자가 최신 정보에 액세스 할 수 있도록 관련 캐시를 지 웁니다.

캐시 저장소를 호출하는 문제가 (스택 트레이스를 가지지 않는)이 오류 메시지가 발생

:

Symfony \ Component \ Debug \ Exception \ FatalErrorException (E_ERROR) 
Maximum function nesting level of '100' reached, aborting! 

나는 앱이 :: 캐시 저장소를 호출 할 수 있도록 사용하고 있습니다 :

$this->projectAuditCache = App::make('cache\ProjectManagement\Interfaces\ProjectAuditCacheInterface'); 

을 그러면 Audit Cache Repository는 다른 것에 의존하지 않는 하나의 다른 저장소로만 구성됩니다.

Open: /home/vagrant/Sites/fixing/new_fixing/vendor/laravel/framework/src/Illuminate/Container/Container.php 
    * Determine if the given abstract has a leading slash. 
    * 
    * @param string $abstract 
    * @return bool 
    */ 
    protected function missingLeadingSlash($abstract) 
    { 
     return is_string($abstract) && strpos($abstract, '\\') !== 0; 
    } 

이 작업을 얻을 수있는 방법이 있나요 :

스택 추적에 가능한 유일한 단서는이 무엇입니까? 응용 프로그램을 사용하고 ::이 잘못된 길을 가야합니까?

감사합니다, 에드

답변

1

오류가 Xdebug는 PHP의 디버그 확장 일으키는 문제. 이 확장자가 반향하려는 배열은 커야합니다.

간단하게 php.ini에서 xdebug의 최대 중첩 수준 설정을 조정할 수 있습니다. 또는 앱이 시작될 때 포함되어야하는 명령

ini_set('xdebug.max_nesting_level', $limit) 

와. Laravel 4.x의 경우 app/start/global.php입니다.

출처 : StackOverflow

관련 문제