我试图设置一个非常基本的Zend Framework 2应用程序来运行 Resin使用Quercus作为概念验证。我遇到了一些问题,并且我 一直没能找到在Resin上运行 的ZF2应用程序的任何开源示例。是否可以在Quercus Resin上运行ZF2应用程序?
我已经设法让PHP正常工作,但是在尝试加载我的Zend 应用程序时,我看到PHP SPL扩展通常包含的功能 的错误。看来SPL并没有完全由Quercus来实施,所以 希望有一个解决方法,我可以使用,如果是这样的话。
我看到的第一个错误是关于缺少的功能: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: Fatal Error: Uncaught exception of type 'Zend\ServiceManager\Exception\ServiceNotFoundException' with message 'Zend\ServiceManager\ServiceManager::get was unable to fetch or create an instance for Application Location[.../library/Zend/ServiceManager/ServiceManager.php:456]'
我真的不知道在哪里可以从这里走。
仅供参考,我使用:
- http://www.caucho.com/download/debian/dists/precise/universe/binary-amd64/resin_4.0.38-amd64.deb
- https://github.com/zendframework/ZendSkeletonApplication/tree/2f60f8af002e6b7afc9f47a5e79e038e0baf5e3a
事实上,栎不支持entir SPL扩展的一部分(请参阅上面的我的更新)。据Caucho的Nam Nguyen说,它已经完成了大约80%。 – adamdunson