Greetings,
I'm posting this here in hopes that it will help some people diagnose a very annoying and difficult to diagnose problem with Apache and PHP. You may notice symptoms such as incomplete or empty responses from requests -- pages not loading or partially loading. In a browser's network debugging console such as in Firebug or Chrome, you may see an HTTP status code of 200 returned in the response, but it's marked as an error, and sometimes if you dig deeper you'll see an error message such as "Incomplete Chunked Encoding". After looking through all your php and apache error logs you'll likely find some error messages such as:
[Mon May 06 00:38:57 2013] [notice] child pid 4945 exit signal Segmentation fault (11)
After spending months scratching my head over this, running EasyApache and updating to the latest PHP 5.3 version (5.3.28) and latest Apache 2.2 version (2.2.26), disabling mod deflate and gzip compression, disabling my dbg module, etc., the problems were still present. Finally I tried disabling homeloader.so in my php.ini and all the problems disappeared, no more segfaults, no more probs loading pages. I did a little research and found that this module is used by CPanel for something to do with loading PEAR modules. I checked my apps and disabling it didn't cause any probs, and I know I'm using some old PEAR libs in some of my code, so I was happy to see they still worked. I then ran EasyApache one last time to re-enable mod deflate and gzip compression and was dismayed to see that my problems returned. I thought it wasn't homeloader.so after all, but then I checked my php.ini and found that EasyApache had re-enabled homeloader.so. I then did a little more research and found that there's a setting in WHM that adds homeloader.so to your php.ini if you have it enabled and removes it if you disable it. That setting can be found in WHM under:
Home >> Software >> Module Installers >> PHP Extensions and Applications Package
On that screen, the first option you'll see is "PHP Extensions and Applications Package Magic User Loader". If you disable that and then run EasyApache, it will disable homeloader.so in your php.ini.
So, hopefully this info will help someone.
I'm posting this here in hopes that it will help some people diagnose a very annoying and difficult to diagnose problem with Apache and PHP. You may notice symptoms such as incomplete or empty responses from requests -- pages not loading or partially loading. In a browser's network debugging console such as in Firebug or Chrome, you may see an HTTP status code of 200 returned in the response, but it's marked as an error, and sometimes if you dig deeper you'll see an error message such as "Incomplete Chunked Encoding". After looking through all your php and apache error logs you'll likely find some error messages such as:
[Mon May 06 00:38:57 2013] [notice] child pid 4945 exit signal Segmentation fault (11)
After spending months scratching my head over this, running EasyApache and updating to the latest PHP 5.3 version (5.3.28) and latest Apache 2.2 version (2.2.26), disabling mod deflate and gzip compression, disabling my dbg module, etc., the problems were still present. Finally I tried disabling homeloader.so in my php.ini and all the problems disappeared, no more segfaults, no more probs loading pages. I did a little research and found that this module is used by CPanel for something to do with loading PEAR modules. I checked my apps and disabling it didn't cause any probs, and I know I'm using some old PEAR libs in some of my code, so I was happy to see they still worked. I then ran EasyApache one last time to re-enable mod deflate and gzip compression and was dismayed to see that my problems returned. I thought it wasn't homeloader.so after all, but then I checked my php.ini and found that EasyApache had re-enabled homeloader.so. I then did a little more research and found that there's a setting in WHM that adds homeloader.so to your php.ini if you have it enabled and removes it if you disable it. That setting can be found in WHM under:
Home >> Software >> Module Installers >> PHP Extensions and Applications Package
On that screen, the first option you'll see is "PHP Extensions and Applications Package Magic User Loader". If you disable that and then run EasyApache, it will disable homeloader.so in your php.ini.
So, hopefully this info will help someone.