我正在Puppet的第一步,遇到一个问题.我已经在
Linux服务器上安装了
PHP,我想对PHP.ini文件进行一些稍微更改.我不想用存储库中的一个来覆盖整个ini文件,只需更改/创建一个简单的配置值即可.
我想确保,PHP.ini中的property_max_filesize的属性值为10M.
我该如何实现?
基本上有3个选项:
>在木偶中使用augeas支持(您需要安装ruby augeas库),如:
augeas { "PHP.ini": notify => Service[httpd],require => Package[PHP],context => "/files/etc/PHP.ini/PHP",changes => [ "set post_max_size 10M","set upload_max_filesize 10M",]; }
您可以使用“augtool ls /files/etc/PHP.ini”来查看这些部分,以了解augeas如何解析文件,并使用它来确定所需的路径.
>你可以使用exec.就像是:
define set_PHP_var($value) { exec { "sed -i 's/^;*[[:space:]]*$name[[:space:]]*=.*$/$name = $value/g' /etc/PHP.ini": unless => "grep -xqe '$name[[:space:]]*=[[:space:]]*$value' -- /etc/PHP.ini",path => "/bin:/usr/bin",notify => Service[httpd]; } } set_PHP_var { "post_max_size": value => '10M'; "upload_max_filesize": value => '10M'; }
不幸的是,此解决方案不了解PHP.ini中的部分,因此添加一个尚未存在的变量将需要额外的工作.如果一个变量出现在多个部分(但我正在看的示例似乎具有所有唯一的变量名称),这将会做错事.这应该适用于现在的变量,但用分号进行注释.>将原始PHP.ini文件复制到您的木偶存储库中,并使用source => ‘puppet:/// …’或content =>模板(…)完全替换文件,如您所指定的,您不愿意做.