2017-04-20 34 views
0

我遇到了問題,即使沒有任何變化,某些模塊爲php-fpm觸發刷新(服務重啓)。 例如:puppet php - 爲什麼有些模塊觸發刷新php-fpm

==> app-server: Notice: /Stage[main]/Php/Php::Extension[igbinary]/Package[php5.6-igbinary]/ensure: ensure changed 'purged' to 'present' 
==> app-server: Notice: /Stage[main]/Php/Php::Extension[memcached]/Package[php5.6-memcached]/ensure: ensure changed 'purged' to 'latest' 
==> app-server: Info: Php::Extension[memcached]: Scheduling refresh of Service[php5.6-fpm] 
==> app-server: Notice: /Stage[main]/Php/Php::Extension[tideways]/Package[php5.6-tideways]/ensure: ensure changed 'purged' to 'present' 
==> app-server: Info: Php::Extension[tideways]: Scheduling refresh of Service[php5.6-fpm] 
==> app-server: Info: Php::Extension[igbinary]: Scheduling refresh of Service[php5.6-fpm] 
==> app-server: Notice: /Stage[main]/Php::Fpm::Service/Service[php5.6-fpm]: Triggered 'refresh' from 3 events 

這是流浪者/測試環境確定,但我不希望在PROD環境重啓FPM服務每次木偶正常運行,從而 有沒有辦法告訴傀儡沒有重新啓動的php -fpm如果沒有改變?

在此先感謝您的幫助!

P.S.這裏是傀儡配置的樣子:

php::globals::php_version: '5.6' 
php::extensions: 
xml: {} 
curl: {} 
json: {} 
intl: {} 
mbstring: {} 
mcrypt: {} 
mysql: {} 
curl: {} 
intl: {} 
json: {} 
odbc: {} 
readline: {} 
igbinary: {} 
zip: {} 
soap: {} 
dba: {} 
bz2: {} 
tideways: {} 
memcached: {} 
oci8: 
    provider: pecl 
    ensure: '2.0.12' 
pgsql: {} 
mcrypt: {} 
gd: {} 
apcu: 
    provider: pecl 
    ensure: '4.0.11' 
    settings: 
    apc.stat: 1 
    apc.stat_ctime: 1 
+2

您的日誌顯示_did_ change - 新軟件包(擴展名)已安裝。如果要刪除更改時的重新啓動,請使用通知/訂閱顯示清單。 –

+0

是的,但真的**沒有任何**改變(我檢查了很多次),這讓我瘋狂。 – Serge

+2

您的日誌顯示'[..]包[php5.6-igbinary] /確保:確保已更改'清除'爲'present',這是一個變化。一個軟件包被卸載,現在已經安裝。無論你有什麼清單,然後指定這應該刷新'php5.6-fpm'。如果您認爲該軟件包已安裝並且每次運行都會發生這種情況,那麼請顯示該信息。 –

回答

0

OK,貌似我發現爲什麼出現這種情況:我有PHP版本5.6,所以傀儡嘗試安裝前綴php5.6包,但對於那些3包前綴是php-,所以我爲memcached,tideways和igbinary添加了package_prefix,現在php-fpm不再重新啓動。

tideways: 
    package_prefix: php- 
igbinary: 
    package_prefix: php- 
memcached: 
    package_prefix: php- 

希望這將幫助別人。

乾杯!

+0

由於您的問題是由於錯字造成的,因此由於不可重現而成爲關閉的候選對象。 –

+0

是的,沒問題。 – Serge