Jump to content

Fatal error: Exception: SQLSTATE[HY000]: General error: 2006 Server has gone away


MichaPau
 Share

Recommended Posts

Hello

On an old page from friends they get this error trying to edit the home page. (No error viewing the published page)

All other pages are working. (Editing and viewing).

The only difference I see is that the Home page is using a module called ImageExtra which is no longer maintained.

ProcessWire version is 3.0.62., PHP version: 8.3.12

Full error message on Save:

Quote

Error: Exception: SQLSTATE[HY000]: General error: 2006 Server has gone away (in /home/adminlas/public_html/wire/core/WireDatabasePDO.php line 454)

#0 /home/adminlas/public_html/wire/core/WireDatabasePDO.php(454): PDOStatement->execute()
#1 /home/adminlas/public_html/wire/core/PagesLoader.php(661): ProcessWire\WireDatabasePDO->execute(Object(PDOStatement))
#2 /home/adminlas/public_html/wire/core/Pages.php(687): ProcessWire\PagesLoader->getById(Array, Array, NULL)
#3 /home/adminlas/public_html/wire/core/PagesType.php(293): ProcessWire\Pages->getById(Array, Array)
#4 /home/adminlas/public_html/wire/core/Users.php(58): ProcessWire\PagesType->get(1056)
#5 /home/adminlas/public_html/wire/core/Session.php(171): ProcessWire\Users->get(1056)
#6 /home/adminlas/public_html/wire/core/ProcessWire.php(432): ProcessWire\Session->__construct(Object(ProcessWire\ProcessWire))
#7 /home/adminlas/public_html/wire/core/ProcessWire.php(209): ProcessWire\ProcessWire->load(Object(ProcessWire\Config))
#8 /home/adminlas/public_html/index.php

Anyone has an idea how to investigate this error further?

[Edit]

I guess this means that there is some timeout.

Can it be that they are using too many, too big images ?

The template has an image field with no limitations. I tried to set max_execution_time to 300 for the php but it still hangs an save.

This error started suddenly without any modifications to the processwire files, templates etc...

Edited by MichaPau
Link to comment
Share on other sites

Is that on a shared hosting server? The error indicates that the execution time of a mysql query was exceeded or a memory limitation in the database was reached, in which case the server aborts the query and drops the connection. Those are often pretty close knit on shared hosts. If you have access to the database itself, the first thing to look at would be wait_timeout. "SELECT @@wait_timeout" will give you the seconds MySQL will spend on a query. If that is very low, you can try setting a higher per-session value through $config->dbInitCommand in site/ready.php.

$config->dbInitCommand = "SET NAMES '{charset}'; SET wait_timeout = 300";

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...