MySQL error: User has already more than 'max_user_connections' active connec

can someone explain this to me?

It looks like your site is dependant on http includes in PHP, and these were disabled on your account via a firewall rule.

If you’re using a lot of http includes, and receiving a fair amount of traffic, this can be blocked because it looks like hundreds of connections from a single IP.

If possible, you shouldn’t use http includes.

by http includes does he mean <?php require_once(); ?>?

My guess is it means in a URL wrapper.

ok…asked him what he meant. here is the reply:

What you just did was a filesystem include (i said: require_once(‘file.php’)), not an http include. There are absolutely no problems with filesystem includes.

An http include would actually include the file over http. include(“http://example.com/file.php”);

Do you think that http includes might cause one to open more database connections? perhaps they load up the included page in a seperate thread or something.

I found one http include for a form on my left-side column, so that would have been included on every page. which would make sense.

What’s that got to do with a MySQL connection?

…well once they fixed (probably temporarily -> time will tell), the db problem. they then made my site unavailable by firewalling it…

I was just wondering if http includes might work differently to normal file includes in PHP so that http included files did open new connections. i doubt it though.

It’s not me who is writing irrelevant posts all the time. I am merely the person who is disagreeing with these posts of you, so stop accusing me of thinking that I am the smartest person here if you can’t back that up.

Sure, a site with relatively low traffic is fine for 128kbps. But you only need three or more people in the evening to open a page at the same time and the speed of each one of them will go down. Offering larger images or even downloads would make 128kpbs totally unfeasible for websites.

With http includes they mean using include() on a file which is located on a remote server. There is no difference when it comes to MySQL connections between include(‘bla’); or include(‘http://yoursite.com/bla’); if both pages are on your server.

bitbytes recommended using persistent connections when the MySQL server is a physically separate machine to your web server. The latency involved in connecting is greater because it’s over a network.
It doesn’t mean permanent connections are right for a single-server site.

Hosting a web server at home isn’t very sensible (the reasons have been covered in the web hosting forum many many times but to reiterate - bandwidth, latency, hardware and 24/7 energy costs, security, 24/7/365 service, consistency are all negatively affected by hosting at home. It’s actually more expensive than most normal shared hosting once you factor in all costs).

If you’re unable to use a better host (the simple solution) then you may be able to implement a cache system with any data that doesn’t update too frequently to avoid performing a query.
e.g
Get age of cache file, If still fresh - load and use data, else perform query and write new data.
This way you can decimate the amount of queries made albeit with increased file access overhead.

That is very odd, can you tell me the support ticket ID and I would be happy to review it?

We have 25,000 clients, we host over 220,000 domains and we have over 300 servers.

Thanks, Ben