First the installer was running just fine but we couldn’t complete the installation because we didn’t have pdo_mysql installed. We recompiled apache / php with all the required stuff but now we have a whole different problem.
When we load up the /piwik dir to start the installation procedure we immediately get this error:
Fatal error: Function __autoload(MySQL) threw an exception of type ‘Exception’ in /xyz/piwik/libs/Zend/Session.php on line 395
As far as I can see there it only starts the php session. I can’t imagine why it would throw me an exception.
(Note: all our normal enterprise php applications are running just fine)
Elsewhere in your website, an app has referenced a MySQL object in the PHP $_SESSION superglobal. Zend Session is trying to unserialize the object and the autoloader (libs/Zend/Loader.php) can’t find the class definition.
Try:
moving Piwik to its own domain name or subdomain, or
creating a bootstrap.php file in your piwik folder, with a require_once to the ‘MySQL.class.php’ (or MySQL.php) file, or
copying the MySQL file to the libs folders, or
put an empty MySQL class definition in bootstrap.php, e.g., class MySQL {}
That’s weird. As I said it worked well the first time (before recompiling).
Piwik is running on its own subdir stand-alone with nothing else being called.
When I follow your advice and make a bootstrap.php file with a empty class MySQL {} I get
Exception: User could not be autoloaded. in /xyz/core/Loader.php on line 57
I know that this maybe isn’t Piwik that is being a pain in the ass, but any help on this matter would be more than welcome.
I have no idea why the Piwik autoloader is being called. There aren’t any User or Piwik_User classes either. Please add empty class definitions to your bootstrap.php as a workaround.
We already have a ticket open to better handle session data conflicts like these.