У нас есть локальная среда MAMP, а также серверы разработки и производства, которые используют разные учетные данные MySQL.Как настроить различные серверные среды для учетных данных MySQL CMS
Мы пытаемся установить инструкцию в файле config.php нашего CMS, который использует правильные учетные данные на основе среды.
В заявлении мы в настоящее время выглядит следующим образом:
<?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');
}
?>
Но только последний набор учетных данных (MAMP) когда-либо привыкает - есть способ сделать это в одном файле PHP?
Другие материалы, которые мы нашли, включают использование нескольких разных файлов и настройку переменной окружения, но мы хотели бы сохранить все это в одном файле или, по крайней мере, на веб-сайте каждого клиента, если это имеет смысл.
Мы знаем очень мало php - любая помощь или указатели в правильном направлении была бы высоко оценена.
Приветствия
Бен
Это довольно простой PHP. Там не так много места для «странных вопросов». Довольно ясно, что переменная HTTP_HOST не соответствует ни домену, ни домену.devserver.com. добавьте 'var_dump ($ _ SERVER ['HTTP_HOST']) вверху и запустите его несколько раз на целевых серверах. Я гарантирую, что когда это не сработает, результат будет чем-то другим (возможно, как www.domain.com). –