 |
|

30.10.2018, 16:06
|
|
Постоянный
Регистрация: 22.08.2018
Сообщений: 490
С нами:
4066828
Репутация:
202
|
|
Беда в чем, при потере конекта сайта к бд сервера, вылезает ошибка
куда копать, и что писать
дабы данные кэшировались, и сайт не падал при потери конекта.
Код:
Код:
PDOException in Connector.php line 47:
SQLSTATE[HY000] [1044] Access denied for user '****'@'localhost' to database '******'
Код:
Код:
public function createConnection($dsn, array $config, array $options)
{
$username = array_get($config, 'username');
$password = array_get($config, 'password');
return new PDO($dsn, $username, $password, $options);
}
|
|
|

30.10.2018, 19:57
|
|
Флудер
Регистрация: 15.08.2015
Сообщений: 2,267
С нами:
5654645
Репутация:
0
|
|
try/catch и все такое во всех нужных местах - в соединении с бд и т.д.
|
|
|

30.10.2018, 21:26
|
|
Познающий
Регистрация: 11.09.2009
Сообщений: 34
С нами:
8772079
Репутация:
8
|
|
Сообщение от sQula
дабы данные кэшировались, и сайт не падал при потери конекта.
тогда лучше писать на чистом Go, и не юзать вонючий Laravel. Если ты думаешь что таким способом выиграешь в производительности, то ошибаешься, ты уже проиграл в производительности ещё до старта гонки.
Вообще для начала проверь правильная ли структура в $dns, а во вторых проверь привилегии пользователя в MySQL.
|
|
|

30.10.2018, 21:47
|
|
Познавший АНТИЧАТ
Регистрация: 07.05.2015
Сообщений: 1,791
С нами:
5799746
Репутация:
1388
|
|
Сообщение от Logan22
тогда лучше писать на чистом Go, и не юзать вонючий Laravel. Если ты думаешь что таким способом выиграешь в производительности, то ошибаешься, ты уже проиграл в производительности ещё до старта гонки.
Вообще для начала проверь правильная ли структура в $dns, а во вторых проверь привилегии пользователя в MySQL.
Тс - ты хочешь исправить продлему, или ее избежать? Это коннент к какой бд? Основной блок сайта или екстернал сервер?
Ну не скажи, уверен все проблемы в правильности использования.
Первый запрос в гугле, и увидел что можно связать лару и варниш без особых проблем, в итоге до 100 мс будет возвращаться страница.
Часто легче исаолиспольз уже готоаыг решения... Зависит от бюджета и хотелки
|
|
|

30.10.2018, 22:15
|
|
Постоянный
Регистрация: 22.08.2018
Сообщений: 490
С нами:
4066828
Репутация:
202
|
|
Сообщение от Logan22
тогда лучше писать на чистом Go, и не юзать вонючий Laravel. Если ты думаешь что таким способом выиграешь в производительности, то ошибаешься, ты уже проиграл в производительности ещё до старта гонки.
Вообще для начала проверь правильная ли структура в $dns, а во вторых проверь привилегии пользователя в MySQL.
тут не в привилегиях дело, это соединение именно с базой сервера, для регистрации акк+статус сервера, если она не доступна сайт падает с данной ошибкой.
Сообщение от Desquire
Тс - ты хочешь исправить продлему, или ее избежать? Это коннент к какой бд? Основной блок сайта или екстернал сервер?
Ну не скажи, уверен все проблемы в правильности использования.
Первый запрос в гугле, и увидел что можно связать лару и варниш без особых проблем, в итоге до 100 мс будет возвращаться страница.
Часто легче исаолиспольз уже готоаыг решения... Зависит от бюджета и хотелки
данную cms писал не я, и я не особо разбираюсь в этом) готов на платной основе на допил данного продукта.
|
|
|

30.10.2018, 22:19
|
|
Познающий
Регистрация: 11.09.2009
Сообщений: 34
С нами:
8772079
Репутация:
8
|
|
Сообщение от sQula
если она не доступна сайт падает с данной ошибкой
Ну так бы сразу описал. Ну конечно, а как иначе, будет разумеется падать, делай проверку!
|
|
|

30.10.2018, 22:22
|
|
Познающий
Регистрация: 11.09.2009
Сообщений: 34
С нами:
8772079
Репутация:
8
|
|
Как-то так должно быть, дальше делай под себя.
PHP:
Код:
public
function
createConnection
(
$dsn
,
array
$config
,
array
$options
)
{
$username
=
array_get
(
$config
,
'username'
)
;
$password
=
array_get
(
$config
,
'password'
)
;
try
{
return
new
PDO
(
$dsn
,
$username
,
$password
,
$options
)
;
}
catch
(
Throwable
$t
)
{
// Для пыха 7
echo
'Нет соденинения с БД...'
;
}
catch
(
Exception
$e
)
{
// Для пыха 5
echo
'Нет соденинения с БД...'
;
}
}
|
|
|

30.10.2018, 22:41
|
|
Постоянный
Регистрация: 22.08.2018
Сообщений: 490
С нами:
4066828
Репутация:
202
|
|
Сообщение от Logan22
Как-то так должно быть, дальше делай под себя.
PHP:
Код:
public
function
createConnection
(
$dsn
,
array
$config
,
array
$options
)
{
$username
=
array_get
(
$config
,
'username'
)
;
$password
=
array_get
(
$config
,
'password'
)
;
try
{
return
new
PDO
(
$dsn
,
$username
,
$password
,
$options
)
;
}
catch
(
Throwable
$t
)
{
// Для пыха 7
echo
'Нет соденинения с БД...'
;
}
catch
(
Exception
$e
)
{
// Для пыха 5
echo
'Нет соденинения с БД...'
;
}
}
PHP:
Код:
public
function
createConnection
(
$dsn
,
array
$config
,
array
$options
)
{
$username
=
array_get
(
$config
,
'username'
)
;
$password
=
array_get
(
$config
,
'password'
)
;
try
{
return
new
PDO
(
$dsn
,
$username
,
$password
,
$options
)
;
}
catch
(
Exception
$e
)
{
echo
'Нет соденинения с БД...'
;
}
}
что-то не прокатило, ошибка таже
|
|
|

30.10.2018, 22:50
|
|
Постоянный
Регистрация: 22.08.2018
Сообщений: 490
С нами:
4066828
Репутация:
202
|
|
Хотя возможно кеш виноват.
p.s не, не он.
не прокатило
|
|
|

30.10.2018, 23:10
|
|
Познавший АНТИЧАТ
Регистрация: 07.05.2015
Сообщений: 1,791
С нами:
5799746
Репутация:
1388
|
|
Попробуй
catch( PDOException $е) {
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|