Hmmm, I will have to look into that. I just started using proxysql, becauase that was allowing me to send individual SQL queries to different databases for my region based customers, and to host that data locally to that user.
I will definitely look into HAproxy, Galera and the Kub Loadbalancer.
I am still getting this error, even after the upgrade. I am getting this error while viewing a custom component.
Line 38 is:
if ($grouprules = array_filter((array) $this->params->get('grouprules', array()), array($this, 'filterGroup')))
$firstrule = array_shift($grouprules);
$this->doredirect = $firstrule->homepage;
There were some pretty specific things I had to do because I was running http internally and https externally. There are some specific headers to be sent in order to get Joomla to talk http, while pretending it's https.
Anyway, what is the specific error you're getting on line 38? Originally it was "property 'id' of a non-object" but there is no reference to ID in line 38. It must be a new/different error.
Are you running PHP OPCache? A lot of sites suggest turning off mtime checking in PHP config, but that requires a restart of PHP-FPM in order to refresh the OPCache.
2019/06/20 12:23:55 [error] 6145#0: *588 FastCGI sent in stderr: "PHP message: PHP Notice: Trying to get property 'id' of non-object in /plugins/system/nomadpro/nomadpro.php on line 38" while reading response header from upstream, client: X.X.X.X, server: trifectabillingengine.com, request: "POST /index.php?option=com_billingengine&task=BillingEngine.getBoundData HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "trifectabillingengine.com", referrer: "
OK, the nearest code that uses the ->id property is line 27. Looking at your error message (specifically, the URL where it occurred), it looks like a direct component URL (no menu item associated with it).
I looked over the Joomla documentation for JMenu documentation and found that when requesting the current item from JMenu, if it doesn't exist - JMenu returns a boolean TRUE instead of an object (I would prefer a false, but whatever). So when the test occurs on that page, the id property doesn't exist for $this->current....
That's the theory anyway.
Try editing line 27 to look like this:
if (!$this->_run() || is_bool($this->current) || $this->current->id != $this->home->id)
All I did was add an "is_bool()" test. Let me know if that fixes it.