我正在尝试使用 Quercus 作为概念证明来设置一个非常基本的 Zend Framework 2 应用程序以在 Resin 上运行。我遇到了一些问题,我找不到任何在 Resin 上运行的 ZF2 应用程序的开源示例。
我已经设法让 PHP 正常工作,但是在尝试加载我的 Zend 应用程序时,我看到了关于 PHP SPL 扩展通常包含的功能的错误。Quercus 似乎没有完全实现 SPL,所以如果是这种情况,希望有一个我可以使用的解决方法。
我看到的第一个错误是关于缺少的功能:spl_object_hash
. 我为这个方法写了一个占位符来绕过这个错误(我知道这很糟糕):
if (!function_exists('spl_object_hash')) {
function spl_object_hash() {
usleep(1);
return md5(microtime());
}
}
接下来的两个错误是关于缺少的类:SplPriorityQueue
和
SplStack
. 我也为它们写了一些占位符,参考这里的文档:http: //us3.php.net/manual/en/book.spl.php。这些占位符类基本上只是数组的包装器。
我现在遇到的错误是:
.../library/Zend/ServiceManager/ServiceManager.php:456:致命错误:未捕获类型为“Zend\ServiceManager\Exception\ServiceNotFoundException”的异常,消息为“Zend\ServiceManager\ServiceManager::get 无法获取或创建应用程序位置的实例[.../library/Zend/ServiceManager/ServiceManager.php:456]'
我真的不知道从这里去哪里。
作为参考,我正在使用: