Symfony2와 Doctrine을 사용하여 작은 엔티티를 만드는 데 문제가 있습니다. 작동하지만 속도가 느리고 메모리가 많이 소모됩니다.Symfony2/Doctrine submiting form은 매우 오랜 시간이 걸립니다.
우리는이 문제가 심포니의 $form->submit()
에 있다고 생각합니다.
이 소요 ~ 0.1 초 :
이die('x');
$form->submit($request);
이 걸리는 60 ~ 초 : 우리는이 제출 방법 안에 ") (사망"하는 것을 시도했다
$form->submit($request);
die('x');
, 아래 return $this;
모든 방법 실행 시간은 약 0.1 초입니다. 뭔가 다른 일이 발생하고있는 것 같아 문제를 찾을 수 없습니다.
XDebug를 실행하면 다음과 같이 표시됩니다. Symfony \ Component \ Form \ Form-> submit은 가장 포괄적 인 비용을 가지며 주로이 호출은 Symfony \ Component \ Form \ Form-> viewToNorm입니다.
우리는 시도 다음
- 설정 realpath_cache_size = 4096K
- 설정 realpath_cache_ttl = 7200
- 장애인 XDebug가 APC
디바이스 또는 자극 환경의 차이를 사용
당신은 당신이 무한 루프에 "하락"하지 않을 확실합니까? 이 코드 스 니펫과 함께,'die ('x'); $ form-> submit ($ request);'$ form-> submit ($ request); 그걸 알기를 바랍니다. – DonCallisto
답장을 보내 주셔서 감사합니다. 엔티티가 데이터베이스에서 생성되고 ID가 반환되기 때문에 무한 루프라고 생각하지 않습니다. die()와 관련해서 우리는 문제가 submit 메소드에 의존하고 있음을 설명하려했습니다. – Nixxxon
Windows 서버를 사용하고 있습니까? 필자는 웹 서버가 존재하지 않는 파일 시스템에 액세스하려고하는 이와 같은 수수께끼 문제를 겪었습니다. 내장 PHP 웹 서버로 테스트 해보십시오. 그건 그렇고, 스톱워치 구성 요소는 타이밍 물건에 편리합니다. http://symfony.com/doc/current/components/stopwatch.html. 로깅도 효과적입니다. – Cerad