gpt4 book ai didi

perl - 在哪里存储全局数据库连接参数

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

在 perl 中存储数据库连接参数和其他全局设置是否有约定?类似于 .NET 的 .config 文件?

背景:我继承了一个基于 perl 的大型应用程序,它有一堆 cgi 脚本和几个后台服务,所有这些服务都具有硬编码的数据库主机名、用户名和密码。我想找一个安全的地方来存储这些,如果可能的话,还要遵守 perl 约定。我对 perl 没有太多经验,而且 google 似乎也没有引导我为此达成共识。

最佳答案

这是我目前得到的:

创建一个名为 config.pl 的文件。将其放置在所有脚本都可以访问的位置,从而将权限降低到所有脚本读取它所需的最低限度。

根据 this guide on perlmonks :

使 config.pl 的内容成为哈希:

dbserver   => 'localhost',
db => 'mydatabase',
user => 'username',
password => 'mysecretpassword',

然后在每个脚本中:

use strict;

# The old way....
#my $dbh = DBI->connect("DBI:mysql:database=mydatabase;host=localhost", "username", "mysecretpassword");

# The new way
my %config = do '/path/to/config.pl';
my $dbh = DBI->connect("DBI:mysql:database=".$config{db}.";host=".$config{dbserver}."", $config{user}, $config{password});

关于perl - 在哪里存储全局数据库连接参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5135966/

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