2017-04-10 178 views
3

在我們的開發服務器上,我們允許多個開發人員訪問服務器到git pull其更改。通常這需要運行sudo systemctl reload php-fpm(或發送USR2等)。但是,我們希望允許他們重新加載PHP-FPM中更改的代碼,而不需要sudo允許用戶在沒有Sudo的情況下重新加載PHP FPM

遙想當年,當我用使用Ruby,你可以做的正是我要找的由荷蘭國際集團touch一個在tmp目錄中名爲restart.txt文件。

PHP-FPM是否支持類似的東西?或者,無論如何,允許reload命令(或任何類似的方法發送USR2)沒有sudo

+0

爲什麼在'git pull'後需要重新啓動/重新加載'php-fpm'? –

+0

你可以用紅寶石達到同樣的效果。我仍然沒有CLUE爲什麼你要在git pull之後重新加載FPM,這是不需要的,你對php文件的改變將被執行。但是,爲了避免進一步討論:https://superuser.com/questions/181517/how-to-execute-a-command-whenever-a-file-changes - 在那裏,根據您的需求進行調整。 –

+0

@ N.B。因爲我們關閉了'opcache.validate_timestamps'來進行性能測試和基準測試(在生產中,雖然這與這個問題無關),清除OpCache最簡單的方法是重新加載。 –

回答

1

你可能在那裏只是白名單的命令時在/ etc/sudoers文件:

user ALL=(root) NOPASSWD: systemctl reload php-fpm 

這將特權用戶呼叫systemctl reload php-fpm爲根(無密碼)執行。

相關問題