ID:               26341
 Updated by:       [EMAIL PROTECTED]
 Reported By:      karmak-php at karmak dot org
-Status:           Feedback
+Status:           No Feedback
 Bug Type:         Apache related
 Operating System: Linux
 PHP Version:      4.3.3
 New Comment:

No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Open". Thank you.




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

[2003-11-27 18:12:38] [EMAIL PROTECTED]

Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php

Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.



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

[2003-11-21 01:49:40] karmak-php at karmak dot org

The link to the segfault example was wrong. It should have been:

   http://staging.karmak.org/2003/php-virtual-bug/b1

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

[2003-11-21 01:42:17] karmak-php at karmak dot org

Description:
------------
I've found two problems with virtual() that seem likely to be related.

The first is that virtual() does not behave quite like the apache
#include virtual="": When virtual() is used to call another php script,
the query string in the virtual() call is ignored. For example, if you
call virtual("/file?x=y"), the variable "x" will not be set in the
included php script. An example of this is posted at:

  http://staging.karmak.org/2003/php-virtual-bug/a1

The source for the two files used in this example are at:

  http://staging.karmak.org/2003/php-virtual-bug/a1-php.txt
  http://staging.karmak.org/2003/php-virtual-bug/a2-php.txt

However, if you call the first script as "a1?x=y", the variable "x"
will be set to "y" in the second script. 

This is not the way the Apache virtual function behaves: With Apache,
the query string in the virtual call is passed to the script, as can be
seen in the following shtml file:

  http://staging.karmak.org/2003/php-virtual-bug/a3

The source to this file is at:

 http://staging.karmak.org/2003/php-virtual-bug/a3-shtml.txt

Furthermore, all query string variables are reset when the virtual call
is issued. This can be seen by calling the shtml file:

  http://staging.karmak.org/2003/php-virtual-bug/a4?x=y

With the corresponding source code at:

 http://staging.karmak.org/2003/php-virtual-bug/a4-shtml.txt

Note that the x=y declaration is not passed to the php script.

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

The second problem is more critical, as it leads to a segfault which is
displayed in the error logs, but nothing is reported in the browser and
only a partial page will be displayed. An example of this is at:

  http://staging.karmak.org/2003/php-virtual-bug/a2

This page should end with the word "END", but instead it is cut off
mid-sentence. The source for the two files used in this example are
at:

  http://staging.karmak.org/2003/php-virtual-bug/b1-php.txt
  http://staging.karmak.org/2003/php-virtual-bug/b2-php.txt




Reproduce code:
---------------
See the description for source code URLs.


Expected result:
----------------
See description.

Actual result:
--------------
See description.


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


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

Reply via email to