I'm currently using Craft CMS 3.7.9. When I go into Utilities -> Updates (which shows a 5 so there must be updates), a red message appears at the top that says "A server error has occurred" and nothing else loads up on the page besides the spinner graphic. In the console, I see a 404 error for "/index.php?p=admin/actions/app/cache-updates:1".

According to the documentation, I should be able to download the latest version of Craft CMS and install it manually by replacing the /craft/app/ folder. However, when I log in to the server via FTP, I see neither a /craft/ nor an /app/ directory anywhere. In the server root all I see is cache, config, etc, hold, logs, mail, modules, perl5, public_html, ssl, storage, templates, tmp, vendor, and web. No /craft/ or /app/ directory exists within any of them.

Edit: I see the documentation linked above is for versions 2.x. The 3.x documentation indicates I can update via command line, which I don't have access to.

Does anyone know how to resolve the error I'm seeing on the Updates page? Your help is greatly appreciated.


1 Answer 1


In Craft 3 and upwards you should have a vendor folder that is created and updated with composer. You would do the update locally (I recommend docker and ddev), which will update composer.json, composer.lock and the files in the vendor folder. You can do this update via command line (which will be easily accessible if you use ddev) or in the backend.

If you update via FTP, make sure that you replace composer.json and composer.lock and the vendor folder on the server. That should update Craft. After you replaced them, you might need to migrate the database. You can do this by going to the backend (if you have no access to a command line).

In your concrete case I'd do the following:

  • download a database backup from the Utilities Section
  • download the whole project via FTP (if you do not have access to a Git Repository)
  • make the project run locally with ddev
  • import the database you downloaded before into the database created by ddev
  • do the update locally via the command line (ddev craft update all)
  • test if everything works fine
  • upload composer.json, composer.lock and vendor folder via FTP
  • Thank you for the information. I'm going to give this a try today and will report back.
    – Jake1293
    Commented Dec 30, 2023 at 13:35
  • Did it work @Jake1293? Commented Jan 9 at 13:10
  • Unfortunately, it did not. I tried updating the local site and it led down a rabbit hole of errors. Resolving one would only lead to another, and all of them led to a broken site. :(
    – Jake1293
    Commented Jan 12 at 13:03

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.