Turns out: Problems stack

We’ve all been there: Get asked to do something or check something and the problem that you discover is quite straightforward. X is not working.

In this case it was a wordpress site, client sends us a request and a screenshot, they can’t access their back end of the website, I’d include the screenshot but it was a blank webpage with the address in the bar at the top and that was it.

Now some wordpress dev’s know this as the “White screen of death” Basically there is a fata error somewhere and yuo have to find it. The list of fixes is relatively short, recreate the database, disable plugins, disable the theme, copy in a fresh version of wordpress. All straightforward stuff….

Except none of that worked. So, the big guns come out and as follows: Copy everything into local and try again…. Updated WordPress and everything, got a fully working version on local (With the correct admin set up) And voiala, push it live and…. Broken… Worse than before.

Well there is some upsite, we now have errors! Some people think errors are bad, but errors are the first indication of WHERE to look. there was just one problem: The error? “Not found” According to the website the folder “wp-admin” didn’t exist, except it did, I was looking at it, I’d installed it, there it sat in front of me on the FTP client I was using.

After 3 days of hair pulling, screaming and many smoke breaks later. I found the conclusion… I copied the email below that I sent out when it was done. Obviously I changed the names of hosts and things, Enjoy:

It started as a PHP update on the host, the new PHP has certain commands that instead of returning “Null” and not having errors it now throws an error and crashes the website.

This new PHP version change would have been fine EXCEPT web browsers now force https which cause the server to redirect to https://example.com instead of http://example.com

Again this would be fine, except without proper DNS settings and an SSL certificate your browser would redirect to the mail-admin logins for the email server that serves example.com which had the SAME web address.

This meant that when a user tried to access example.com/wp-admin to login to the backend you were trying to login to the wordpress backend of the mail server, which didn’t exist.

To fix the system: We implemented a proper SSL certificate for both website and the mail server web addresses, we used a DNS to separate the addresses and made sure that when one user wants to access one or the other their browser no longer gets confused and redirects to the wrong website.

We then updated some of the plugins to work with PHP7.2, less error codes now, and made small changes to the files that we can’t update without breaking anything.

And there it was, the issue was not with wordpress at all, it was an SSL certificate and and proper DNS.

Just goes to show, keep zooming out until you see the whole picture.

Leave a comment