是否可以使用Quercus在Resin上运行ZF2应用程序?

时间:2014-02-20 15:23:36

标签: php zend-framework zend-framework2 resin quercus

我正在尝试设置一个非常基本的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());
    }
}

接下来的两个错误是关于缺失的类:SplPriorityQueueSplStack。我也为那些人写了一些占位符 文档: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]'

我不确定从哪里开始。

供参考,我正在使用:

2 个答案:

答案 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代表我提交了以下错误报告:

<子> †http://bugs.caucho.com/view.php?id=5623