We are officially advising all our users and customers to NOT upgrade to Joomla 1.5.16/1.5.17. The new Joomla release includes a auto-plugin disable feature which can lead to a site experiencing unexpected behavior or worst case the site could go down.
The auto-plugin disable feature was introduced to quote :
I’d like to try to write a patch to Joomla core so it doesn’t die with fatal error when it can’t include a plugin file (in other words: plugin exists in DB but filesystem entry is deleted).
Source : Graceful handling of missing plugins
The introduced solution for this problem is that Joomla 1.5.16 and 1.5.17 now disables any plugin that triggers an error during initialisation.
The behavior assumes that a plugin would always throw an error, being a missing file, however the error could be conditional and only thrown under certain circumstances. Depending on how the plugin works the conditions could be rare. Instead of throwing an error the plugin is disabled and prevented from executing under normal conditions. This can lead to a site visitor experiencing unexpected behavior or worse the site could go down.
We have requested the change in 1.5.17 to be rolled-back.(See Tracker #19859).
In the mean time we strongly advise you to not upgrade to Joomla 1.5.16/1.5.17.
If you are using 1.5.16/1.5.17 and you are experiencing problem with plugins magically disabling themselves please let us know.
Update 05/08/2010
If you have updated already you can disable the auto-disable behavior by changing the helper.php file found in yours libraries/joomla/plugin folder and removing lines 122-136 :
if(!$shutdown_handler_installed)
{
// only register the shutdown function if we are capable of checking the errors (reqs PHP 5.2+)
if (version_compare("5.2", phpversion(), "<="))
{
// you can only register a static method if it is declared static
// we can't declare static b/c it breaks on PHP4
// therefore we instantiate the helper for this one purpose
$pluginHelper = new JPluginHelper;
register_shutdown_function(array($pluginHelper, 'shutdown'));
}
// we may not have installed the handler, but setting this to true
// will prevent us from continually running the version compare
$shutdown_handler_installed = true;
}
This change will have no other effect then removing the auto-disable behavior from your 1.5.17 install.
Update 05/16/2010
The Joomla bugsquad has confirmed that this behavior will be reverted in the upcoming 1.5.18 release. For more info see the following mailing list thread.