我有一個包含shell_execute()
的PHP腳本,它執行的命令通常需要sudo。我已經編輯在sudoers與visudo命令包含以下內容:在etc/sudoers中授予的權限僅持續10分鐘
www-data ALL = NOPASSWD: /var/root/node/npm/node_modules/less/
%users ALL = NOPASSWD: /var/root/node/npm/node_modules/less/
我懷疑要麼應該工作,但是我用皮帶和吊帶的方法去確定。
我在用vim編輯etc/sudoers,所以在添加這些行之後,我會這樣做:x和一切正常。我的PHP腳本做了它應該做的事...大約10-15分鐘。然後腳本停止工作。具體來說,shell_exec()
停止工作。
如果我再用sudo visudo
,我的新行仍然存在。但只有當我再次保存時,腳本纔會重新開始工作。
誰能告訴我爲什麼會發生這種情況?我有兩個猜測是不是很好:
- 有某種寬限期啓動時,我
sudo visudo
,這是什麼讓我的腳本工作(但直到過期)。 - etc/sudoers中的新數據停留在sudoers.tmp(「鎖定文件」)中...... 這些都不屬於我。
這聽起來像一個服務器管理員問題給我。也許serverfault.com會是一個更好的地方問這個問題? – middus
只是一個猜測,但它看起來像你試圖運行node.js編譯你的CSS樣式較少?如果是這樣的話,我可以推薦一些排序或CI服務器,如[CIJoe](https://github.com/defunkt/cijoe)或[Travis](http://travis-ci.org) – adlawson
@adlawson:這就是正是我想要做的。但是,這些服務器設置似乎在我的頭上。我目前正在運行MAMP。 – emersonthis