In a recent Magento setup with a Varnish caching server an undefined PHP variable in a template resulted in the error message “ESI processing not enabled“.
Due to the undefined PHP variable the underlying Varnish caching server’s Edge-side includes (ESI) capabilities, allowing content assembly by HTTP surrogates through in-markup XML-based language failed. After a quick code review of a just installed Magento extension there existed a newly introduced undefined PHP variable that caused Varnish to fail.
Thus, when using Varnish double check for undefined variables in Magento code 😉