私のphpモジュールに小さなカスタムファクトがあります
Facter.add('php_extension_version') do
setcode do
Facter::Core::Execution.exec("php -i | awk '/^PHP Extension =>/ { print $4}'") || nil
end
end
これには明らかに php バイナリをインストールする必要があります。ただし、カタログを適用する前にすべてのファクトが 1 回実行されることに気付きました。このファクトは、php をインストールする前は無効です。
モジュールのインストール後に情報を収集する方法はありますか? この情報を公開する別の方法は、facter 以外にあるのでしょうか?
アップデート
複数の .so ファイルのどれがインストールに適しているかを判断するために、次の 2 つの事実を使用しています。
if $php_zts_enabled {
$so_name = "newrelic-$php_extension_version.so"
} else {
$so_name = "newrelic-$php_extension_version-zts.so"
}
file {"/usr/lib64/php5/extensions/newrelic.so":
source => "file:///opt/newrelic-php5-$version-linux/agent/x64/$so_name",
owner => root,
group => root,
mode => 0644,
notify => Service['apache'],
require => Exec["extract-php-agent-$version"]
}
agent/x64 ディレクトリにあるファイルは、
newrelic-20060613.so newrelic-20090626-zts.so newrelic-20121212.so newrelic-20131226-zts.so
newrelic-20060613-zts.so newrelic-20100525.so newrelic-20121212-zts.so
newrelic-20090626.so newrelic-20100525-zts.so newrelic-20131226.so