Fatal error: Uncaught ArgumentCountError: Too few arguments to function foo(), 1 passed and exactly 2 expected
A function was called with fewer arguments than it requires.
Seen on:
PHP
Meaning
Since PHP 7.1 missing required arguments throw ArgumentCountError. Common after adding a parameter to a function or constructor without updating every caller — including dependency-injection containers.
Common causes
- New required parameter added; old callers not updated
- Constructor injection missing a dependency
- Callback invoked with fewer arguments than it declares
⚡ Quick fix
- Update callers or give the new parameter a default value
- Register the missing dependency in your DI container
- Make callback parameters optional
Detailed fix by platform
PHP
- Search the codebase for the function name after changing a signature; PHPStan reports mismatched calls
How to diagnose
- Function — Name and expected count in the message
- Caller — The stack trace's next frame
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
Was this page helpful?
Report a correction or suggest an improvement
Last updated 2 Oct 2026