{"id":530,"date":"2026-06-25T17:58:21","date_gmt":"2026-06-25T21:58:21","guid":{"rendered":"https:\/\/wfredk.com\/blog\/?p=530"},"modified":"2026-06-25T17:58:21","modified_gmt":"2026-06-25T21:58:21","slug":"my-blog-has-finally-fully-recovered","status":"publish","type":"post","link":"https:\/\/wfredk.com\/blog\/2026062517\/my-blog-has-finally-fully-recovered","title":{"rendered":"My blog has finally fully recovered :)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">One way or another my blog has been broken to some degree for a couple of months.  It&#8217;s not the blog&#8217;s fault &#8211; the ground was changed underneath its feet, and the building it lives in was reconstructed, altering all of the door and window locations.  (Metaphorically speaking, of course&#8230;)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">More than half of my sites had been running on a CentOS 5 VPS for almost 20 years.  (ChatGPT described the system as &#8220;museum grade obsolete&#8221; &#8211; which was &#8220;a little&#8221; too close to true.)  In the middle of April I undertook moving everything from that server to a much newer environment.  When I started, I had the &#8220;extremely&#8221; optimistic expectation it would take a day or two to make the swap.  Reality, however, had other plans.  After a grueling 3 weeks of working days, nights, weekends and most of  everything between, I&#8217;d finally gotten all of the functionality moved and the migration complete late in the afternoon of May 6.  I notified the the hosting service they could shut down the old VPS, which I strongly suspect was the one remaining instance of CentOS 5 they had been needing to keep running.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There were some hiccups in moving this site and my blog, but it was working happily on the new server &#8211; accessible using HTTP only:  I hadn&#8217;t set up SSL certs and all in moving any of the sites from the old VPS to the new one, everything was carried over as-is.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Being able to change my sites from HTTP to HTTPS was <em>one<\/em> of the big reasons for moving to a newer operating system, and changing <strong><em>all<\/em><\/strong> of my sites to HTTPS was done in just a few days.  It almost seemed <em>too<\/em> easy &#8230;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Meanwhile, the laptop I&#8217;ve been doing most of my work on, where I&#8217;ve got just about everything installed and properly configured, started being more and more unreliable.  The BSOD rate started climbing from where it had been 2-5 weeks between crashes &#8211; and when I&#8217;d had three bluescreens in two days, I <strong><em>had <\/em><\/strong>to stop to deal with the problem.  I replaced the graphics drivers.  That helped &#8211; or did it?  I replaced the disk drivers.  That seemed to make more of a difference &#8211; for a short time.  I&#8217;d at least been able to get a little work done in those two weeks &#8211; but then another BSOD stopped me again &#8211; and hours later, I ended up disabling everything that might launch <code>DeFrag.exe<\/code>.  winDoze started behaving properly until I used NoScript to disable Amazon&#8217;s JavaScript (20% CPU) in one Firefox tab, then went to refresh another Amazon tab (so it would know JS had been stopped.)  As the screen went dark before turning the all-too-familiar shade of blue, I thought to myself &#8220;I shouldn&#8217;t have just done that right then &#8230;&#8221;  At least I knew where <em>that <\/em>problem came from.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>As if <\/em>I didn&#8217;t have enough to keep me busy, I needed to install PHP-FPM on the new server so I could simultaneously have the current version of PHP available for new software, and the &#8220;older&#8221; version needed by a large part of the massive PHP code base I&#8217;ve built up over the past few decades.  Getting the extension working &#8220;properly&#8221; had been a required part of the migration that I had done on May 6, so I should be all set, right?  Wait, what does &#8220;<code>Primary script unknown<\/code>&#8221; mean in the error log?  What primary script?  &#8230; and when there&#8217;s an error saying &#8220;<code>Undefined variable: ... in ... on line 74<\/code>&#8221; <em>how did that happen <\/em>&#8211; who called that script, what parameters were passed in the original request?  I ended up spending a week and a half exploring the PHP-FPM source code and building a new version of the package on my server that has reasonable error reporting that is now a diagnostic tool rather than noise &#8211; but another big chunk of time had gone by.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I was wrapping up something else when I happened to pass by my blog here and discovered it had pretty much become completely broken.  A few other fairly serious problems had also come up on the rest of the site.  I&#8217;ve become quite anxious to get back to being focused on the higher priority work I&#8217;ve got &#8220;on the stove,&#8221; but investing &#8220;a little&#8221; time to get my &#8220;Internet Home&#8221; into order seemed like a good idea.  It&#8217;s now about 26 hours of wall clock time later, but I&#8217;ve now gotten to where I can say &#8220;<em>wfredk.com and its blog are now presentable enough that I can leave further work until &#8216;later&#8217;<\/em>&#8221; and I can close the book on this chapter.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The patient is being discharged from the hospital and can go home to return to normal life.<br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>One way or another my blog has been broken to some degree for a couple of months. It&#8217;s not the blog&#8217;s fault &#8211; the ground was changed underneath its feet, and the building it lives in was reconstructed, altering all of the door and window locations. (Metaphorically speaking, of course&#8230;) More than half of my [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,14],"tags":[],"class_list":["post-530","post","type-post","status-publish","format-standard","hentry","category-progress-reports","category-web-development"],"_links":{"self":[{"href":"https:\/\/wfredk.com\/blog\/wp-json\/wp\/v2\/posts\/530","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wfredk.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wfredk.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wfredk.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wfredk.com\/blog\/wp-json\/wp\/v2\/comments?post=530"}],"version-history":[{"count":1,"href":"https:\/\/wfredk.com\/blog\/wp-json\/wp\/v2\/posts\/530\/revisions"}],"predecessor-version":[{"id":531,"href":"https:\/\/wfredk.com\/blog\/wp-json\/wp\/v2\/posts\/530\/revisions\/531"}],"wp:attachment":[{"href":"https:\/\/wfredk.com\/blog\/wp-json\/wp\/v2\/media?parent=530"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wfredk.com\/blog\/wp-json\/wp\/v2\/categories?post=530"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wfredk.com\/blog\/wp-json\/wp\/v2\/tags?post=530"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}