From:             karmak-php at karmak dot org
Operating system: Linux
PHP version:      4.3.3
PHP Bug Type:     Apache related
Bug description:  Bug in virtual()

Description:
------------
(Note: This was originally posted in combination with a segfault bug,
which got prematurely closed)

PHPs 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.


Reproduce code:
---------------
See Description for URLs

Expected result:
----------------
See Description

Actual result:
--------------
See Description

-- 
Edit bug report at http://bugs.php.net/?id=26500&edit=1
-- 
Try a CVS snapshot (php4):  http://bugs.php.net/fix.php?id=26500&r=trysnapshot4
Try a CVS snapshot (php5):  http://bugs.php.net/fix.php?id=26500&r=trysnapshot5
Fixed in CVS:               http://bugs.php.net/fix.php?id=26500&r=fixedcvs
Fixed in release:           http://bugs.php.net/fix.php?id=26500&r=alreadyfixed
Need backtrace:             http://bugs.php.net/fix.php?id=26500&r=needtrace
Need Reproduce Script:      http://bugs.php.net/fix.php?id=26500&r=needscript
Try newer version:          http://bugs.php.net/fix.php?id=26500&r=oldversion
Not developer issue:        http://bugs.php.net/fix.php?id=26500&r=support
Expected behavior:          http://bugs.php.net/fix.php?id=26500&r=notwrong
Not enough info:            http://bugs.php.net/fix.php?id=26500&r=notenoughinfo
Submitted twice:            http://bugs.php.net/fix.php?id=26500&r=submittedtwice
register_globals:           http://bugs.php.net/fix.php?id=26500&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=26500&r=php3
Daylight Savings:           http://bugs.php.net/fix.php?id=26500&r=dst
IIS Stability:              http://bugs.php.net/fix.php?id=26500&r=isapi
Install GNU Sed:            http://bugs.php.net/fix.php?id=26500&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=26500&r=float

Reply via email to