Run Joomla 3.8.13 (updated from 3.8.12) on PHP 7.x (both 7.1 and 7.2) does not work, then instead of showing a frontend, an error page with error code 0 and error message "Using $this when not in object context" is shown.
To fix it edit in CMSApplication.php
the method
public function getMenu($name = null, $options = array())
and replace
$options['app'] = $this;
by
$options['app'] = \JFactory::getApplication();
One can open the frontend page
error page with message "Using $this when not in object context" is shown.
Swithching PHP version to 5.6 "fixes" the error.
It is clearly not a template - tried also a default joomla template -> same issue.
But I will double-check the code and look for the calls such "JSite::getMenu()" or "JApplicationSite::getMenu()"
This is most likely to be your template OVERRIDES.
Joomla 3.8.13 is fully compatible with all PHP 7.0 7.1 7.2 and 7.3RC1 versions.
I am closing this as a non core joomla issue
Status | New | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2018-10-15 08:29:26 |
Closed_By | ⇒ | brianteeman |
Duplicate of #22597. The issue is in 3rd party extension or template. Update your extensions or enable debug to see where the error is coming from and follow #22597 (comment) to fix it.