Learning: HOWTO Troubleshoot eZ Publish Extensions

You might have to double check certain things when an extension does not seem to work.

Whitespace in INI files

The INI system does not automatically trim values, so any trailing whitespace behind a setting value will be part of the value.

Consider an extension called "myextension" containing template operators. In the site.ini.append.php of the extension, you will find something like this:

 

This will instruct the template system to look for a file extension/ezxajax/autoloads/eztemplateautoload.php. In this file, there's information on which classes in the extension contain which template operators.

However, if there is a space behind ExtensionAutoloadPath[]=myextension, it will try to find the file "extension/myextension /autoloads/eztemplateautoload.php", which of course does not exists.

Setting arrays being cleared by other INI files

Consider the following code:

 

ExtensionAutoloadPath[] will re-initialize the setting again as an array, and any items added to the array in previously loaded setting files are lost.

INI settings file syntax errors cause strange results

Settings files can break and halt reading and processing default required settings which is known to developers to cause strange behavior if they introduce settings file syntax errors. Especially in core default settings files like site.ini

Possible symptoms or side affects

  • Failed database connection attempt
  • Incomplete or un-expected template and design usage
  • Anything that requires settings to function fundamentally withing eZ Publish which is not loaded before a ini file reading syntax error will fail in various ways. This covers things like anything within a custom extension, siteaccess, override settings

The solution naturally is to validate your settings files syntax manually (or with custom tools to detect syntax errors within settings files values). Often developers will review in detail their most recently modified settings files chronologically.