Just tried to apply the latest updates for both Admintools and Backup... Both fail with the below error.
Class 'FOF40\Container\Container' not found
NOTE: Just moved the site from Joomla 3.9.24 to 3.9.25 today.
Thx,
-k
Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.
Latest post by nicholas on Wednesday, 03 March 2021 00:07 CST
Just tried to apply the latest updates for both Admintools and Backup... Both fail with the below error.
Class 'FOF40\Container\Container' not found
NOTE: Just moved the site from Joomla 3.9.24 to 3.9.25 today.
Thx,
-k
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:
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.
The problems typically manifest themselves as an error similar to the following:
Here is how to solve this:
administrator/components/com_akeeba/BackupEngine/serverkey.php
administrator/components/com_akeeba/backup
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 have Admin Tools continue reading below. Otherwise skip over the Admin Tools section and go to the FOF 3 & 4 sections.
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
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:
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.
fof
extracted from the archive. Rename it to fof30
.fof30
folder into your site's libraries
folder so now you have a libraries/fof30
folder.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.
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:
Class 'FOF40\Container\Container' not found
There is a way to work around this.
fof
extracted from the archive. Rename it to fof40
.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.After doing that you may have to clear your server's PHP opcode cache (opcache) per the PHP opcache section in this reply.
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.
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.
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.
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!
Working hours: We are open Monday to Friday, 9am to 7pm Cyprus timezone (EET / EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets outside of our working hours, but we cannot respond to them until we're back at the office.
Support policy: We would like to kindly inform you that when using our support you have already agreed to the Support Policy which is part of our Terms of Service. Thank you for your understanding and for helping us help you!