3

I went to System > Tools > Compilation and "enabled" before anything was actually compiled and my site returned this error:

Fatal error: Class 'Mana_Filters_Resource_Setup' not found in /home/kokorugs/public_html/store/includes/src/Mage_Core_Model_Resource_Setup.php on line 234

I did some research and believe my answer is below:

Judging by the include warning, it seems like you have the compiler enabled but it cannot find the (flattened) file.

So either disable the compiler:

php shell/compiler.php disable

Or run a compilation so that it will generate the file for you:

php shell/compiler.php compile

My question is:

Where do I enter something like php shell/compiler.php compile?

3 Answers 3

4

It is one of several Magento management scripts contained in shell/ and is to be run from the command line in an ssh session on hosting plans where ssh access has been allowed.

So you log in with a SSH client like putty, get a terminal window and cd to the Magento root directory.

Depending on how you installed Magento, this will be:

  • your web server document root (public_html, htdocs, or in rather unsophisticated and poorly setup hosting, your home directory)
  • a directory under your web server document root (for example, installed in a subdirectory called magento)

In the Magento root directory, you will see a subdirectory called shell

At the command prompt in the Magento root directory, enter your command string and press enter.

somebody@someserver$ php shell/compiler.php disable

0
3

First off don't sweat it. Everyone makes this mistake at some point. In the future you never want to use "Enable" but rather always use "Run compilation process" to be safe.

From this blog post on how to disable the Magento compiler, here are 4 different ways you can get it disabled:

  1. Login to your server using SSH and navigate into your root Magento directory (usually /home/{username}/public_html/ then type php shell/compiler.php disable. If you're not sure how to use shell you can do some googling or see step 4 below.
  2. Edit the includes/config.php and comment out both lines at the end of the file by placing a # in front of them like this:

    #define('COMPILER_INCLUDE_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'src');
    #define('COMPILER_COLLECT_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'stat');
    
  3. Login to the Magento admin and go to System > Tool > Compilation and click Disable

  4. If you're not sure how to use SSH, you can create a simple PHP file to run the proper commands for you. Simply create a php file like disable_compilation.php in your web directory (usually /home/{username}/public_html/ or /var/www/) and paste the contents below. After you have the file saved simply navigate to the file in your browser and it'll disable the compiler for you like www.yoursite.com/disable_compilation.php

    <?php
    echo system('php shell/compiler.php disable');
    ?>
    
0

Just in case this doesn't work, here is another option that I tried:

  1. Navigate to the root of your store and look for the "inlcudes" folder:

var/www/yourstorename/includes or however you have it structured.

  1. locate and edit the "config.php" file.

  2. Comment out the following line

define('COMPILER_INCLUDE_PATH', dirname(FILE).DIRECTORY_SEPARATOR.'src');

And your done

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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