gpt4 book ai didi

ruby-on-rails - 我如何在Rails应用程序中看到ENV变量?

转载 作者:行者123 更新时间:2023-12-04 00:49:32 26 4
gpt4 key购买 nike

我要接管一个旧的Rails应用程序。一年没有人碰过它。最后一位开发人员于2015年4月离开,我无法联系他。我确实可以通过ssh访问服务器,并且可以访问Github存储库。

我不知道任何用户名/密码。

如果我SSH到服务器并且找到了database.yml文件,我会看到类似以下内容:

  staging:
adapter: mysql2
encoding: utf8
pool: 5
socket: /var/lib/mysql/mysql.sock
database: o_wawa_stage
username: wawa_stage
password: <%= ENV['STAGE_DATABASE_PASSWORD'] %>
host: access.dmedia.com


如果运行“ printenv”命令,则看不到这些变量。我假设它们仅由Rails环境加载。

我想我可以编辑模板以使用一堆“ put”语句吐出值,但是我认为除了在公众可以看到的地方打印数据之外,还必须有一种更明显的方法来执行此操作。

如果我尝试运行“ rails console”,则会得到:

  Rails Error: Unable to access log file. Please ensure that /var/www/haha/production/releases/20150118213616/log/development.log exists and is writable (ie, make it writable for user and group: chmod 0664 /var/www/haha/production/releases/20150118213616/log/development.log). The log level has been raised to WARN and the output directed to STDERR until the problem is fixed.


我在此框上没有sudo,因此无法解决该错误。

最佳答案

如您的示例所指出的,假设暂存环境。您需要通过将RAILS_ENV环境变量添加到rails console命令来加载控制台。

RAILS_ENV=staging rails console


那应该使您进入。一旦进入,就可以直接访问 ENV变量。

2.2.2 (main):0 > ENV


这将为您转储环境变量。请注意,您的提示可能看起来有所不同。如果要访问特定值,例如数据库密码,则可以:

2.2.2 (main):0 > ENV['STAGE_DATABASE_PASSWORD']

关于ruby-on-rails - 我如何在Rails应用程序中看到ENV变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35704957/

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