ID:          22057
 Updated by:  [EMAIL PROTECTED]
 Reported By: [EMAIL PROTECTED]
-Status:      Open
+Status:      Feedback
 Bug Type:    Filesystem function related
 PHP Version: 4.3.0
 New Comment:

What error? And please give us a complete (but short!) example
script..



Previous Comments:
------------------------------------------------------------------------

[2003-02-04 15:59:22] [EMAIL PROTECTED]

PHP manual doesn't tell why this function start to give an error in
version 4.3 while working fine with 4.2.x.

I also tried less efficient ways of getting http headers just for test
purposes and such 3-character long string never appears. That
inefficient method returns same string fgets in 4.2.3 used to return.
PHP manual says the function was modified regarding a fix about
binaries. does that affect the result?

As I say it is not about HTTP or server settings. Same code is not
working with 4.3 although it worked fine with 4.2.3. 

Sorry but your answer doesn't help to explain why this error happened
after upgrading to 4.3 while keeping all server and configuration
settings same.

------------------------------------------------------------------------

[2003-02-04 15:39:24] [EMAIL PROTECTED]

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

fgets() will only return a single line of data or the requested number
of bytes, which ever one is smallest will be returned. In case of HTTP,
the 1st line that will be sent to you by the webserver will be the
response code, which in many cases is just a number 3 bytes long.

------------------------------------------------------------------------

[2003-02-04 15:29:19] [EMAIL PROTECTED]

The following code used to return correct  headers for the requested
page whit PHP 4.2.3.. $host, $port and $path variables are dynamically
assigned by the script.
Now it doesn't work without any configuration change other than PHP
upgrade. It returns a three-character string instead of the requested
information. Is this because of the change applied to fgets function in
PHP 4.3? Same code stopped working when migrated to 4.3 from 4.2.3, no
module or configuration change happened during upgrade, same settings
were kept.



$fp = fsockopen($host,$port);

$request =
"GET $path HTTP/1.1
Host: $host$port
Accept: */*
Accept-Charset: iso-8859-1
Accept-Encoding: identity

";
    fputs($fp,$request);
    $answer = fgets($fp,4096);


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=22057&edit=1

Reply via email to