Tested with php sql_srv extension 5.10.0
If you want to Connect to an unencrpyted MsSQL Server with the following connection array, a connection could not be established, because the encryption could not be set.
$option['driver'] = 'sqlsrv';
$option['host'] = 'server\\instancename, 1433';
$option['port'] = 1433;
$option['user'] = 'user';
$option['password'] = 'pass';
$option['database'] = 'DBName';
$option['prefix'] = '';
return JDatabaseDriver::getInstance($option);
In the config array there is an option "encrypt" to set the state.
$option['driver'] = 'sqlsrv';
$option['host'] = 'server\\instancename, 1433';
$option['port'] = 1433;
$option['user'] = 'user';
$option['password'] = 'pass';
$option['database'] = 'DBName';
$option['prefix'] = '';
$option['encrypt'] = false;
return JDatabaseDriver::getInstance($option);
Jommla 4.1.4
PHP 7.4.28
Linux Ubuntu Webserver
sql_srv extension 5.10.0
In the file libraries\vendor\joomla\database\src\Sqlsrv\SqlsrvDriver.php at line 117 to 124 the config array needs the option encrypt, so the array must be change from this:
$config = [
'Database' => $this->options['database'],
'uid' => $this->options['user'],
'pwd' => $this->options['password'],
'CharacterSet' => 'UTF-8',
'ReturnDatesAsStrings' => true
];
to this:
$config = [
'Database' => $this->options['database'],
'uid' => $this->options['user'],
'pwd' => $this->options['password'],
'CharacterSet' => 'UTF-8',
'ReturnDatesAsStrings' => true,
'encrypt' => $this->options['encrypt']
];
Labels |
Removed:
?
|
Labels |
Added:
No Code Attached Yet
|
@richard67 Issue reported at joomla-framework/database#265
@DaniDuesentrieb Thanks.
closing here as has been opened at joomla-framework/database#265
Status | New | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2022-06-16 12:07:25 |
Closed_By | ⇒ | alikon |
@DaniDuesentrieb Could you report this issue here https://github.com/joomla-framework/database/issues ? Thanks in advance.