Class not found errors usually come from autoloading, namespaces, missing files or case-sensitive deployment differences.
Symptoms
- PHP fatal error says Class not found.
- It works locally but fails on Linux production.
- Composer package was installed but the class is unavailable.
Likely causes
- Namespace does not match directory or file name.
- Composer autoload files are stale.
- File case differs between macOS/Windows and Linux.
- Deployment skipped vendor or generated files.
Fix steps
- Check namespace and use statements.
- Run composer dump-autoload.
- Verify file names match class case exactly.
- Clear framework caches after deployment.
Verify the fix
- Run a minimal PHP script that references the class.
- Check composer.json autoload rules.
- Deploy vendor files or run composer install on the server.
FAQ
Why only on production?
Linux file systems are usually case-sensitive, while local development may hide case mismatches.
Can opcache cause this?
Stale caches can contribute after deployment. Clear relevant caches after fixing files.
Related tools and guides
Last updated: May 18, 2026