2012-06-06 20 views
0

我正在嘗試實現一個自定義的Acl Assert。當使用邏輯運算符檢查權限時Zend_Acl內存失敗

if($acl->isAllowed($role,$resource,$privilege.':all')) { 
    return true; 
} 

工作正常。但

if(($acl->isAllowed($role,$resource,$privilege.':all')) 
    || ($acl->isAllowed($role,$resource,$privilege))) { 
    return true; 
} 

拋出一個

致命錯誤:用盡134217728個字節允許存儲器大小(試圖分配261904個字節)........ \庫上線\ Zend的\ Acl.php 837

回答

0

我有一個類似的問題。我曾留言所有ACL從我的模型斷言和

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 261900 bytes) in /var/www/project/library/Zend/Acl.php on line 1109

成爲

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 261900 bytes) in /var/www/project/application/models/User.php on line 17

其真正的意思,這是沒有錯ACL - 我是在一個無限遞歸調用從調用自身的函數。