我試圖設置一個非常基本的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