gpt4 book ai didi

ruby - 如何在 .conf 文件中添加动态代码/ruby 代码

转载 作者:太空宇宙 更新时间:2023-11-04 12:29:19 27 4
gpt4 key购买 nike

我正在为我的应用程序使用 Sphinx 搜索引擎,我想在 sphinx.conf 文件中添加 ruby​​ 代码以根据我的应用程序服务器主机名动态更新一些值?是否可以在 sphinx.conf 中执行 ruby​​ 代码?像下面这样的东西

{
type = mysql
sql_host = testHost
sql_user = test
sql_pass = <%= D.decrypt("encrypted password") %> // Ruby CODE
sql_db = {{database_name}}
sql_query_pre = SET TIME_ZONE = '+0:00'
sql_query_pre = SET SESSION group_concat_max_len = 32768
sql_query_pre = SET NAMES utf8
}

最佳答案

简而言之,不,这是不可能的。 Sphinx 无法在其 .conf 文件中直接执行 Ruby。

也就是说,您可以使用环境变量将密码保存在配置文件之外:

{
type = mysql
sql_host = testHost
sql_user = test
sql_pass = $SQL_PASS
sql_db = {{database_name}}
sql_query_pre = SET TIME_ZONE = '+0:00'
sql_query_pre = SET SESSION group_concat_max_len = 32768
sql_query_pre = SET NAMES utf8
}

然后您可以在运行 Sphinx 时在命令行中设置环境变量:

SQL_PASS="mypassword123" indexer -c /path/to/config

或者在你的 .bashrc 中设置它:

export SQL_PASS="mypassword123"

或者在 ruby​​ 中设置:

ENV["SQL_PASS"] = "mypassword123"

请记住,无论您选择哪种方法,都必须在运行 Sphinx 之前设置环境变量。

关于ruby - 如何在 .conf 文件中添加动态代码/ruby 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43739143/

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