Preferred Member from GB
joined:July 25, 2005
I've got a puzzling error here. I'm about to finish building a large toolset containing of approx 100 php files - each heavily relying on MySQL operations.
All scripts are using a similar architecture and I've never had any issues. One of the scripts suddenly started acting weird.
Once I've accessed this script, the current session becomes unusable - in other words, I cannot access any other script on the server. This behaviour I've never experienced before. Normally you get errors, notices or timeouts. In this case the browser progress bar just goes round and round forever. I don't even get a timeout. The browser console doesn't show me anything.
The only clue I get is these lines in the raw error log:
[Thu Jun 30 08:42:19 2016] [error] [client *.*.92.176] File does not exist: /home/example/public_html/500.shtml, referer: example.com/script.php
So it's throwing a 500 error, which is probably the most unhelpful error code ever.
The reason why I've narrowed it down to a database issue is that if I run a very simple php file that doesn't rely on the db, it works completely fine.
To get the tools to work again, I have to delete my cookies and flush my DNS. Then in this fresh session, if I avoid hitting the faulty script, everything works well. Then I click on this script again, and all the other scripts are "contaminated" with the same error.
The faulty script is referencing the biggest table in my system, which has... wait for it... drumroll... 40,000 rows of data. And that's just me using it. I expect it to have well over 5 million rows at any point. I have worked with huge tables before and I've never had any issues.
My main problem is that I don't even understand the cause of this error and I have no idea how to diagnose this.