在 httpd.conf 中设置 PHP 变量?

2022-08-30 16:46:41

我想基于每个vhost自动更改我的数据库连接设置,这样我就不必编辑任何PHP代码,因为它从暂存移动到实时,但可以访问不同的数据库。这是在单个专用服务器上。

所以我想知道,我是否可以在httpd.conf中设置一个PHP变量或常量作为vhost定义的一部分,然后站点可以使用它来自动指向测试数据库?

$database = 'live';
if (some staging environment variable is true) {
    $database = 'testing'; // and not live
}

如果这是不可能的,我想在这种情况下,我可以安全地检查我正在运行的主机名,但我想要一些不那么脆弱的东西。

希望这是有道理的

非常感谢

伊恩


答案 1

是的。。。你可以这样做:

SetEnv DATABASE_NAME testing

然后在 PHP 中:

$database = $_SERVER["DATABASE_NAME"];

$database = getenv("DATABASE_NAME");

答案 2

您可以设置一个环境变量并使用 PHP 检索它。

在 httpd.conf 中:

SetEnv database testing

在您的 PHP 中:

if (getenv('database') == 'testing') {

if ($_SERVER['database'] == 'testing') {

推荐