MySQL In-App Configuration for PHP Content Management Systems
Read more about MySQL In-App here. Content Management Systems such as WordPress, Drupal, Joomla contain the database credentials within a configuration file. If you decide to use MySQL In-App for development purposes, you will quickly realize that you need to modify these credentials to work with MySQL In-App. Below is a table containing the default configuration, followed by In-App credentials and configuration. To update your configuration with MySQL In-App, copy-paste both Part 1 and Part 2 for your respective CMS.
**WordPress 4+** | **Joomla 3+** | **Drupal 8+** | |
**Configuration Location** | wwwroot/wp-config.php | wwwroot/configuration.php | wwwroot/sites/default/settings.php |
**Default Configuration** | `/** The name of the database for WordPress */ define('DB_NAME', 'databaseName');/** MySQL database username */ define('DB_USER', 'databaseUserName');/** MySQL database password */ define('DB_PASSWORD', 'databasePassword');/** MySQL hostname */ define('DB_HOST', 'databaseHostName');` | public \$dbtype = 'mysql';\ public \$host = 'databaseHostName';\ public \$user = 'databaseUserName';\ public \$password = 'databasePassword';\ public \$db = 'databaseName';\ public \$dbprefix = 'jos\_'; | \$databases\['default'\]\['default'\] = array (\ 'database' =\> 'databasename',\ 'username' =\> 'sqlusername',\ 'password' =\> 'sqlpassword',\ 'host' =\> 'localhost',\ 'port' =\> '3306',\ 'driver' =\> 'mysql',\ 'prefix' =\> '',\ 'collation' =\> 'utf8mb4\_general\_ci',); |
**MySQL In-App\ Part 1 - Connection String** | `$connectstr_dbhost = ''; $connectstr_dbname = ''; $connectstr_dbusername = ''; $connectstr_dbpassword = '';foreach ($_SERVER as $key => $value) { if (strpos($key, "MYSQLCONNSTR_localdb") !== 0) { continue; }$connectstr_dbhost = preg_replace("/^.*Data Source=(.+?);.*$/", "\\1", $value); $connectstr_dbname = preg_replace("/^.*Database=(.+?);.*$/", "\\1", $value); $connectstr_dbusername = preg_replace("/^.*User Id=(.+?);.*$/", "\\1", $value); $connectstr_dbpassword = preg_replace("/^.*Password=(.+?)$/", "\\1", $value); }` | ||
**WordPress 4+** | **Joomla 3+** | **Drupal 8+** | |
**MySQL In-App\ Part 2 - Configuration** | `// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', $connectstr_dbname); /** MySQL database username */ define('DB_USER', $connectstr_dbusername); /** MySQL database password */ define('DB_PASSWORD', $connectstr_dbpassword); /** MySQL hostname : this contains the port number in this format host:port. /** Port is not 3306 when using this feature*/ define('DB_HOST', $connectstr_dbhost);` | `public $dbtype = 'mysql'; public $host = DB_HOST; public $user = DB_USER; public $password = DB_PASSWORD; public $db = DB_NAME; public $dbprefix = 'jos_';` | \$databases\['default'\]\['default'\] = array (\ 'database' =\> \$connectstr\_dbname,\ 'username' =\> \$connectstr\_dbusername,\ 'password' =\> \$connectstr\_dbpassword,\ 'prefix' =\> '',\ 'host' =\> \$connectstr\_dbhost,\ 'port' =\> \$\_SERVER\['WEBSITE\_MYSQL\_PORT'\],\ 'driver' =\> 'mysql',\ 'namespace' =\> 'Drupal\\\\Core\\\\Database\\\\Driver\\\\mysql',\ 'collation' =\> 'utf8mb4\_general\_ci',\ ); |