If you are managing a Joomla site - particularly one running a robust extension like Phoca Cart - you might have encountered a frustrating "ghost" problem. You click "Save" on your configuration, the page reloads, but your changes are gone. Even worse, there is no error message, and you are often redirected to the Joomla Global Configuration page instead of staying within the component.

The Root Cause: Too Many Variables

The problem is rarely with the extension itself, but rather with a PHP limitation called max_input_vars.

In a standard Joomla environment, every setting, toggle, and permission field counts as a "variable." When you save your configuration, all these variables are sent to the server in a single request. As your site grows, so does the complexity of your Permissions (ACL).

If your Joomla instance has a large number of user groups, every extension must store permission settings for each group and for each action. In a complex shop like Phoca Cart, adding more user groups to Joomla can easily push the total number of form fields over 1,000 because there are a lot of specific access right actions.

Why is there no error?

Most default server configurations have max_input_vars set to 1000. When you submit a form with 1200 variables, PHP simply ignores everything after the 1000th variable. It doesn't trigger a "Fatal Error." It just cuts off the data.

Because the data is incomplete, Joomla's security tokens or specific task commands are lost. This causes the system to fail silently or redirect you back to the global configuration because it doesn't know what else to do with the broken request.

The Solution: Increasing the Limit

To fix this, you need to tell your server to accept more input variables. This is done by modifying your php.ini file.

  • Locate your php.ini file (or contact your hosting provider).
  • Find the line: max_input_vars
  • Increase the value: For sites with many user groups, we recommend for example 2000.
    ; Example of increased limit in php.ini
    max_input_vars = 2000 

After making these changes, you must restart Apache for them to take effect.

Alternative: .htaccess

If you cannot access php.ini, you can try adding this line to your .htaccess file:

php_value max_input_vars 2000

Once this limit is increased, your settings should save correctly without the confusing redirect.

100+
GitHub Projects
Arctic Code
Vault Contributor
12 Million+
Downloads
70 000+
Answered Questions
2 700+
Planted Trees