2014-02-20 127 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

相關問題