Solving array_merge Argument #2 on load.php line 63 on SiteGround

Occasionally I post technical stuff to the blog if I think I can share a helpful tip for people facing a problem I’ve solved. Pardon the techno-babble :)

The Error Message

Today, a client of mine using my favorite host SiteGround ran into the following issue. They had a error message suddenly showing on their home page that wasn’t there before. It was something like this (though I’ve changed it for their privacy):

Warning: array_merge(): Argument #2 is not an array in /home/anotherfolder/public_html/example.org/wp-includes/load.php on line 63

I found a lot of people on the WordPress forums who seemed to have the same issue—same file and line number—in the past few months.

My Solution

There are almost certainly multiple causes of this error, but here’s what worked for me.

The website had previously been on Bluehost before moving to SiteGround. Whoever moved the site left behind a php.ini file in the “root” website directory with some special server rules regarding server memory and timeouts.

Fix: Rename php.ini to php.ini.BCK

Renaming the php.ini file in the “root” directory of the site fixed the issue.

More specifically, php.iniis a special configuration file for servers. I wanted to test removing it without risking problems I couldn’t undo, so I simply renamed it to php.ini.BCK (short for “backup”). I then refreshed the page, and *poof*, my errors disappeared. Happy client! If that change broke the site, I could have just named the file back to php.ini and looked for a different fix.


I hope this post solves your hosting issue. If it saves you an hour or a day, please consider buying me a coffee or beer! ☕🍺

Posted on Categories Miscellany

39 thoughts on “Solving array_merge Argument #2 on load.php line 63 on SiteGround”

  1. Mark – I just got this same problem on one of my sites that I just transferred to SiteGround. I renamed that php.ini file just as you recommended and VOILA – fixed. Awesome. Thanks for posting this! Really appreciate it!

  2. Ok, this is the first time in my life that I’ve even left a message in a blog post. Thank you SO much! it worked out perfectly :)

  3. Thanks for this post.

    I’ve got the same issue in my end, a client of mine is having the same error message when trying to purge the SG cache and some functionalities are not working like OptimizePress isn’t loading. I’ve tried copying the website to another Siteground server but the copied website is working perfectly there.

    So I reached out to support and asked to look for the php version and they’ve upgraded the php version to 7.2 and everything works perfect now.

    1. OH, wow, thanks for pointing that out. I was pulling my hair out, but that is where mine was as well!

  4. This also worked for me however I hadn’t recently moved to Sitepress, the website has been on SG since 2016 and has only just started causing this issue. It was pretty serious because it was preventing WP Admin login. Thank you!

  5. An error like this usually kills at-least half a day of your time to figure out a solution. But thank to you. As soon as I Googled the error name your link was the first to pop-up and the solution you offered was an instant fix.

    Thank you so much.

  6. Thank you, Mark. Your solution worked perfectly, exactly as written. Appears to have resolved some other issues and quarks with this install, too. Also using SiteGround. Thank you for posting!

  7. Thank you for the post. What’s odd about this issue is that I’ve had this custom php.ini file in multiple sites for a while now in SiteGround and only this evening did it give me issues. Any idea why?

    1. I’m not quite sure why that would happen. Is it possible you upgraded your version of PHP or turned on a feature that impacts the server like caching just before this happened? I wouldn’t be shocked if this is only a problem on certain configurations, so that would be my guess.

  8. Thanks for posting this, Mark. This issues does seem pretty common, unfortunately. But, your post seems to be the only one that addresses this unique problem and offers a simple solution. Kudos for taking the time to post and saving me and others a lot of stress & hassle.

    The only suggestion I have is that people should be aware of what’s in their php.ini file before chucking it or renaming it. For example, I’m pretty sure that in my case, there were two lines in my php.ini that caused error.

    zend_extension=/usr/local/php56/lib/php/extensions/ioncube.so
    zend_extension=/usr/local/php56/lib/php/extensions/ZendOptimizer.so

    The only other line in my php.ini was

    max_execution_time = 200

    So, my long-term fix was to delete my php.ini and move the max_excecution_time setting to my .htaccess file.

    So, just a word of caution that if your site need settings in your php.ini file and you remove/rename the php.ini to fix the Warning:array_merge() error, you might experience some run-time issues because of this.

    enjoy!

    1. Hey Mark, thanks for your insights, my php.ini contains the following:

      memory_limit = 256M
      upload_max_filesize = 40M
      max_input_vars = 4000
      post_max_size = 25M
      zend_extension=/usr/local/php70/lib/php/extensions/ioncube.so
      zend_extension=/usr/local/php70/lib/php/extensions/ZendOptimizer.so

      I’m not a WordPress pro, but are the above essential for my website? if yes, should I simply copy them to my /.htaccess file?
      (there’s a few of the .htaccess files too, but im guessing you meant just “/.htaccess”)

      Would really appreciate your reply!

      1. Hi Shabazz, I’m glad you found this post so useful. I don’t know for sure, but the likely problem are those two lines starting with “Zend”. Back up your file and then try removing only those two. I suspect you’ll find the site works. If not, you’ll need to specifically review SiteGround’s instructions for increasing memory limit and file size.

        Btw, the maxinputvars is a pretty unusual rule. If you’re not sure why it’s there, I’d see if the site works without it.

  9. Just like magic! Like everyone else, I moved from Bluehost some time ago, cleared my cookies and then the error message started showing. This was the fix. Thank you!

  10. My issue was on Siteground too. I didn’t have the php.ini file in root. I renamed the htaccess file and rebuild it with a WordPress security plugin.

Join the Discussion

This site uses Akismet to reduce spam. Learn how your comment data is processed.