gpt4 book ai didi

configuration - 如何使用 Puppet 在 php.ini 中设置 config=value?

转载 作者:行者123 更新时间:2023-12-03 23:59:03 24 4
gpt4 key购买 nike

我正在 Puppet 中执行我的第一步并遇到了问题。我已经在 Linux 服务器上安装了 PHP,我想对 php.ini 做一些小改动。文件。我不想覆盖整个 ini一个来自存储库的文件,只需更改/创建一个简单的配置值。

我想确保,该属性 upload_max_filesizephp.ini具有值 10M .

我怎样才能做到这一点?

最佳答案

基本上有3种选择:

  • 在 puppet 中使用 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 如何解析文件并使用它来计算您需要的路径。
  • 您可以使用执行程序。就像是:
    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",
    require => Package[php],
    notify => Service[httpd];
    }
    }
    set_php_var {
    "post_max_size": value => '10M';
    "upload_max_filesize": value => '10M';
    }

    不幸的是,这个解决方案不理解 php.ini 中的部分,因此添加一个不存在的变量需要额外的努力。如果一个变量出现在多个部分中,这将做错事(但我正在查看的示例似乎具有所有唯一的变量名称)。这应该适用于存在但用分号注释掉的变量。
  • 将原始 php.ini 文件复制到您的 puppet 存储库中,并使用文件 source => 'puppet:///...'content => template(...)完全替换文件,正如您指出的那样,您不想这样做。
  • 关于configuration - 如何使用 Puppet 在 php.ini 中设置 config=value?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10800199/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com