我正在尝试设置一个非常基本的Zend Framework 2应用程序来运行 使用Quercus作为概念证明的树脂。我遇到了一些问题,而且我 无法找到运行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:致命错误:类型'Zend \ ServiceManager \ Exception \ ServiceNotFoundException'的未捕获异常,消息'Zend \ ServiceManager \ ServiceManager :: get无法获取或创建应用程序位置的实例[... / library / Zend / ServiceManager / ServiceManager.php:456]'
我不确定从哪里开始。
供参考,我正在使用:
答案 0 :(得分:0)
Resin是一个专为运行Java应用程序而设计的Web服务器。 ZF2正在使用PHP +一些PHP扩展。 PHP的Quercus实现可能不支持这些扩展。您可能需要使用Apache或Nginx的Web服务器。
答案 1 :(得分:0)
我将这个问题复制到了Caucho Quercus Google Group,我收到了this response。
目前看来,无法使用Resin和Quercus运行Zend Framework 2应用程序。
已经为即将发布的4.0.39版本†实现了缺失的函数spl_object_hash
。
此外,Caucho的Nam Nguyen代表我提交了以下错误报告: