Hello,
Some people had a problem installing Akeeba Backup 8.0.0 or Admin Tools 6.0.0. We have released versions 8.0.1 and 6.0.1 which should address most of these problems, none of which was caused by the update in and of itself but were the result of:
- old plugins we have stopped shipping with our software between 1 and 8 years ago still being installed
- Joomla not installing / replacing all files during the update
- PHP opcode caching (opcache) causing problems after the update
We have also unpublished Akeeba Backup 8.0.0 and Admin Tools 6.0.0 to prevent you trying to use the update without the workarounds.
However, no solution is absolutely perfect. With our software being used in hundreds of thousands of sites you may still run into a problem such as using an update method which still uses the x.0.0 version, the obsolete plugins' files not being removed due to any number of hosting and Joomla related issues, hitting the occasional Joomla bug which executes a partial update, your host not allowing PHP scripts to reset the opcache etc.
The combination of issues outside or control persisting despite anything we can reasonably do, the fact that these new versions are a big update compared to the previous versions and the fact that our software is essentially system software mean that any issue outside our control may result in what appears to be a broken site. This does not happen very frequently; we have updated dozens of sites without a problem already. However, with an impossibly large number of server environments, site development/migration/update histories and the weird Joomla issue that only happens sometimes you may have been hit by an issue during the update.
The following is a COMPREHENSIVE manual workaround to EVERY issue we have seen so far. Please follow it to the letter even if you think something is unnecessary.
Akeeba Backup
The problems typically manifest themselves as an error similar to the following:
- Argument 1 passed to FOF30\Platform\Joomla\Platform::__construct() must be an instance of FOF30\Container\Container
- Class FOF30\Container\Container not found
Here is how to solve this:
- Make a copy of the file
administrator/components/com_akeeba/BackupEngine/serverkey.php
- Move the folder
administrator/components/com_akeeba/backup
- Delete the following folders (not all folders may exist on your server):
administrator/components/com_akeeba
components/com_akeeba
plugins/actionlog/akeebabackup
plugins/console/akeebabackup
plugins/installer/akeebabackup
plugins/quickicon/akeebabackup
plugins/system/backuponupdate
plugins/system/akeebaactionlog
plugins/system/akeebaupdatecheck
plugins/system/aklazy
plugins/system/srp
- If you still cannot access your site's backend go to the Admin Tools section of this reply, follow its instructions and come back here.
- Download the latest version of Akeeba Backup from our site's Downloads page
- Go to Extensions, Manage, Install and install Akeeba Backup, twice in a row, without uninstalling it before or in between.
- Replace the file
administrator/components/com_akeeba/BackupEngine/serverkey.php
with the one you made a copy of in the first step.
- Replace the folder
administrator/components/com_akeeba/backup
with the one you moved in the second step.
If you have Admin Tools continue reading below. Otherwise skip over the Admin Tools section and go to the FOF 3 & 4 sections.
Admin Tools
- Delete the following folders (not all folders may exist on your server):
administrator/components/com_admintools
components/com_admintools
plugins/actionlog/admintools
plugins/installer/admintools
plugins/system/admintools
plugins/system/atoolsjupdatecheck
plugins/system/atoolsupdatecheck
plugins/system/oneclickaction
- Download the latest version of Admin Tools from our site's Downloads page
- Go to Extensions, Manage, Install and install Admin Tools, twice in a row, without uninstalling it before or in between.
FOF 3 was uninstalled but it's still required
Our software released between mid-2015 and February 2021 inclusive was using version 3 of our FOF backend framework. Software released on and after March 2nd, 2021 is using version 4 of the framework.
Since FOF might be used by multiple extensions, either our own or third party, we check if any extension has been marked as dependent on FOF 3. If none is marked as such we uninstall FOF 3.
This might be a problem in the following cases:
- You have used Discover & Install to install an extension depending on FOF 3.
- You are using a third party extension which does not mark itself or its sub-extensions (plugins, modules etc) as dependent on FOF 3.
In these cases the dependency is not marked in any way and there is no way to know that a FOF 3 dependent extension is installed on your site. As a result FOF 3 might be removed when it's actually needed. You will very likely see an error message saying that a class is missing whose name starts with FOF30\
.
In order to gain access back to your site do the following.
- Download the latest version of FOF 3.x from our site's Downloads page. Please note that this is a THREE, not a FOUR.
- Extract the ZIP file.
- There is a folder named
fof
extracted from the archive. Rename it to fof30
.
- Upload the
fof30
folder into your site's libraries
folder so now you have a libraries/fof30
folder.
Please note that there might be other folder with similar names in there such as fof, f0f, fof40. DO NOT REPLACE OR DELETE THESE OTHER FOLDERS. The folder fof is part of Joomla 3; if you remove it your site WILL break. The folder f0f is a very old version of our framework used by third party extensions; removing it will most likely break your site. The folder fof40 is FOF 4, used by versions of our software released after March 2nd, 2021; removing it WILL break your site.
- Do NOT try to install the FOF 3.x ZIP file you downloaded in a previous step. This would cause the next time a FOF 4 extension is installed to remove the
libraries/fof30
folder again and you'd need to repeat these instructions.
After doing that you may have to clear your server's PHP opcode cache (opcache) per the PHP opcache section in this reply.
FOF 4 was not installed fully or at all
Our software released between mid-2015 and February 2021 inclusive was using version 3 of our FOF backend framework. Software released on and after March 2nd, 2021 is using version 4 of the framework.
There is a long-standing Joomla issue which may prevent the new version of an extension, such as FOF, to be installed fully or at all. It happens rarely but with thousands of sites using our software it's an issue we see every time we publish a new release.
This will usually manifest itself with an error similar to:
There is a way to work around this.
- Download the latest version of FOF 4.x from our site's Downloads page. Please note that this is a FOUR, not a THREE.
- Extract the ZIP file.
- There is a folder named
fof
extracted from the archive. Rename it to fof40
.
- Upload the
fof40
folder into your site's libraries
folder so now you have a libraries/fof40
folder. If there was already a folder by that name, overwrite it.
Please note that there might be other folder with similar names in there such as fof, f0f, fof30. DO NOT REPLACE OR DELETE THESE OTHER FOLDERS. The folder fof is part of Joomla 3; if you remove it your site WILL break. The folder f0f is a very old version of our framework used by third party extensions; removing it will most likely break your site. The folder fof30 is FOF 3, used by versions of our software released before March 2nd, 2021 and third party extensions; removing it will most likely break your site.
After doing that you may have to clear your server's PHP opcode cache (opcache) per the PHP opcache section in this reply.
PHP opcache
Many servers use PHP's opcode cache to speed up the site. PHP is an interpreted language. The source code of every .php file needs to be read, parsed, converted into an intermediate binary representation called "opcode" and then executed. The read, parse and convert stages take a lot of time. The PHP opcode cache stores the opcode representation of files in memory to speed up your site.
However, when you are updating software on your site the opcode may not be cleared (we do try to clear it in the post-installation script of our software but whether this words depends on your server). If it's not cleared your site "sees" the old version of the file. When this happens right after an update the result is that the cached version of the file is out of sync with the rest of the site, similar to what would have happened if the extension failed to update correctly.
In this case you need to ask your host to reset the PHP opcode cache after updating our software.
FEF was not upgraded to version 2 fully or at all
Our software released between 2017 and February 2021 inclusive was using version 1 of our FEF frontend framework. Software released on and after March 2nd, 2021 is using version 2 of the framework.
There's an issue with Joomla which happens rarely and which results in Joomla not replacing all of the files when performing an update.
You can verify this is the case by opening the file media/fef/fef.php and checking if the line
public static function loadCSSFramework(bool $withReset = true, bool $dark = false)
is present in the file. If not, you've been hit by this Joomla issue and need to work around it manually.
- Download the latest version of FEF from our site's Downloads page.
- Extract the ZIP file.
- Upload all extracted files and folders into your site's
media/fef
folder, overwriting existing files and folders by the same name.
After doing that you may have to clear your server's PHP opcode cache (opcache) per the PHP opcode section in this reply.
Out of date template overrides
This only applies if you have problems in the frontend of your site, you are using one of our extensions with a frontend part (e.g. Akeeba Ticket System, LoginGuard etc) and you have done template overrides to style it.
Please note that the new versions of our software may have changed the view template files you used to create your template overrides or changed their names. Please review your template overrides. This is especially important when you are upgrading to a new minor or major release of our software, i.e. the first or digit before the second or first dot in the version number respectively has changed compared to the previous version of our software you had installed on your site.
Nicholas K. Dionysopoulos
Lead Developer and Director
🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!