Помогите определить причину ошибки

Главные вкладки

Аватар пользователя -NIK- -NIK- 4 сентября 2013 в 19:53

Сайт расположен на локальном сервере Open Server 4.8.7. После установки модуля при переходе по ссылке localhost/admin/content выскакивает ошибка:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 2006 MySQL server has gone away' in D:\NIK\OpenServer\domains\localhost\includes\database\database.inc:2168 Stack trace: #0 D:\NIK\OpenServer\domains\localhost\includes\database\database.inc(2168): PDOStatement->execute(Array) #1 D:\NIK\OpenServer\domains\localhost\includes\database\database.inc(680): DatabaseStatementBase->execute(Array, Array) #2 D:\NIK\OpenServer\domains\localhost\includes\database\database.inc(2347): DatabaseConnection->query('SELECT expire, ...', Array, Array) #3 D:\NIK\OpenServer\domains\localhost\includes\lock.inc(167): db_query('SELECT expire, ...', Array) #4 D:\NIK\OpenServer\domains\localhost\includes\lock.inc(146): lock_may_be_available('theme_registry:...') #5 D:\NIK\OpenServer\domains\localhost\includes\theme.inc(449): lock_acquire('theme_registry:...') #6 D:\NIK\OpenServer\domains\localhost\includes\bootstrap.inc(446): ThemeRegistry->set(Array) #7 [internal function]: DrupalCacheArray->__destruct() # in D:\NIK\OpenServer\domains\localhost\includes\database\database.inc on line 2168

Комментарии

Аватар пользователя romsla romsla 4 сентября 2013 в 20:31

Ну, как вариант, эти ошибки могут выдаваться при посылке серверу неверного или слишком длинного запроса.

Аватар пользователя -NIK- -NIK- 4 сентября 2013 в 20:45

"Romsla" wrote:
Ну, как вариант, эти ошибки могут выдаваться при посылке серверу неверного или слишком длинного запроса.

Как ссылка http://localhost/#overlay=admin/content может быть не верной? А насчет длинного запроса в файле .htaccess прописано php_value max_execution_time 10000 и php_value memory_limit 512M

Аватар пользователя Chyvakoff Chyvakoff 5 сентября 2013 в 9:40

"-NIK-" wrote:
Как ссылка http://localhost/#overlay=admin/content может быть не верной?

При чём тут URL?
"Romsla" wrote:
при посылке серверу неверного или слишком длинного запроса.

Это SQL запрос к БД. Попробуй в phpmyadmin что-ли поглядеть. Может там найдешь вешающий сервер запрос. И 10000 надо выставлять не в htaccess, а в mysql.ini или ещё в каком конфиге БД.

Аватар пользователя Dalay Dalay 5 сентября 2013 в 12:08

"-NIK-" wrote:
А насчет длинного запроса в файле .htaccess прописано php_value max_execution_time 10000 и php_value memory_limit 512M

MySQL же плющит. Попробуйте с max_allowed_packet в my.ini(где в винде лежит не знаю, но знает гугл) поиграться.

Аватар пользователя -NIK- -NIK- 6 сентября 2013 в 4:04

"Dalay" wrote:
MySQL же плющит. Попробуйте с max_allowed_packet в my.ini(где в винде лежит не знаю, но знает гугл) поиграться.

По умолчанию стояло max_allowed_packet = 2M, ставил и 5 и 50 все равно та же ошибка выскакивает...

Аватар пользователя alex_shut alex_shut 6 сентября 2013 в 18:50
Возможные причины:
1. MySQL has crashed.
Маловероятно, если все остальное работает.

2. MySQL has been shutdown.
Смешно. Вы уверены что компьютер включен в розетку?

3. Network connectivity has failed.
Тоже маловероятно чтобы сеть отваливалась всегда при запросе определенной страницы.

4. MySQL networking has failed
Наиболее вероятная причина. MySQL не может передать большой блок данных из-за того, что величина пакета слишком маленькая. Рекомендуют 2 вещи:
1) Сделать рефреш кеша и попробовать снова. :-)
2) в /etc/mysql/my.cnf (конфиге mysql, возможно у вас он в другом месте) увеличить параметр
max_allowed_packet = 1M (по-умолчанию) на 16M или больше.

5. The database connection has timed out and thus the SQL has failed.
Тоже возможно. Стоит оптимизировать запросы. Ну или увеличить таймаут в /etc/mysql/my.cnf
wait_timeout = 600 seconds на 6000 или больше

После изменения конфига надо рестартануть mysql.

из интернетов