我剛剛安裝了ACL和Content Access模塊。 Imedietly啓用後,我被要求重建權限。我被告知完全正常。Drupal:重建權限需要多長時間
但是,我在40分鐘前設置了'rebuild'權限頁面,它仍然顯示'正在初始化'。 需要多長時間?我做錯了什麼?
我剛剛安裝了ACL和Content Access模塊。 Imedietly啓用後,我被要求重建權限。我被告知完全正常。Drupal:重建權限需要多長時間
但是,我在40分鐘前設置了'rebuild'權限頁面,它仍然顯示'正在初始化'。 需要多長時間?我做錯了什麼?
只需刷新頁面。燙髮幾秒鐘後重建:)。
標準的「重建燙髮」持續時間大致與節點數量乘以啓用的訪問模塊數量成正比。
在擁有100k個節點的站點上,您可以輕鬆完成24小時以上的重建權限。這意味着你只是不想交互地做它。但是你可以從drush啓動重建,或者使用其中一種更快的非標準重建方法。
你將如何重建在生產現場的權限? – Rimian 2010-03-25 02:58:02
基本上:運行一個CLI(drush)腳本,該腳本在module_invoke_all('node_access_records',$ node)上循環,以便所有節點在該循環中生成一個數據文件(非數據庫)。然後,一旦完成,TRUNCATE node_access和LOAD DATA INFILE
'FGM':你能分享一下你的自定義Drush腳本嗎?這對我們有很大的幫助。 – Max 2012-03-02 14:06:02
要通過drush,使用做:
drush PHP-EVAL 'node_access_rebuild();'
注意:如果花費24小時在具有100K節點的站點上重新構建,則會出現問題。在一個擁有200K + FWIW的網站上,我們需要大約30分鐘。對於一個較小的網站,它應該少得多;我懷疑你遇到了某種錯誤。
node_access_rebuild()爲每個節點調用node_load() - 所以可能的問題可能是很多模塊實現了hook_load()並在那裏執行一些升沉操作。 – webdevbyjoss 2012-09-11 11:13:23
一個快速解決方案可以只是將您的主題改回默認的GARLAND主題,而不是重新嘗試重建權限,很可能它會起作用。有時它是JS錯誤導致它停留在初始化。
如果你的網站有太多的數據(節點像100K和200K),你也可以通過將其放置在在Drupal根的PHP文件並運行它使用這個腳本。該代碼是在標題
WSODs由於特定的模塊 - >節點此鏈接訪問
:
曾經做過......幾次。有什麼我可以做/檢查嗎? – Shaun 2010-03-24 16:42:08
一個多小時,它的排序;-) – Shaun 2010-03-24 16:54:38