有沒有辦法允許hook_cron
以管理員權限運行 - 例如像sudo hook_cron()
那樣?在Drupal 6中以管理員權限運行hook_cron
這個問題是一個跟進my earlier question試圖診斷爲什麼hook_cron()函數由/drupal/cron.php
運行調用不同的是,相同功能的/admin/reports/status/run-cron
調用。
我的特殊功能(稱爲foo_cron()
)更新用戶配置文件,作爲其夜間職責的一部分。但是,/drupal/cron.php
顯然是作爲匿名用戶運行的。匿名用戶不能修改此站點中的用戶配置文件字段,原因很明顯,所以腳本的這部分失敗。
我知道我可以通過直接使用SQL修改profile_fields
來解決這個問題,但這感覺像一個醜陋的黑客,並且如果我在多個模塊中開始這樣做可能很難維護。
在現有的Drupal函數和框架中,是否可以通過我們通常只給管理員提供的priv來運行某些foo_cron()作業,比如更新配置文件?
這個特定的網站運行Drupal 6.1.3。
完美...謝謝! – anschauung 2010-06-29 11:35:55
此解決方案存在一個小問題,在最後一行中,連字符中有一個額外的空格。請更改它,因爲它很難在cpanel環境中進行調試。 – Andrei 2010-11-22 13:29:45
要在cPanel中使用此功能,您可能還需要在shell腳本路徑之前添加「/ bin/sh」。 – Andrei 2010-11-22 13:30:33