I have a Zend Framework application with a custom library for my company. The resources I’ve created under the custom library load just fine in Windows on our dev environments. I just tried to move this to a linux box this morning and I’m getting the following error:
Fatal error: Uncaught exception 'Zend_Application_Bootstrap_Exception' with message 'Resource matching "errorLogger" not found' in /home/nick/Repos/myfirstzend.com/includes/library/Zend/Application/Bootstrap/BootstrapAbstract.php on line 694
I have my plugin path set in the constructor of my bootstrap like this:
$this->setOptions(array(
'pluginPaths' => array('Company_Application_Resource' => 'Company/Application/Resource')
));
I then try to pass the following array (in a different _init method within the bootstrap):
$resources['errorLogger'] = array(
'stream' => array(
'writerName' => 'db',
'writerParams' => array(
'db' => array(
'dbname' => APPLICATION_PATH . '/logs/errorLog.sqlite'
)
)
)
);
to the following method:
$this->registerPluginResource($resourceName, $resourceOptions);
Where $resourceName is the key of that initial array (‘errorLogger’) and $resourceOptions is the array at that key.
I have ErrorLogger.php under library/Company/Application/Resource/ and the class name is class Company_Application_Resource_ErrorLogger extends Zend_Application_Resource_Log.
I’m at a loss. Anyone see what I’m doing wrong?
Is there a series of var_dumps I could do to figure this out? I’m at a loss here.
Edit: Bootstrap code.
Try stepping through the problem area using Xdebug along with something that will let you interactively debug it (e.g. Eclipse PDT). This should give you an idea of why things are going awry.
Short of dumping all of your library code, this seems like the only answer I can come up with.
Also, I would try renaming the resource. If I recall, Zend has a problem with a resource of that name.