2

I am attempting to update my Drupal 8.2 instance to Drupal 8.6.4. I have faithfully followed the manual installations steps found here https://www.drupal.org/docs/8/update/update-core-manually.

I replace the core and vendor folders and replace all the files in the root with the 8.6.4 files. I rename the 8.6.4 defaults.settings.php file to settings file, move my unique settings into that file and upload it to sites/default. I then visit update.php, but I get stuck at the requirements stage.

There is an error saying "Requirements Problem: Check the messages and try again." There are, however, no messages.

enter image description here

I'm happy to keep troubleshooting this but I need to know where I'm going wrong. How can I discover what the Requirements Problem(s) are?

Some Other Details

  • Both the database and the Drupal server are running in a AWS VPC.
  • The server is a linux machine: VERSION="16.04.5 LTS (Xenial Xerus)
  • Drush is not working or installed. The original sysadmin didn't install it as part of the Drupal installation and I haven't added it since.
  • Composer is installed but I've never used it to manage Drupal versions or dependencies.
  • Drupal is behind an nginx reverse-proxy. I have the made allowances for Drupal in the nginx conf file as recommended here: https://www.nginx.com/resources/wiki/start/topics/recipes/drupal/. Mostly just this rule location ~ '\.php$|^/update.php' {...}
  • There are other non-Drupal tables in the same DB that Drupal uses.
  • Drupal tables are prefixed: drupal_
  • We use drupal in a headlessly. A separate Node.js app interacts with Drupal via Drupal Rest routes and is also connected to the same DB as Drupal.

Issues I've already resolved

  • Missing sourcecode for hello_world module. Removed hello_world from Drupal table: drupal_key_value
  • $settings['update_free_access'] = TRUE;

Things I've tried:

  • checking the apache2 error logs. No errors thrown.
  • checking the apache2 access logs. Just shows access to update.php

Let me know if I should post any more information. Also, if using drush or composer would help, I'm interested in getting those going on my site anyway, and would be happy to install them. In summary, during a Drupal 8 upgrade, Drupal complains about Requirement Problems but never lists them. How can I discover what the Requirements Problem(s) are?

  • 1
    Going from 8.2 to 8.6 is a big jump. Kind of like going from Unbutu 12 to 18. I would do it in major revision steps. E.g. 8.2 to latest 8.3 / run update.. repeat with latest 8.4 and so on. Also, you may need to make sure the process does not change any directory rights, e.g. files not becoming R/O and the like. – CG Monroe Dec 11 '18 at 19:08
  • I haven't tried stepping through the versions yet. I'll do that next. I agree about the directory rights, too. How would you recommend that I monitor the directory rights as I step through the versions? There are only two users on the machine, root and a user account called ubuntu. – Tony Stecca Dec 11 '18 at 19:19
  • CG, I just installed 8.2.0 and it worked. I'll try walking through the versions.Thank you so much. – Tony Stecca Dec 11 '18 at 19:53
  • I thought I'd circle back on this issue. It was definitely the big jumps I was trying to do. I progressively updated each minor version from 8.0 to 8.6 and then to 8.6.10 and everything worked. My site is up-to-date. Thanks for the help. – Tony Stecca Mar 1 at 14:43
0

Since the database information was transferred into a new settings.php file instead of keeping the old one, it is possible that the the custom value for the path to the synch configuration directory is not found.

Reference: Upgrading Drupal

Look for the code:

$config_directories['sync'] = 'sites\default\files\your-config-folder

in the settings.php file & update it to match the address on your web server.

"This solution worked for me. In order to find that config_gobblygook, I looked in docroot/sites/default/files and in there is a folder named config_ and then a whole bunch of letters and numbers. I copied that full name and then inserted it into line 247 of the settings.php file."

The same problem is described here with a similar solution.

Related:

Otherwise make sure the most recent nginx.conf file for Drupal is in use, as there have been changes to that to fix the update.php issue. See:

  • 1
    Thanks scriptbox, I just copied the $config_directories setting right over. In the settings.php file path is set to sites/default/files/config_###BIGHASH###/sync. That directory still exists on the server. It's full of .yml files. Does that sound right? – Tony Stecca Dec 11 '18 at 19:31
0

The problem was trying to update from 8.0 to 8.6 directly. Update each minor version sequentially from 8.0 to 8.6 and then to 8.6.10. That will work.

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.