I finally found a fix, that works for me and perhaps might for you.
Basically, 4.9 onwards requires loopback to the server. This is required to ensure any code changes don’t break the site. i.e. if WP determines that a code change is deemed to break the site, WP will revert back to the previous version of the changed code, thus not allowing broken code on the site, to ensure it keeps running (thinking: better an old working site, than a new broken attempt). However, if WP can’t communicate back to the site (via loopback) it won’t be able to preform the code check and hence won’t allow code updates.
FYI, my approach was as follows:
1. Using the healthcheck troubleshooter I received this error message:
“The loopback request to your site failed, this may prevent WP_Cron from working, along with theme and plugin editors.<br>Error encountered: (0) cURL error 6: Could not resolve host: myHostName.com”
2. A quick google, to enable server loopback requests, led me to: https://www.digitalocean.com/community/questions/how-do-i-enable-loopback-connections-on-ubuntu-14-04
Which had determined there was an issue with the ‘/etc/hosts’ file!
3. I then simply added my domain to the localhost (127.0.0.1) and I no longer get the errors!
e.g. 127.0.0.1 myHostName.com
Unfortunately, I’m not sure how to apply this fix to shared hosting (maybe ask the hosting admins?), but if you’re on a VPS this might work for you.
Hope this helps someone