I'm having a lot of trouble getting an error fixed on my Magento2 installation (version 2.2). It occurs when logging in at admin (backend) or at account login on the frontend. Please find below the entries in the log. Would anyone have a hint or clue how to solve this? Any help is highly appreciated.

Many thanks.


[Mon Nov 06 04:24:18.998328 2017] [proxy_fcgi:error] [pid 30863:tid 139625581967104] [client xx.xx.xx.xx:51374] AH01071: Got error 'PHP message: PHP Fatal error: Uncaught Error: Class 'Zend\Db\Sql\Expression' not found in /var/www/webdir/html/vendor/magento/module-captcha/Model/ResourceModel/Log.php:82\nStack trace:\n#0 /var/www/webdir/html/vendor/magento/module-captcha/Model/DefaultModel.php(345): Magento\Captcha\Model\ResourceModel\Log->logAttempt('john')\n#1 /var/www/webdir/html/vendor/magento/module-captcha/Observer/CheckUserLoginBackendObserver.php(61): Magento\Captcha\Model\DefaultModel->logAttempt('john')\n#2 /var/www/webdir/html/vendor/magento/framework/Event/Invoker/InvokerDefault.php(72): Magento\Captcha\Observer\CheckUserLoginBackendObserver->execute(Object(Magento\Framework\Event\Observer))\n#3 /var/www/webdir/html/vendor/magento/framework/Event/Invoker/InvokerDefault.php(60): Magento\Framework\Event\Invoker\InvokerDefault->_callObserverMethod(Object(Magento\Captcha\Observer\CheckUserLoginBackendObserver), Object(Magento\Framework\Event\Observer))\n#4 /var/www/webdir/html/vendor/mag...\n', referer: https://www.webdir/admin/admin/index/index/key/11a9fc911e4a89d53e03d14a32dbcd76a057cfdf642ce2af4526fe4cc9339542/

1 Answer 1


It says it doesn't find your Zend\Db\Sql\Expression class which is located in your


Reasons why it can't find that :

  1. File does not exist. Possible solution : Run composer update
  2. If it does exist it has not reading permissions -> Possible solution : fix permissions

Let me know if any of these work.

  • TY for the quick response. The entire folder vendor/zendframework/src is missing (???). Could it have to do with the fact I updated composer.json and changed minimum-stability": "stable" to minimum-stability": "dev" then ran composer update and then halfway interrupted the process, changed back to minimum-stability": "stable" and then ran composer update again?
    – Ultrazeus
    Commented Nov 6, 2017 at 9:21
  • Issue is fixed. I changed "minimum-stability": "stable" in composer.json to "minimum-stability": "dev", ran composer update. Changed it back to "minimum-stability": "master" and then ran composer update again.
    – Ultrazeus
    Commented Nov 6, 2017 at 10:23
  • Ok. If you found my answer helpful please press that answer button Commented Nov 6, 2017 at 14:13
  • I already did earlier but I get this message: Thanks for the feedback! Votes cast by those with less than 15 reputation are recorded, but do not change the publicly displayed post score.
    – Ultrazeus
    Commented Nov 7, 2017 at 15:47

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.