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

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.




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

[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