Troubleshooting Installations

This quick list is meant to cover common problems in installing li3.

Internal Server Error

Internal server errors are usually a result of bad .htaccess configurations. Make sure unmodified copies of the .htaccess files from the distribution repository are in these places:

  • /.htaccess
  • /webroot/.htaccess

You might also be running in a directory on your web server that is already under rewrite rules (often URLs that include your username such as or This may cause 500 Internal server errors, or in some cases, cause a redirect loop.

In this case you'll need to adjust your .htaccess files to include a RewriteBase directive:

  • /.htaccess => RewriteBase /
  • /webroot/.htaccess => RewriteBase /webroot/

Make sure to place the RewriteBase directive just after RewriteEngine on.

Images/CSS Broken

Usually this is a result of .htaccess files not being parsed. Make sure that the directives that cover your li3 installation include the following line:

AllowOverride all

Unexpected Character Input

If you get an error that looks like this:

Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /path/to/lithium/webroot/index.php on line 22

This means you're not running PHP 5.3 or later. Please check your PHP version and update as appropriate.

I'm getting a fatal error that looks like this...

Function name must be a string in .../lithium/util/collection/Filters.php on line ...

This is happening because you have eAccelerator installed. eAccelerator is an optimizer / opcode cache for PHP which does not fully support PHP 5.3. The solution is to disable it, and switch to a working, better-supported accelerator, like the builtin Opcache.

If you didn't know you had eAccelerator installed, it's because you're running MAMP, which sometime comes pre-bundled with eAccelerator. In this case, the solution is to man up (or woman up) and get Homebrew. You'll be glad you did.