2014-02-20 124 views
1

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

接下来的两个误差大约缺少类:SplPriorityQueueSplStack。我也为这些人写了一些占位符,通过这里的 文档: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]'

我真的不知道在哪里可以从这里走。

仅供参考,我使用:

回答

0

我把这个问题复制到Caucho Quercus Google Group,我收到了this response

看来在这个时候,使用Resin和Quercus运行Zend Framework 2应用程序是不可能的。

缺失函数spl_object_hash已针对即将推出的4.0.39版本执行。

此外,的Caucho的越南阮提交代表我下面的错误报告:

http://bugs.caucho.com/view.php?id=5623

0

树脂是专为运行Java应用程序的Web服务器。 ZF2正在使用PHP +一些PHP扩展。 PHP的Quercus实现可能不支持这些扩展。您可能需要一个带有Apache或Nginx的Web服务器。

+0

事实上,栎不支持entir SPL扩展的一部分(请参阅上面的我的更新)。据Caucho的Nam Nguyen说,它已经完成了大约80%。 – adamdunson

相关问题