我希望在每个vhost的基础上自动更改我的数据库连接设置,这样我就不必在PHP代码从一个登台移动到另一个活动时编辑任何PHP代码,而不必访问不同的数据库。这是在一台专用服务器上。
所以我想知道,我是否可以在httpd.conf中设置一个PHP变量或常量作为vhost定义的一部分,然后站点可以使用它来自动指向测试数据库?
$database = 'live';
if (some staging environment variable is true) {
$database = 'testing'; // and not live
}
如果这是不可能的,我想在这种情况下,我可以安全地检查我正在运行的主机名,但我想要一些不那么脆弱的东西
希望这是有意义的
非常感谢
伊恩
发布于 2008-09-28 18:08:05
Yep...you可以做到这一点:
SetEnv DATABASE_NAME testing
然后在PHP中:
$database = $_SERVER["DATABASE_NAME"];
或
$database = getenv("DATABASE_NAME");
发布于 2008-09-28 18:08:42
您可以设置环境变量并使用PHP检索它。
在httpd.conf中:
SetEnv database testing
在你的PHP中:
if (getenv('database') == 'testing') {
或
if ($_SERVER['database'] == 'testing') {
发布于 2008-09-28 19:56:05
我不会设置环境变量,因为这在默认脚本输出中也是可见的,比如PhpInfo();
只需在.htaccess中的htdocs文件夹上方使用一个php_value,就可以安全地完成操作:)
https://stackoverflow.com/questions/146354
复制相似问题