我們有一個本地MAMP環境以及所有使用不同MySQL憑證的開發和生產服務器。如何爲CMS的MySQL憑據設置不同的服務器環境
我們試圖建立我們的CMS的config.php文件使用基於對環境的正確憑據的聲明。
我們目前擁有的說法是這樣的:
<?php
if ($_SERVER['HTTP_HOST'] == 'domain.com') { // PRODUCTION Server
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'db-user');
define('DB_PASSWORD', 'db-password');
define('DB_DATABASE', 'db-name');
} else if ($_SERVER['HTTP_HOST'] == 'domain.devserver.com') { // DEV Server
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'db-user');
define('DB_PASSWORD', 'db-password');
define('DB_DATABASE', 'db-name');
} else { // MAMP
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'db-user');
define('DB_PASSWORD', 'db-password');
define('DB_DATABASE', 'db-name');
}
?>
但只有最後一組憑據(毫安)的不斷被使用 - 有沒有辦法在一個單一的PHP文件來做到這一點?
我們發現其他的東西涉及使用幾個不同的文件和設置環境變量,但我們想保持它所有在一個文件中或至少在每一個客戶的網站,如果這是很有意義的。
,我們所知甚少的PHP - 任何幫助或指針在正確的方向,將不勝感激。
乾杯
本
這是非常基本的PHP。 「怪異問題」沒有太多空間。很明顯,HTTP_HOST變量不匹配domain.com或domain.devserver.com。在頂部添加'var_dump($ _ SERVER ['HTTP_HOST'])'並在目標服務器上運行幾次。我保證,當它不起作用時,輸出將會有所不同(可能像www.domain.com)。 –