2013-07-23 5 views
2

오늘 나는 매우 기괴한 문제에 부딪혔습니다. 심포니 2와 같은 사이트를 만들었습니다. 오늘은 새로운 디렉토리를 만들었고 여기에 사이트를 복사했습니다. 프로젝트 기반으로 작업하고 싶었 기 때문입니다. , 내가 편집 한 일을 한 후 첫 번째 사이트를 열면 두 번째 사진도 보여 주며 세션을 공유합니다 !!!APC는 여러 심포니 사이트를 구분할 수 없습니다

을 요약하면 :

  1. 나는 사이트 A
  2. 복사 사이트 A를했고 내가 열 때마다
  3. 편집 B에게 중 하나를
  4. 를 B하거나 표시 B로 이름을 변경 똑같은 것 (xampp이 시작한 후 첫 번째 열림)

P.S : 행운과 함께 새로운 사이트에 대한 데이터베이스와 전역 비밀 매개 변수를 변경했습니다.

누구나 전에 비슷한 문제에 직면 했습니까? 감사합니다 :)

편집를 : 문제가 APC 캐싱입니다 APC는이 두 개의 서로 다른 애플 리케이션 깨닫게 할 수있는 방법이있다?

+1

'htaccess' 및'hosts' 파일을 확인 했습니까? – Rafee

+0

@Rafee 해당 파일에서 무엇을 찾아야합니까? – Andy

+0

프로젝트 디렉토리의'.htaccess' 파일과'% systemroot % \ system32 \ drivers \ etc \ '의'hosts' 파일 – Rafee

답변

1

전면 컨트롤러 (web/app.php)에서 캐시 충돌을 방지하기 위해 접두사를 정의 할 수 있습니다. 이 접두어가 각 응용 프로그램마다 고유해야합니다.

// web/app.php 

... 

// Use APC for autoloading to improve performance. 
// Change 'sf2' to a unique prefix in order to prevent cache key conflicts 
// with other applications also using APC. 

$loader = new ApcClassLoader('sf2', $loader); 
$loader->register(true); 

.... 
+0

정확히 내가 뭘 찾고 있었는지 @kunal 감사합니다. – Andy

+0

이것은 나를 위해 충분하지 않습니다. app 내에서 apc_store를 호출하면 접두사가없는 문자열 (위의 'sf2')을 사용합니다. 따라서 두 앱이 동일한 키를 가진 무언가를 수동으로 저장한다면 여전히 충돌 할 것입니다. – Craig

1

아마도 APC 캐싱이 활성화되어 있는지 확인하고 비활성화하십시오.

+0

문제는 다음과 같습니다. APC 캐싱. – Andy

+0

하지만 APC를 사용하도록 설정하려면 각 앱에 APC가 고유 한 식별자를 사용하여 구분할 수있는 방법이 있습니까? – Andy