I am working on a magento site for a client, just small finishing changes, nothing more.
Work on the code was done, everything was working normally. I just had to change a translation and I decided to go search in the backend, if Magento had any tools for that (I don’t know much about magento yet, Joomla is my speciality).
Well, I think I found something (tab “translation” I think). I clicked “enable” and now the site displays errors.
Warning: include_once() [function.include-once]: Unable to access Mage_Core_functions.php
Warning: include_once(Mage_Core_functions.php) [function.include-once]: failed to open stream: No such file or directory
Warning: include_once() [function.include]: Failed opening 'Mage_Core_functions.php' for inclusion
Warning: include_once() [function.include-once]: Unable to access Varien_Autoload.php
Warning: include_once(Varien_Autoload.php) [function.include-once]: failed to open stream: No such file or directory
Warning: include_once() [function.include]: Failed opening 'Varien_Autoload.php' for inclusion
Fatal error: Class 'Varien_Autoload' not found
All this warnings and errors suddenly appeared in app/Mage.php
and the path these files should be located, doesn’t exist (/includes/src).
Nobody touched Mage.php and nobody deleted any files.
The strangest thing is that the site worked, we didn’t change any code, only enabled something in the backend. To be honest, I never expected such a crash, the only times that happens is if I mess with the code and in that cases I know exactly how to fix it, but here I’m completely clueless.
I really need help on this one 🙁
If anyone is struggling with this problem, here is the solution:
I enabled Magento’s Compilation feature, which is likely to break your page completely.
You can find the solution here:
http://www.magentoweb.com/component/content/article/95-turn-off-magentos-compilation-feature-through-phpmyadmin.html
basically you just have to open includes/config.php and put a # before every line. This way the constant won’t be defined and the page will work again.