Search code examples
phpcachingsymfonyxamppapc

APC can not differentiate multiple symfony sites


I ran into a very bizarre problem today, I had created a cms like site with symfony2 today I created a new directory and copied the site here because I wanted to work on a project base on that, after doing some editing I realized when I open the first site it also shows the second one, they even share the session !!!

To summarize :

  1. I had site A
  2. copied site A and renamed it to B
  3. edited B
  4. whenever I open either one of A or B it shows the same thing ( the first one I open after xampp starts )

P.S : I have changed the database and global secret parameters for the new site with no luck

Has anyone faced a similar problem before ? thank you :)

Edit : the problem is with APC caching is there any way to make APC realize these are two different apps ?


Solution

  • In the front controller (web/app.php) you can define a prefix to prevent cache conflicts. Make sure this prefix is unique for each application.

    // 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);
    
    ....