Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

500 Server error: Premature end of script headers:

Tags:

I have a website in php that works with a solr indexation server, based on CodeIgniter.

We got a lot of new content, so we flushed the database, and had to reindex the content (about 168,000 elements). I created a script to index the contents by slices of 500 – when the script finishes, we launch the next indexing.

It works perfectly on my local test environment, but on production I get this 500 error:

[Thu Dec 02 ...] [error] [client IP] Premature end of script headers: index.php 

There is absolutely nothing in my php.log, just the apache error_log that returns it. I've seen it happen on other pages of the website once or twice, but it was during this indexing.

Any ideas?

like image 271
Stéphane Goetz Avatar asked Dec 02 '10 15:12

Stéphane Goetz


1 Answers

This error is usually (sometimes) caused by the FastCGI setup of the FcgidIOTimeout directive (old name: IPCCommTimeout).

That is the number of seconds for IO timeout, default is 40 seconds. Timeout means that

"The FastCGI application must begin generating the response within this period of time. Increase this directive as necessary to handle applications which take a relatively long period of time to respond."

You can try to solve it putting this into your vhost.conf:

<IfModule mod_fcgid.c>   # 5 minutes for IO timeout, default is 40 seconds   FcgidIOTimeout 300 </IfModule> 

You can increase it as you need and then restore the original value once the reindexing process is complete.

like image 166
Fabrizio D'Ammassa Avatar answered Sep 17 '22 09:09

Fabrizio D'Ammassa