我有以下 Puppet 清单:
# PHP Configuration
class php {
exec { "php5enmod $module":
path => "/usr/sbin",
command => "php5enmod $module",
}
file {'/etc/php5/conf.d/upload_limits.ini':
ensure => present,
owner => root, group => root, mode => 444,
notify => [ Exec["php5enmod upload_limits"], Service["apache2"] ],
content => "post_max_size = 16M \nupload_max_filesize = 16M \n",
}
file {'/etc/php5/conf.d/memory_limits.ini':
ensure => present,
owner => root, group => root, mode => 444,
notify => [ Exec["php5enmod memory_limits"], Service["apache2"] ],
content => "memory_limit = 256M \n",
}
}
include php
如何通过动态传递参数来创建exec
使用notify
?这是可能的,还是有另一种更好的方法?
当前代码给了我如下错误:
错误:找不到文件的依赖 Exec[php5enmod upload_limits] [/etc/php5/conf.d/upload_limits.ini]
当它运行时,
exec
第一个被声明。那时 $module 没有设置,所以 exec 标题是
php5enmod
.您没有在这里传递变量,这只是一个名称。
在这种情况下,定义的类型更有意义。
像这样:
通常
define
不应该在那里。它可能应该是
php::php5enmod()
并且有它自己的文件。这只是为了展示一般概念。
颠覆你的想法!用于
Subscribe
将您的变量命名Exec
(错误的形式,恕我直言)链接到File
.Subscribe and Notify
是免费的;他们做同样的事情,但方向不同。尝试这样的事情?
完全未经测试,但我认为这至少会让你开始......