php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #41635 SoapServer and zlib.output_compression with FastCGI result in major slowdown
Submitted: 2007-06-08 14:32 UTC Modified: 2007-11-01 14:12 UTC
Votes:5
Avg. Score:5.0 ± 0.0
Reproduced:5 of 5 (100.0%)
Same Version:2 (40.0%)
Same OS:3 (60.0%)
From: jln at magentammt dot com Assigned: dmitry
Status: Closed Package: SOAP related
PHP Version: 5.2.4 OS: FreeBSD 6.2
Private report: No CVE-ID:
 [2007-06-08 14:32 UTC] jln at magentammt dot com
Description:
------------
Using the SoapServer class in combination with zlib.output_compression = On (in php.ini) together with FastCGI (Lighttpd 1.4.15 webserver) results in delays of about 1 minute before the result is available! Disabling zlib.output_compression and everything goes back to normal. Using normal pages (i.e. not via SoapServer) works fine with output_compression. So it appears to be a SoapServer::handle() problem.

This happens even for simple soap error responses, and the bug was present in every version of PHP 5.x.y and Lighttpd 1.4.x we've tried.


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2007-06-26 07:48 UTC] jln at magentammt dot com
I'm using the FreeBSD ports system which automatically patches the sources, and that fails on the snapshot. Could you indicate which files you have changed/fixed for this bug? Then I'll try copying those after the patching on the 5.2.3 files. I searched http://cvs.php.net/viewvc.cgi/php-src/ext/soap/ but couldn't find any recent changes.
 [2007-06-26 11:13 UTC] tony2001@php.net
>I'm using the FreeBSD ports system which automatically patches 
>the sources, and that fails on the snapshot.

You don't need any patches or port systems to install the snapshot.
Moreover, they can be causing your problems, that's why I want you to test clean PHP sources without any third-party patches.
Just grab the sources, ./configure it, make and put the result binaries to the correct place.
 [2007-06-26 14:25 UTC] jln at magentammt dot com
I'm probably daft, but I can't get zlib compression working:

./configure --enable-soap --enable-fastcgi --with-zlib --with-zlib-dir --enable-force-cgi-redirect --enable-discard-path --with-mysqli=/usr/local/bin/mysql_config

followed by make and copy to the proper location, update php.ini, restart lighttpd. But the http headers don't have any output compression bits in them... Also the webservice (soap) doesn't work anymore, no messages just 'http request failed' in the client. The newly build version of php is used (5.2.4/dev). If I switch to the regular, ports build, 5.2.3 compression works (not for soap of-course).
 [2007-07-02 14:14 UTC] jln at magentammt dot com
Still couldn't get the ./configure version of PHP working, even when using the same parameters as used by the ports, but according to some older notes of mine the Apache/mod_php5 and zlib.output_compression combination worked. Didn't try Apache with FastCGI, and Lighttpd only works with FastCGI.
 [2007-07-13 14:01 UTC] dmitry@php.net
This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.


 [2007-09-21 12:11 UTC] jln at magentammt dot com
Normal soap results appear to work, _BUT_ soap faults are still slow.
 [2007-11-01 13:28 UTC] dmitry@php.net
soap faults are fixed in CVS HEAD and PHP_5_3 (not in PHP_5_2).
 [2007-11-01 14:12 UTC] dmitry@php.net
Committed into PHP_5_2 too.
 
PHP Copyright © 2001-2014 The PHP Group
All rights reserved.
Last updated: Wed Apr 16 22:02:05 2014 UTC