4

I've removed a module:

  • Deleted the files under app/code/community
  • Deleted the xml file from app/etc/modules
  • Removed the entry from the core_resource table
  • Deleted all entries under app/design that relate to the module
  • Deleted all files under var/cache

Below is the error I'm getting that is stopping me from accessing any interface for the site.

Warning: include(Pulsestorm/Better404/Model/Observer.php): failed to open stream: No such file or directory  in /var/www/vhosts/mysite.co.uk/httpdocs/releases/20141009070627/lib/Varien/Autoload.php on line 93
4

The only way a class would attempt to be loaded would be,

  1. The mode is enabled
  2. The config.xml for the file still exists
  3. The config cache has not been refreshed
  4. Compiler is enabled and not rebuilt following module removal
  5. Another class extends /rewrites the class (check var/ait...)
  6. Another class is loading the class by name (in this case it would look in Mage/... - so not the case)

Given your directory structure contains different releases, it sounds like you've deleted the wrong files in the wrong folder by mistake.

That, or you aren't using file based caching, so removing var/cache has had no effect and that you need to empty whatever you defined in your local.xml.

If you are using Aitoc modules, they auto rewrite and cache in var/ait - you can remove this folder safely.

| improve this answer | |
  • The releases folder is created by Capistrano, our deployment platform. The files have been removed locally, everything committed to the repository and then Capistrano deploys based upon the latest commits in the repo. The latest release directory (in this case 20141009070627) is symlinked to a current directory so I know it's correct in this respect. I'll check the rest of the things you mentioned thought. – Dan Hanly Oct 9 '14 at 8:08
  • 1
    It was point 3 - I managed to clear the config cache without the use of the interface by using this following gist: gist.github.com/colinmollenhour/2715268 now all is well. Thanks for your help! – Dan Hanly Oct 9 '14 at 8:31
0

Another possible reason that actually happened to me:

  • A product attribute was created using as a backend model a class from the deleted module.

In that case, you'll need to delete the attribute.

| improve this answer | |
0

usually caused by incomplete module removal by composer,

check following files

vendor/composer/autoload_psr4.php
vendor/composer/autoload_files.php
vendor/composer/installed.json
vendor/composer/autoload_static.php
| 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.