When I make modifications to my .tpl.php file, I assure that changes are "reloaded" by executing "drush cc all".

But when I change my template.php file, the only way I have to see the output of my new code, such as adding a simple dpm($form) statement, is by restarting apache.

I've tried:

  • drush cc all
  • Devel module -> Clear cache.
  • Configuration -> Performance -> Clear all caches.
  • Check that in Configuration -> Performance -> CACHING -> disabled.
  • Clear browser cache.
  • Test it in a different browser.

But the changes only appear when I issue /etc/init.d/httpd restart.

Any idea of why?

  • 3
    You probably have some sort of apache-/server-level caching going on. mod_cache maybe? reverse proxy? can't really say from here – Clive Feb 28 '14 at 15:47
  • 2
    Also check if apc.stat=0 – mpdonadio Feb 28 '14 at 16:21

Thanks to Clive and MPD, that pointed to the answer.

It was because of APC.

I've installed the module apc_admin, which allows to access the APC interface (apc.php) from within drupal (Configuration » Development » Performance » APC). That includes the "Reset APC cache" button. Just by pressing it, the changes in my template will show up.

Hope this helps also other users.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.