- Fixed DB DNS parsing. Allow hyphens or underscores in DB names, closed #780

This commit is contained in:
Mark Friedrich
2019-05-11 21:46:53 +02:00
parent e566265c43
commit 095db7a3a8

View File

@@ -301,7 +301,7 @@ class Config extends \Prefab {
'PASS' => self::getEnvironmentData('DB_' . $alias . '_PASS')
];
$pdoReg = '/^(?<SCHEME>[[:alpha:]]+):((host=(?<HOST>[a-zA-Z0-9\.]*))|(unix_socket=(?<SOCKET>[a-zA-Z0-9\/]*\.sock)))((;dbname=(?<NAME>\w*))|(;port=(?<PORT>\d*))){0,2}/';
$pdoReg = '/^(?<SCHEME>[[:alpha:]]+):((host=(?<HOST>[a-zA-Z0-9-_\.]*))|(unix_socket=(?<SOCKET>[a-zA-Z0-9\/]*\.sock)))((;dbname=(?<NAME>\w*))|(;port=(?<PORT>\d*))){0,2}/';
if(preg_match($pdoReg, self::getEnvironmentData('DB_' . $alias . '_DNS'), $matches)){
// remove unnamed matches
$matches = array_intersect_key($matches, $config);