Difference between revisions of "Why are my plugins automatically disabling"

From Joomla! Documentation

Line 1: Line 1:
In 1.5.17 a feature was added to to automatically disable plugins that trigger an error during initialisation. As a result, some sites have experienced problem behavior when plugins trigger errors due to insufficient error handling. An example of this is Nooku which can be disabled due to insufficient error handling around receiving bad cookies.  
+
In 1.5.17 a protection was added to to automatically disable plugins that trigger an error during initialisation. The normal result of this would be a white screen or an error being reported to the user. As a result, some sites have experienced problem behavior when plugins trigger errors due to insufficient error handling or other situations and are disabled. An example of this is Nooku which can be disabled due to insufficient error handling around receiving bad cookies.  
  
 
== To remove this feature: ==
 
== To remove this feature: ==

Revision as of 06:25, 8 May 2010

In 1.5.17 a protection was added to to automatically disable plugins that trigger an error during initialisation. The normal result of this would be a white screen or an error being reported to the user. As a result, some sites have experienced problem behavior when plugins trigger errors due to insufficient error handling or other situations and are disabled. An example of this is Nooku which can be disabled due to insufficient error handling around receiving bad cookies.

To remove this feature:[edit]

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;  
}

Thanks to Johan Janssens for sharing this solution.