变更
This commit is contained in:
@@ -131,16 +131,20 @@ class Connection extends Component
|
|||||||
public function initConnections(array $config, int $max)
|
public function initConnections(array $config, int $max)
|
||||||
{
|
{
|
||||||
$this->pool->initConnections($config['cds'], $max, static function () use ($config) {
|
$this->pool->initConnections($config['cds'], $max, static function () use ($config) {
|
||||||
|
$options = [
|
||||||
|
PDO::ATTR_CASE => PDO::CASE_NATURAL,
|
||||||
|
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
||||||
|
PDO::ATTR_ORACLE_NULLS => PDO::NULL_NATURAL,
|
||||||
|
PDO::ATTR_STRINGIFY_FETCHES => false,
|
||||||
|
PDO::ATTR_EMULATE_PREPARES => false,
|
||||||
|
PDO::ATTR_TIMEOUT => $config['connect_timeout'],
|
||||||
|
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES ' . ($config['charset'] ?? 'utf8mb4')
|
||||||
|
];
|
||||||
|
if (!Context::inCoroutine()) {
|
||||||
|
$options[PDO::ATTR_PERSISTENT] = true;
|
||||||
|
}
|
||||||
$link = new PDO('mysql:dbname=' . $config['dbname'] . ';host=' . $config['cds'],
|
$link = new PDO('mysql:dbname=' . $config['dbname'] . ';host=' . $config['cds'],
|
||||||
$config['username'], $config['password'], [
|
$config['username'], $config['password'], $options);
|
||||||
PDO::ATTR_CASE => PDO::CASE_NATURAL,
|
|
||||||
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
|
||||||
PDO::ATTR_ORACLE_NULLS => PDO::NULL_NATURAL,
|
|
||||||
PDO::ATTR_STRINGIFY_FETCHES => false,
|
|
||||||
PDO::ATTR_EMULATE_PREPARES => false,
|
|
||||||
PDO::ATTR_TIMEOUT => $config['connect_timeout'],
|
|
||||||
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES ' . ($config['charset'] ?? 'utf8mb4')
|
|
||||||
]);
|
|
||||||
foreach ($config['attributes'] as $key => $attribute) {
|
foreach ($config['attributes'] as $key => $attribute) {
|
||||||
$link->setAttribute($key, $attribute);
|
$link->setAttribute($key, $attribute);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user