MySQL In-App Configuration for PHP Content Management Systems

2 minute read | By Mangesh Sangapu

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.

</col> </col> </col> </col>
**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',\ );