#49482 [Opn->Asn]: SOAP encoding although WSDL requires use='LITERAL'

2009-09-06 Thread dmitry
 ID:   49482
 Updated by:   dmi...@php.net
 Reported By:  joep at clickhere dot nl
-Status:   Open
+Status:   Assigned
 Bug Type: SOAP related
 Operating System: Ubuntu
 PHP Version:  5.2.10
-Assigned To:  
+Assigned To:  dmitry


Previous Comments:


[2009-09-06 10:29:52] joep at clickhere dot nl

Description:

I was hunting a bug in our soap-client. 'xsi:type' appears in the xml,
even when the WSDL states 'use="literal"'.

Our client works fine with 5.2.4, but since 5.2.7/5.2.8 its broken
(Also tested 5.2.9)

Came across this fix in ext/soap/php_encoding.c

+if (encode != enc && style == SOAP_LITERAL) {
add_type = 1;
-}

Shouldn't that be:

if (encode != enc && style == SOAP_ENCODED) {
add_type = 1;   
}








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



#49332 [Com]: Make fails with "Undefined symbols: _res_9_dn_expand, _res_9_search and _res_9"

2009-09-06 Thread tmallen at 703designs dot com
 ID:   49332
 Comment by:   tmallen at 703designs dot com
 Reported By:  vizh at me dot com
 Status:   Assigned
 Bug Type: Compile Failure
 Operating System: Mac OS X 10.6 (10A432)
 PHP Version:  5.2.10
 Assigned To:  scottmac
 New Comment:

Here's a temporary fix: http://trac.macports.org/ticket/19997


Previous Comments:


[2009-08-26 00:51:27] djem dot v3 at gmail dot com

Since php 5.3 has been preinstalled in Snow Leopard, it is very 
important to have php 5.2 in system.



[2009-08-24 14:43:24] j...@php.net

I would guess Scott meant "PHP_5_2" branch.. :)



[2009-08-23 11:31:11] scott...@php.net

This is fixed in 5.3.1-dev, I'll look into backporting changes to the
5.3 branch.



[2009-08-23 03:31:54] vizh at me dot com

Description:

I've download http://snaps.php.net/php5.2-latest.tar.gz, runs 
./configure; make and make fails with undefined symbols: 
_res_9_dn_expand, _res_9_search and _res_9_dn_skipname

Reproduce code:
---
cd /tmp
curl "http://snaps.php.net/php5.2-latest.tar.gz"; > php.tar.gz
tar -xf php.tar.gz; rm -rf php.tar.gz; mv php* php-build; cd php-build
./configure --disable-all
make

Actual result:
--
Undefined symbols:
  "_res_9_search", referenced from:
  _zif_dns_get_mx in dns.o
  _zif_dns_check_record in dns.o
  "_res_9_dn_expand", referenced from:
  _zif_dns_get_mx in dns.o
  "_res_9_dn_skipname", referenced from:
  _zif_dns_get_mx in dns.o
  _zif_dns_get_mx in dns.o





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



#49470 [Ver->Csd]: FILTER_SANITIZE_EMAIL does not work

2009-09-06 Thread iliaa
 ID:   49470
 Updated by:   il...@php.net
 Reported By:  contact at ghetmedia dot com
-Status:   Verified
+Status:   Closed
 Bug Type: Filter related
 Operating System: *
 PHP Version:  5.2SVN-2009-09-04 (snap)
 New Comment:

This bug has been fixed in SVN.

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.




Previous Comments:


[2009-09-07 02:35:25] s...@php.net

Automatic comment from SVN on behalf of iliaa
Revision: http://svn.php.net/viewvc/?view=revision&revision=288117
Log: Fixed bug #49470 (FILTER_SANITIZE_EMAIL allows disallowed
characters).



[2009-09-05 17:28:22] contact at ghetmedia dot com

This is not compliant with the domain name RFC.



[2009-09-04 23:26:46] contact at ghetmedia dot com

Description:

Filter_var and it's flag FILTER_SANITIZE_EMAIL do absolutely nothing.

Reproduce code:
---
echo filter_var('t...@t//est.com', FILTER_SANITIZE_EMAIL);

Expected result:

t...@test.com

Actual result:
--
t...@t//est.com





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



#46240 [Com]: Build in foreach else support

2009-09-06 Thread john at brahy dot com
 ID:   46240
 Comment by:   john at brahy dot com
 Reported By:  kjarli at gmail dot com
 Status:   Open
 Bug Type: Feature/Change Request
 Operating System: *
 PHP Version:  5.2.6
 New Comment:

Please add a foreach else. It would save so much programming time and
eliminate so much room for error. It's so simple... foreach (){} else
{}

PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE


Previous Comments:


[2008-10-06 08:57:14] kjarli at gmail dot com

Description:

Each time you want to foreach an array, you first have to check with 
a count or empty if you want to give a message or w/e to notify there 
is no entry to an array (or object if implements like iterator).

If possible add a else option to foreach.




Reproduce code:
---
 0) {
foreach($myArray as $key => $value) {
}
}

//new style

foreach($myArray as $key => $value) {
} else {
   // empty array/object
}
(kinda like how smarty implements it)






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



#48216 [Com]: PHP Fatal error: SOAP-ERROR: Parsing WSDL: Extra content at the end of the doc

2009-09-06 Thread michael dot tibben at gmail dot com
 ID:   48216
 Comment by:   michael dot tibben at gmail dot com
 Reported By:  mark at everytruckjob dot com
 Status:   Open
 Bug Type: SOAP related
 Operating System: CentOs 5.3
 PHP Version:  5.3.0RC2
 New Comment:

We are experiencing a similar issue. However, the HTTP reply is using
chunked transfer encoding (Content-Length is NOT required when using
chunked)


HTTP/1.1 200 OK
Date: Sun, 06 Sep 2009 23:25:16 GMT
Server: Apache
X-Powered-By: Servlet/2.4 JSP/2.0
Transfer-Encoding: chunked
Content-Type: text/xml; charset=UTF-8


Previous Comments:


[2009-06-24 10:23:47] sjoerd-php at linuxonly dot nl

Thank you for your bug report.

The WSDL URL you supply does not send a Content-Length or
Transfer-Encoding header in some cases, which is mandatory in a response
with a body. In other words, it does not follow the HTTP protocol. You
should contact the provider of the WSDL about this.


GET /url HTTP/1.0
Host: example.com

HTTP/1.1 200 OK
Date: Wed, 24 Jun 2009 10:18:10 GMT
Server: Apache
Connection: close
Content-Type: text/xml

...



[2009-05-09 23:12:48] mark at everytruckjob dot com

Description:

Trying to set up a soapClient using the wsdl from the location found in
http://www.everytruckjob.com/php53-url.txt (this contains the url and is
not the wsdl file itself so I can remove the location once this report
is closed as it is not my soap server).

Copying the wsdl from the referenced location to my own
(http://www.everytruckjob.com/wsdl.php) or saving it to a local file
allows parsing to succeed, but while the file sizes seem to be the same,
I can't figure out what headers or content causes the "Extra content at
the end of the document" error.

This works as expected on php 5.2.9 compiled and in use on the same
client server with Centos 5.3 libxml2.x86_64 2.6.26-2.1.2.7.


Reproduce code:
---
http://www.everytruckjob.com/php53-url.txt'));  

try {
$a = new SoapClient($wsdl);
} catch (SoapFault $e) {
var_dump(libxml_get_last_error());
var_dump($e);
}
?>

Expected result:

No SoapFault

Actual result:
--
object(LibXMLError)#1 (6) { ["level"]=>  int(3) ["code"]=>  int(5)
["column"]=>  int(4) ["message"]=>  string(41) "Extra content at the end
of the document " ["file"]=>  string(55) "http://"; ["line"]=> 
int(488) } 

object(SoapFault)#2 (9) {
["message":protected]=>  string(146) "SOAP-ERROR: Parsing WSDL:
Couldn't load from 'X' : Extra content at the end of the document "







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



#46013 [Asn->Fbk]: problem with zip php functions and symbolic links

2009-09-06 Thread pajoye
 ID:   46013
 Updated by:   paj...@php.net
 Reported By:  black-cod3 at live dot com
-Status:   Assigned
+Status:   Feedback
 Bug Type: Feature/Change Request
 Operating System: linux
 PHP Version:  5.2.6
 Assigned To:  pajoye
 New Comment:

Please try using this snapshot:

  http://snaps.php.net/php5.3-latest.tar.gz
 
For Windows:

  http://windows.php.net/snapshots/




Previous Comments:


[2008-09-07 13:27:39] black-cod3 at live dot com

yes i see, thanks pajoye..



[2008-09-07 11:01:37] paj...@php.net

Symbolic links are not yet supported (extra flags/fields).



[2008-09-06 20:56:29] black-cod3 at live dot com

Also note that when zipping the symbolic link using php code as:

open('indx.zip', ZipArchive::CREATE);
if ($res === TRUE) {
$zip->addFile('indx');
$zip->close();
echo 'ok';
} else {
echo 'failed';
}
?>

also the result after extracting indx.zip with the above php extracting
code:

indx



[2008-09-06 20:43:13] black-cod3 at live dot com

Description:

When using the zip php functions to extract or read a zip file
containing a symbolic link (ex: indx ->
/home/myuser/public_html/index.html) it fails to extract the original
symbolic link it only returned the link name and it's contents is the
symbolic link path.


ln -s /home/myuser/public_html/index.html indx;ls -la 
28672300 lrwxrwxrwx  1 myuser mygroup   35 Sep  6 13:41 indx ->
/home/myuser/public_html/index.html

zip -y indx.zip indx;ls -la 
28672300 lrwxrwxrwx  1 myuser mygroup   35 Sep  6 13:41 indx ->
/home/myuser/public_html/index.html
28672304 -rw-r--r--  1 myuser mygroup  175 Sep  6 14:50 indx.zip

extracting php code to the indx.zip as following: 


Reproduce code:
---
open('indx.zip') === TRUE) {
$zip->extractTo('/home/myuser/public_html/');
$zip->close();
echo 'done';
} else {
echo 'failed';
}
?>

Expected result:

expected to be extracted as :

indx -> /home/myuser/public_html/index.html

Actual result:
--
but actual reslult is :

indx

and the contents of indx is :

/home/myuser/public_html/index.html


Thx for your attention and hope to know if there is a different coding
method to zip a symbolic link by php zip functions or the above code was
expected to works well?





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



#40013 [Opn->Csd]: php_uname() doesnt return nodename

2009-09-06 Thread pajoye
 ID:   40013
 Updated by:   paj...@php.net
 Reported By:  gk at gknw dot de
-Status:   Open
+Status:   Closed
 Bug Type: Feature/Change Request
 Operating System: NetWare
 PHP Version:  6CVS-2007-01-03 (snap)
 Assigned To:  pajoye
 New Comment:

This bug has been fixed in SVN.

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.




Previous Comments:


[2009-09-06 22:01:18] s...@php.net

Automatic comment from SVN on behalf of pajoye
Revision: http://svn.php.net/viewvc/?view=revision&revision=288116
Log: - fix #40013, php_uname() doesnt return nodename (MFH)



[2008-03-05 21:21:55] paj...@php.net

Applied to 5.2 and HEAD, remains 5.3. I will do it later, no 5.3 tree
at hand and low bandwidth here :)



[2007-01-03 16:32:04] gk at gknw dot de

Description:

On NetWare platform php_uname('n') returns a hardcoded string 'NLM'
which is pretty much useless. This is due to the fact that Novell
NetWare pupulates the utsname struct different from other Posix
platfoms. Nevertheless they have added a bunch of other useful members
which return the correct hostname as well as more accurate version
infos.
Here's a unified diff against ./ext/standard/info.c which corrects
php_uname() for NetWare, and also adds some more useful information:
http://www.gknw.net/test/php_issues/info.c.diff
to verify this proposed patch here's a test script running on PHP 5.2.0
unpatched (NetWare 6.50 SP 6):
http://www.gknw.net/tstphp/phpuname.php
and here's running PHP 5.2.0 patched (NetWare 5.10 SP 8):
http://www.mailkastl.at/tstphp/phpuname.php
as you can see I get here the hostname of the machine, and in addition
the NetWare version + SP level, and the libc version too.
Would be great if this patch gets applied.
Thanks!







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



#49476 [Opn]: $_ENV does not work

2009-09-06 Thread pajoye
 ID:   49476
 Updated by:   paj...@php.net
 Reported By:  elmu at gmx dot de
 Status:   Open
 Bug Type: Variables related
 Operating System: Windows
 PHP Version:  6SVN-2009-09-05 (snap)
 New Comment:

ENV works just fine here. But there are changes about input encoding
that have not been test at all. And all in all, the current status of
php6 is not tested at all, unstable and needs heavy work to get to
something usable (usable != stable).


Previous Comments:


[2009-09-06 19:48:16] elmu at gmx dot de

Note:
It seems that the current PHP 6 has not yet been tested on Windows.
All the bugs I found are related to filesystem or operation system.



[2009-09-05 23:57:06] elmu at gmx dot de

Sorry 
I wanted to say $_SERVER["SERVER_SIGNATURE"] works on both.



[2009-09-05 23:52:42] elmu at gmx dot de

Description:

$_ENV["OS"]
$_ENV["PROCESSOR_IDENTIFIER"]
$_ENV["COMPUTERNAME"]

are empty on PHP 6 VC6 while the same code works fine on PHP 5,

while
$_ENV["SERVER_SIGNATURE"]
works on both PHP 5 and PHP 6.

On the other hand the missing values appear correctly in phpinfo()

Strange.






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



#49476 [Opn]: $_ENV does not work

2009-09-06 Thread elmu at gmx dot de
 ID:   49476
 User updated by:  elmu at gmx dot de
 Reported By:  elmu at gmx dot de
 Status:   Open
 Bug Type: Variables related
 Operating System: Windows
 PHP Version:  6SVN-2009-09-05 (snap)
 New Comment:

Note:
It seems that the current PHP 6 has not yet been tested on Windows.
All the bugs I found are related to filesystem or operation system.


Previous Comments:


[2009-09-05 23:57:06] elmu at gmx dot de

Sorry 
I wanted to say $_SERVER["SERVER_SIGNATURE"] works on both.



[2009-09-05 23:52:42] elmu at gmx dot de

Description:

$_ENV["OS"]
$_ENV["PROCESSOR_IDENTIFIER"]
$_ENV["COMPUTERNAME"]

are empty on PHP 6 VC6 while the same code works fine on PHP 5,

while
$_ENV["SERVER_SIGNATURE"]
works on both PHP 5 and PHP 6.

On the other hand the missing values appear correctly in phpinfo()

Strange.






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



#49487 [NEW]: addslashes � Quote string with slashes

2009-09-06 Thread shefik at allknightaccess dot com
From: shefik at allknightaccess dot com
Operating system: Mac 10.5.8
PHP version:  5.3.0
PHP Bug Type: Feature/Change Request
Bug description:  addslashes — Quote string with slashes

Description:

Please add a new parameter for the function addslashes, where it flags 
what type of character to quote string with slashes.

Such as:

SINGLE
DOUBLE
BACKSLASH
NULL
ALL

All would remain the default, as it is right now. Example use with the 
new parameter:










-- 
Edit bug report at http://bugs.php.net/?id=49487&edit=1
-- 
Try a snapshot (PHP 5.2):
http://bugs.php.net/fix.php?id=49487&r=trysnapshot52
Try a snapshot (PHP 5.3):
http://bugs.php.net/fix.php?id=49487&r=trysnapshot53
Try a snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=49487&r=trysnapshot60
Fixed in SVN:
http://bugs.php.net/fix.php?id=49487&r=fixed
Fixed in SVN and need be documented: 
http://bugs.php.net/fix.php?id=49487&r=needdocs
Fixed in release:
http://bugs.php.net/fix.php?id=49487&r=alreadyfixed
Need backtrace:  
http://bugs.php.net/fix.php?id=49487&r=needtrace
Need Reproduce Script:   
http://bugs.php.net/fix.php?id=49487&r=needscript
Try newer version:   
http://bugs.php.net/fix.php?id=49487&r=oldversion
Not developer issue: 
http://bugs.php.net/fix.php?id=49487&r=support
Expected behavior:   
http://bugs.php.net/fix.php?id=49487&r=notwrong
Not enough info: 
http://bugs.php.net/fix.php?id=49487&r=notenoughinfo
Submitted twice: 
http://bugs.php.net/fix.php?id=49487&r=submittedtwice
register_globals:
http://bugs.php.net/fix.php?id=49487&r=globals
PHP 4 support discontinued:  http://bugs.php.net/fix.php?id=49487&r=php4
Daylight Savings:http://bugs.php.net/fix.php?id=49487&r=dst
IIS Stability:   
http://bugs.php.net/fix.php?id=49487&r=isapi
Install GNU Sed: 
http://bugs.php.net/fix.php?id=49487&r=gnused
Floating point limitations:  
http://bugs.php.net/fix.php?id=49487&r=float
No Zend Extensions:  
http://bugs.php.net/fix.php?id=49487&r=nozend
MySQL Configuration Error:   
http://bugs.php.net/fix.php?id=49487&r=mysqlcfg



#27051 [Com]: Impersonation with FastCGI does not EXEC process as impersonated user

2009-09-06 Thread benadler at gmx dot net
 ID:   27051
 Comment by:   benadler at gmx dot net
 Reported By:  ghoffer at globalscape dot com
 Status:   Feedback
 Bug Type: Feature/Change Request
 Operating System: Windows
 PHP Version:  5.3
 Assigned To:  pajoye
 New Comment:

I tried the newest snapshot and it seems to work - thank you!

But, could it be that the environment is not set up correctly?
Suddenly I start getting all those imagemagick-temp files in the
script's directory. I imagine the reason may be that the %TEMP% or
%TMP% system/user variables are not set correctly.


Previous Comments:


[2009-09-03 21:17:45] paj...@php.net

Please (all :) try a snapshot, php 5.3 or 6 (5.3 recommended anyway
:).





[2009-09-03 19:16:50] s...@php.net

Automatic comment from SVN on behalf of pajoye
Revision: http://svn.php.net/viewvc/?view=revision&revision=288004
Log: - #27051, improve fix on xp/2k3



[2009-09-03 19:16:17] s...@php.net

Automatic comment from SVN on behalf of pajoye
Revision: http://svn.php.net/viewvc/?view=revision&revision=288003
Log: - #27051, improve fix on xp/2k3



[2009-09-03 15:52:24] benadler at gmx dot net

I updated to php-5.3-nts-win32-VC9-x86-latest.zip yesterday night. The
impersonation problem with iis6 and fastcgi was fixed, but when starting
a php-script from the command line/dosbox, I get:

Warning: exec(): Unable to fork [imconvert.exe ...] in scriptname.php
on line X

Using exec() works fine when the scripts are called from IIS, though.
The failing scripts have worked fine before updating php.

I traced the execution using sysinternals process monitor, and

Process Create
C:\WINDOWS\system32\cmd.exe
cmd.exe /c "imconvert "tif:D:/data/foo.tif[0]" "D:/data/bar.jpg""

shows SUCCESS, but it seems imconvert.exe is never started, as it
doesn't show up in the trace. Process Monitor shows that the php script
is running as the user who's currently logged in, but I cannot see which
user is trying to start convert.exe

Can I help with more info?

ben.



[2009-09-02 01:59:18] s...@php.net

Automatic comment from SVN on behalf of pajoye
Revision: http://svn.php.net/viewvc/?view=revision&revision=287958
Log: - #27051, we need the thread token here, not the process



The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/27051

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



#49483 [Opn->Csd]: preg_replace 'subject' parameter listed as optional

2009-09-06 Thread felipe
 ID:   49483
 Updated by:   fel...@php.net
 Reported By:  janne dot raiskila at gmail dot com
-Status:   Open
+Status:   Closed
 Bug Type: Reflection related
 Operating System: Windows Vista SP2 32-bit
 PHP Version:  5.3SVN-2009-09-06 (snap)
-Assigned To:  
+Assigned To:  felipe
 New Comment:

This bug has been fixed in SVN.

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.




Previous Comments:


[2009-09-06 17:41:35] s...@php.net

Automatic comment from SVN on behalf of felipe
Revision: http://svn.php.net/viewvc/?view=revision&revision=288111
Log: - Fixed bug #49483 (preg_replace 'subject' parameter listed as
optional)



[2009-09-06 11:53:29] janne dot raiskila at gmail dot com

Description:

According to reflection the third parameter to preg_replace (subject)
is optional. Calling preg_replace without a third argument, however,
issues a warning.

This bug is similar to #45909 (filed for PHP 5.2.6 in 2008, closed),
but the output has changed since (when most of the reflection bugs were
fixed for 5.3.0).

Reproduce code:
---
1)

php --rf preg_replace

2)

$fn = new ReflectionFunction("preg_replace");

printf("Total: %d\nRequired: %d\n",
$fn->getNumberOfParameters(),
$fn->getNumberOfRequiredParameters()
);

Expected result:

1)

>php --rf preg_replace
Function [  function preg_replace ] {

  - Parameters [5] {
Parameter #0 [  $regex ]
Parameter #1 [  $replace ]
Parameter #2 [  $subject ]
Parameter #3 [  $limit ]
Parameter #4 [  &$count ]
  }
}

2)

Total: 5
Required: 3


Actual result:
--
1)

>php --rf preg_replace
Function [  function preg_replace ] {

  - Parameters [5] {
Parameter #0 [  $regex ]
Parameter #1 [  $replace ]
Parameter #2 [  $subject ]
Parameter #3 [  $limit ]
Parameter #4 [  &$count ]
  }
}

2)

Total: 5
Required: 2






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



#48547 [Bgs]: DirectoryIterator Slash issue with getPathname Windows with Apache

2009-09-06 Thread BinaryKitten at jkrswebsolutions dot co dot uk
 ID:   48547
 User updated by:  BinaryKitten at jkrswebsolutions dot co dot uk
 Reported By:  BinaryKitten at jkrswebsolutions dot co dot uk
 Status:   Bogus
 Bug Type: SPL related
 Operating System: win32 only - WinXP SP3
 PHP Version:  5.2.9
 Assigned To:  garretts
 New Comment:

FilesystemIterator is not available in the 5.2.9 codebase, 5.3+ so
FilesystemIterator doesn't resolve the issue. What does is passing the
$_SERVER['DOCUMENT_ROOT'] to realpath before passing the result to the
DirectoryIterator;

".$dir->getPath()."";
foreach($dir as $file ) {
  $dirName = $file->getPathname();
  echo $dirName."";
}
?>

This "solves" the issue.


Previous Comments:


[2009-08-19 18:02:22] garre...@php.net

Use the FilesystemIterator class (a subclass of DirectorIterator) if
you want to force the directory separator to the forward slash.

Directory iterator only supports the default platform slash.

http://us.php.net/manual/en/class.filesystemiterator.php

// will use forward slashes.
$dir = new FilesystemIterator( $path, 8192 );







[2009-06-14 19:22:59] webmaster at asylum-et dot cm

I have tested this on Windows XP SP3 with PHP 5.2.5 and have the same 
findings as BinaryKitten at jkrswebsolutions dot co dot uk



[2009-06-14 11:47:49] BinaryKitten at jkrswebsolutions dot co dot uk

Description:

When using the DirectoryIterator to go through files/folders on Windows
under apache, the path has a mismatch of \ and /

Reproduce code:
---
".$dir->getPath()."";
foreach($dir as $file ) {
  $dirName = $file->getPathname();
  echo $dirName."";
}
?>

Expected result:

With the Document root as C:\HTDOCS Apache returns
$_SERVER['DOCUMENT_ROOT'] as c:/HTDOCS

Expected Output
C:/HTDOCS/.
C:/HTDOCS/..
C:/HTDOCS/css
C:/HTDOCS/index.php
C:/HTDOCS/js
C:/HTDOCS/

Actual result:
--
C:/HTDOCS\.
C:/HTDOCS\..
C:/HTDOCS\css
C:/HTDOCS\index.php
C:/HTDOCS\js






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



#44081 [Com]: Cannot execute queries while other unbuffered queries are active

2009-09-06 Thread webmaster at rdwonline dot com
 ID:   44081
 Comment by:   webmaster at rdwonline dot com
 Reported By:  abouzekry at gmail dot com
 Status:   Open
 Bug Type: PDO related
 Operating System: Windows XP SP2
 PHP Version:  5.2.9
 New Comment:

I am using XAMPP (PHP 5.3.0 on Windows XP) and I am able to execute
succeeding prepared statements with no problem as long as I call
$PDOStatement->closeCursor() after I'm done with the previous one.

The problem arises with MySQL stored procedures.  PDO will execute and
successfully retrieve records from the first stored procedure but all
other statements afterwards WILL NOT EXECUTE, and I too get the error
below:

"Cannot execute queries while other unbuffered queries are active.
Consider using PDOStatement::fetchAll(). Alternatively, if your code is
only ever going to run against mysql, you may enable query buffering by
setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute." 

I tried adding in the aforemention attribute to no avail.

Here is a snippet from a script I used to test this:

$PDOStatement = $PDO->prepare('SELECT * FROM MagicCards WHERE cardID =
?');
$PDOStatement->bindValue(1, 1600);
$PDOStatement->execute();
$PDOStatement->setFetchMode(\PDO::FETCH_ASSOC);
$rows = $PDOStatement->fetchAll();
$PDOStatement->closeCursor();
$PDOStatement = NULL;
print_r($rows); // works as expected

$PDOStatement = $PDO->prepare('CALL uspGetMagicCardByKey(?)');
$PDOStatement->bindValue(1, 10);
$PDOStatement->execute();
$PDOStatement->setFetchMode(\PDO::FETCH_ASSOC);
$rows = $PDOStatement->fetchAll();
$PDOStatement->closeCursor();
$PDOStatement = NULL;
print_r($rows); //works as expected


$PDOStatement = $PDO->prepare('SELECT * FROM MagicCards WHERE cardID =
?');
$PDOStatement->bindValue(1, 1600);
$PDOStatement->execute(); //errors out right here with the HY000 error
$PDOStatement->setFetchMode(\PDO::FETCH_ASSOC);
$rows = $PDOStatement->fetchAll();
$PDOStatement->closeCursor();
$PDOStatement = NULL;
print_r($rows); //doesn't get this far

The workaround would be to drop in your SQL from your stored procedure
directly as an argument to $PDO->prepare().  But if you are doing any
other modifications before or after that main SELECT statement, this is
not a feasible solution.

This is a critical bug that needs to be fixed ASAP.


Previous Comments:


[2009-07-23 08:30:58] sebastien dot barbieri at gmail dot com

Same issue with PHP 5.2.10 (Linux/Mac/Windows) with a similar code:

$this->dbh = new PDO($this->options['dsn'], $this->options['username'],
$this->options['password'], array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET
NAMES '.$this->options['charset']));
$this->dbh->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
$this->dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, true);
$sth = $this->dbh->prepare($_stored_proc_1);
$sth->bindValue('I_bind', $value, PDO::PARAM_STR);
$sth->execute();
$object = $sth->fetchAll(PDO::FETCH_ASSOC);
$sth->closeCursor();
$sth = $this->dbh->prepare($_stored_proc_2);
$sth->bindValue('I_bind', $value, PDO::PARAM_STR);
$sth->execute();
$object = $sth->fetchAll(PDO::FETCH_ASSOC);
$sth->closeCursor(); 

However no problem at all if I install php 5.2.10 Zend Community
Edition ... :-)



[2009-06-10 21:49:52] stewart dot duncan at rocketmail dot com

Confirmed, still broken in latest snapshot.



[2009-05-16 20:12:05] abouzekry at gmail dot com

the bug wasn't resolved in the latest code snapshot, it's more than a
year now!!!



[2009-05-08 20:11:04] xfurious at gmail dot com

Unless I'm losing my mind, this is happening on PHP 5.2.9-2/windows as

well.



[2009-05-03 01:00:09] php-bugs at lists dot php dot net

No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".



The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/44081

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



#49484 [Com]: max_execution_timeout interrupts the error_handler causing a segfault

2009-09-06 Thread witekfl at gazeta dot pl
 ID:   49484
 Comment by:   witekfl at gazeta dot pl
 Reported By:  witekfl at gazeta dot pl
 Status:   Feedback
 Bug Type: Reproducible crash
 Operating System: Debian Linux
 PHP Version:  5.2.10
 New Comment:

I disabled fpm and still the same.


Previous Comments:


[2009-09-06 13:31:30] j...@php.net

Obvious question is: Does it happen without the 3rd party patch?



[2009-09-06 13:21:39] witekfl at gazeta dot pl

Description:

php-5.2.10 with the fpm patch aplied running as FastCGI with Apache and
mod_fcgid
Here is a fragment of the backtrace:
#0  0x7f86f9acced5 in raise () from /lib/libc.so.6
#1  0x7f86f9ace3f3 in abort () from /lib/libc.so.6
#2  0x7f86f9b093a8 in ?? () from /lib/libc.so.6
#3  0x7f86f9b0e948 in ?? () from /lib/libc.so.6
#4  0x7f86f9b10a56 in free () from /lib/libc.so.6
#5  0x006a5509 in php_error_cb (type=1,
error_filename=0xe37778
"/var/www/virtual/erc.blabla.pl/side_left.php(25) : eval()'d code(1) :
eval()'d code",
error_lineno=9, format=, args=)
at /home/witekfl/PHP/php-5.2.10/main/main.c:831
#6  0x006e5f04 in zend_error (type=1, format=0x9c2418 "Maximum
execution time of %d second%s exceeded")
at /home/witekfl/PHP/php-5.2.10/Zend/zend.c:976
#7  
#8  0x7f86f9b15d95 in strdup () from /lib/libc.so.6
#9  0x006a551a in php_error_cb (type=2,
error_filename=0xe37778
"/var/www/virtual/erc.blabla.pl/side_left.php(25) : eval()'d code(1) :
eval()'d code",
error_lineno=9, format=, args=)
at /home/witekfl/PHP/php-5.2.10/main/main.c:834
#10 0x006e5f04 in zend_error (type=2, format=0x9c4778
"%s%s%s(): supplied argument is not a valid %s resource")
at /home/witekfl/PHP/php-5.2.10/Zend/zend.c:976
#11 0x006f35ce in zend_fetch_resource (passed_id=, default_id=,
resource_type_name=0x9abbd0 "stream", found_resource_type=0x0,
num_resource_types=)
at /home/witekfl/PHP/php-5.2.10/Zend/zend_list.c:130


And here is the fragment of main.c:
/* store the error if it has changed */
if (display) {
if (PG(last_error_message)) {
free(PG(last_error_message));
}
if (PG(last_error_file)) {
free(PG(last_error_file));
}
PG(last_error_type) = type;
PG(last_error_message) = strdup(buffer);
PG(last_error_file) = strdup(error_filename);
PG(last_error_lineno) = error_lineno;
}

After the free(), the php_error_cb is interrupted by the signal
(zend_timeout) and the given fragment is run with the new error_message,
but the PG(last_error_message) or PG(last_error_file) is already freed,
but still has old value, another free is causing crash.

max_execution_time = 2
allow_url_fopen = Off


Reproduce code:
---
ini_set("max_execution_time", 2);
for (;;) {
  file_get_contents("http://google.com/";);
}
/* I'm not sure if exactly this code crashes, but the code with
undefined variables and functions, trying to connect to the outside will
do very often. Connections to the outside are rejected by iptables. */


Expected result:

No segfaults.

Actual result:
--
Often segfaults.





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



#49486 [NEW]: socket_read couldn't detect the end of data

2009-09-06 Thread kernins at gmail dot com
From: kernins at gmail dot com
Operating system: Debian 4.0, WinXP SP3
PHP version:  5.3.0
PHP Bug Type: Sockets related
Bug description:  socket_read couldn't detect the end of data

Description:

App description: Script should connect to socks4/5 or CONNECT proxy and
establish a tunnel to some host, google.com:80, for example.

Problem: socket_read() couldn't detect the end of data while reading
response from socks4/5 server (response to initial hello msg or connect
command) or from connect-proxy (response to connect command).

Reproduce code:
---
$host=gethostbyname("google.com"); $port=80;
$proxy_ip="212.27.33.4"; $proxy_port=8118;
if(!preg_match('/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/',$host,$ip)) die();
$s5_init="\x05\x01\x00";
$s5_connect="\x05\x01\x00\x01".chr($ip[1]).chr($ip[2]).chr($ip[3]).chr($ip[4]).pack('n',$port);
$s4="\x04\x01".pack('n',$port).chr($ip[1]).chr($ip[2]).chr($ip[3]).chr($ip[4])."\x00";
$connect="CONNECT google.com:80 HTTP/1.1\r\nProxy-Connection:
keep-alive\r\n\r\n";

$sock=socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_set_option($sock,SOL_SOCKET,SO_SNDTIMEO,array('sec'=>5,'usec'=>0));
socket_set_option($sock,SOL_SOCKET,SO_RCVTIMEO,array('sec'=>15,'usec'=>0));
socket_connect($sock,$proxy_ip,$proxy_port);
echo "written: ".socket_write($sock,$connect).PHP_EOL;
//$data=socket_read($sock,1024,PHP_BINARY_READ);
while($data=socket_read($sock,1024,PHP_BINARY_READ)) var_dump($data);
$err=socket_last_error($sock);
$e=socket_get_option($sock,SOL_SOCKET,SO_ERROR);
var_dump($data,$err,socket_strerror($err),$e,socket_strerror($e));

Expected result:

In blocking mode:
while($data=socket_read($sock,1024,PHP_BINARY_READ))
will make two or more iterations, at last iteration socket_read will
return emty string indicating end of data.

In non-blocking mode:
socket_select will return socket two or more times as ready for reading.
Last time socket_read will return emty string indicating end of data.

Actual result:
--
In blocking mode:
if I use a single socket_read($sock,1024,PHP_BINARY_READ) call, it returns
data without any significant delay or error. In that case there are no
problems.

But
while($data=socket_read($sock,1024,PHP_BINARY_READ))
will return all response in first iteration and then blocks until timeout
was reached (if I set it via socket_set_option) and return false with
EAGAIN error. If timeout is not set it will return epmty string and no
errors as expected, but before this block for couple of minutes.

In non-blocking:
Whole response was also successfully recieved after first socket_select
return, and then this socket has no more returned by socket_select as ready
for reading.

I've tested this on debian PHP 5.2.9-0.dotdeb.1 with Suhosin-Patch 0.9.7
and WinXP php 5.3.0 (binary from php.net) with some public socks and
connect proxies and with SHHTunnel 4.3.0.0 for Win which has built in socks
4/5 proxy.

-- 
Edit bug report at http://bugs.php.net/?id=49486&edit=1
-- 
Try a snapshot (PHP 5.2):
http://bugs.php.net/fix.php?id=49486&r=trysnapshot52
Try a snapshot (PHP 5.3):
http://bugs.php.net/fix.php?id=49486&r=trysnapshot53
Try a snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=49486&r=trysnapshot60
Fixed in SVN:
http://bugs.php.net/fix.php?id=49486&r=fixed
Fixed in SVN and need be documented: 
http://bugs.php.net/fix.php?id=49486&r=needdocs
Fixed in release:
http://bugs.php.net/fix.php?id=49486&r=alreadyfixed
Need backtrace:  
http://bugs.php.net/fix.php?id=49486&r=needtrace
Need Reproduce Script:   
http://bugs.php.net/fix.php?id=49486&r=needscript
Try newer version:   
http://bugs.php.net/fix.php?id=49486&r=oldversion
Not developer issue: 
http://bugs.php.net/fix.php?id=49486&r=support
Expected behavior:   
http://bugs.php.net/fix.php?id=49486&r=notwrong
Not enough info: 
http://bugs.php.net/fix.php?id=49486&r=notenoughinfo
Submitted twice: 
http://bugs.php.net/fix.php?id=49486&r=submittedtwice
register_globals:
http://bugs.php.net/fix.php?id=49486&r=globals
PHP 4 support discontinued:  http://bugs.php.net/fix.php?id=49486&r=php4
Daylight Savings:http://bugs.php.net/fix.php?id=49486&r=dst
IIS Stability:   
http://bugs.php.net/fix.php?id=49486&r=isapi
Install GNU Sed: 
http://bugs.php.net/fix.php?id=49486&r=gnused
Floating point limitations:  
http://bugs.php.net/fix.php?id=49486&r=float
No Zend Extensions:  
http://bugs.php.net/fix.php?id=49486&r=nozend
MySQL Configuration Error:   
http://bugs.php.net/fix.php?id=49486&r=mysqlcfg



#49484 [Opn->Fbk]: max_execution_timeout interrupts the error_handler causing a segfault

2009-09-06 Thread jani
 ID:   49484
 Updated by:   j...@php.net
 Reported By:  witekfl at gazeta dot pl
-Status:   Open
+Status:   Feedback
 Bug Type: Reproducible crash
 Operating System: Debian Linux
 PHP Version:  5.2.10
 New Comment:

Obvious question is: Does it happen without the 3rd party patch?


Previous Comments:


[2009-09-06 13:21:39] witekfl at gazeta dot pl

Description:

php-5.2.10 with the fpm patch aplied running as FastCGI with Apache and
mod_fcgid
Here is a fragment of the backtrace:
#0  0x7f86f9acced5 in raise () from /lib/libc.so.6
#1  0x7f86f9ace3f3 in abort () from /lib/libc.so.6
#2  0x7f86f9b093a8 in ?? () from /lib/libc.so.6
#3  0x7f86f9b0e948 in ?? () from /lib/libc.so.6
#4  0x7f86f9b10a56 in free () from /lib/libc.so.6
#5  0x006a5509 in php_error_cb (type=1,
error_filename=0xe37778
"/var/www/virtual/erc.blabla.pl/side_left.php(25) : eval()'d code(1) :
eval()'d code",
error_lineno=9, format=, args=)
at /home/witekfl/PHP/php-5.2.10/main/main.c:831
#6  0x006e5f04 in zend_error (type=1, format=0x9c2418 "Maximum
execution time of %d second%s exceeded")
at /home/witekfl/PHP/php-5.2.10/Zend/zend.c:976
#7  
#8  0x7f86f9b15d95 in strdup () from /lib/libc.so.6
#9  0x006a551a in php_error_cb (type=2,
error_filename=0xe37778
"/var/www/virtual/erc.blabla.pl/side_left.php(25) : eval()'d code(1) :
eval()'d code",
error_lineno=9, format=, args=)
at /home/witekfl/PHP/php-5.2.10/main/main.c:834
#10 0x006e5f04 in zend_error (type=2, format=0x9c4778
"%s%s%s(): supplied argument is not a valid %s resource")
at /home/witekfl/PHP/php-5.2.10/Zend/zend.c:976
#11 0x006f35ce in zend_fetch_resource (passed_id=, default_id=,
resource_type_name=0x9abbd0 "stream", found_resource_type=0x0,
num_resource_types=)
at /home/witekfl/PHP/php-5.2.10/Zend/zend_list.c:130


And here is the fragment of main.c:
/* store the error if it has changed */
if (display) {
if (PG(last_error_message)) {
free(PG(last_error_message));
}
if (PG(last_error_file)) {
free(PG(last_error_file));
}
PG(last_error_type) = type;
PG(last_error_message) = strdup(buffer);
PG(last_error_file) = strdup(error_filename);
PG(last_error_lineno) = error_lineno;
}

After the free(), the php_error_cb is interrupted by the signal
(zend_timeout) and the given fragment is run with the new error_message,
but the PG(last_error_message) or PG(last_error_file) is already freed,
but still has old value, another free is causing crash.

max_execution_time = 2
allow_url_fopen = Off


Reproduce code:
---
ini_set("max_execution_time", 2);
for (;;) {
  file_get_contents("http://google.com/";);
}
/* I'm not sure if exactly this code crashes, but the code with
undefined variables and functions, trying to connect to the outside will
do very often. Connections to the outside are rejected by iptables. */


Expected result:

No segfaults.

Actual result:
--
Often segfaults.





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



#49485 [NEW]: Allow & when passing parameters by reference

2009-09-06 Thread mjomble at gmail dot com
From: mjomble at gmail dot com
Operating system: Windows
PHP version:  5.3.0
PHP Bug Type: Feature/Change Request
Bug description:  Allow & when passing parameters by reference

Description:

NB! I'm not asking for the un-deprecation of call-time pass-by-reference.

The way I understand it, this could previously alter the behavior of a
function at call time. I agree that this can make things ugly and I can see
the reason for it being deprecated.

However, I would still like to be able to use the & for decorative
purposes.

When you see a call to a function without knowing/remembering/looking up
the function definition, there's no way of telling whether the call can
modify the variable or not.

In most cases, it is simply assumed that parameters are not passed by
reference and will have the exact same value after the call. Which can
cause problems when they're actually passed by reference.

Currently, to avoid such problems, I often add comments like this:

// $someParameter is passed by reference and may be modified by
someMethod()
$someObject->someMethod($someParameter);

It would make things much clearer if it could be called like in the
reproduce code, but ONLY if the function actually uses the first parameter
by reference.

Reproduce code:
---
$someObject->someMethod(&$someParameter);

Expected result:

If the definition of someMethod() does not use the first parameter by
reference, a warning should appear.

Otherwise, the code should execute normally.

Actual result:
--
A warning always appears, regardless of how the parameter is used.

-- 
Edit bug report at http://bugs.php.net/?id=49485&edit=1
-- 
Try a snapshot (PHP 5.2):
http://bugs.php.net/fix.php?id=49485&r=trysnapshot52
Try a snapshot (PHP 5.3):
http://bugs.php.net/fix.php?id=49485&r=trysnapshot53
Try a snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=49485&r=trysnapshot60
Fixed in SVN:
http://bugs.php.net/fix.php?id=49485&r=fixed
Fixed in SVN and need be documented: 
http://bugs.php.net/fix.php?id=49485&r=needdocs
Fixed in release:
http://bugs.php.net/fix.php?id=49485&r=alreadyfixed
Need backtrace:  
http://bugs.php.net/fix.php?id=49485&r=needtrace
Need Reproduce Script:   
http://bugs.php.net/fix.php?id=49485&r=needscript
Try newer version:   
http://bugs.php.net/fix.php?id=49485&r=oldversion
Not developer issue: 
http://bugs.php.net/fix.php?id=49485&r=support
Expected behavior:   
http://bugs.php.net/fix.php?id=49485&r=notwrong
Not enough info: 
http://bugs.php.net/fix.php?id=49485&r=notenoughinfo
Submitted twice: 
http://bugs.php.net/fix.php?id=49485&r=submittedtwice
register_globals:
http://bugs.php.net/fix.php?id=49485&r=globals
PHP 4 support discontinued:  http://bugs.php.net/fix.php?id=49485&r=php4
Daylight Savings:http://bugs.php.net/fix.php?id=49485&r=dst
IIS Stability:   
http://bugs.php.net/fix.php?id=49485&r=isapi
Install GNU Sed: 
http://bugs.php.net/fix.php?id=49485&r=gnused
Floating point limitations:  
http://bugs.php.net/fix.php?id=49485&r=float
No Zend Extensions:  
http://bugs.php.net/fix.php?id=49485&r=nozend
MySQL Configuration Error:   
http://bugs.php.net/fix.php?id=49485&r=mysqlcfg



#49484 [NEW]: max_execution_timeout interrupts the error_handler causing a segfault

2009-09-06 Thread witekfl at gazeta dot pl
From: witekfl at gazeta dot pl
Operating system: Debian Linux
PHP version:  5.2.10
PHP Bug Type: Reproducible crash
Bug description:  max_execution_timeout interrupts the error_handler causing a 
segfault

Description:

php-5.2.10 with the fpm patch aplied running as FastCGI with Apache and
mod_fcgid
Here is a fragment of the backtrace:
#0  0x7f86f9acced5 in raise () from /lib/libc.so.6
#1  0x7f86f9ace3f3 in abort () from /lib/libc.so.6
#2  0x7f86f9b093a8 in ?? () from /lib/libc.so.6
#3  0x7f86f9b0e948 in ?? () from /lib/libc.so.6
#4  0x7f86f9b10a56 in free () from /lib/libc.so.6
#5  0x006a5509 in php_error_cb (type=1,
error_filename=0xe37778
"/var/www/virtual/erc.blabla.pl/side_left.php(25) : eval()'d code(1) :
eval()'d code",
error_lineno=9, format=, args=)
at /home/witekfl/PHP/php-5.2.10/main/main.c:831
#6  0x006e5f04 in zend_error (type=1, format=0x9c2418 "Maximum
execution time of %d second%s exceeded")
at /home/witekfl/PHP/php-5.2.10/Zend/zend.c:976
#7  
#8  0x7f86f9b15d95 in strdup () from /lib/libc.so.6
#9  0x006a551a in php_error_cb (type=2,
error_filename=0xe37778
"/var/www/virtual/erc.blabla.pl/side_left.php(25) : eval()'d code(1) :
eval()'d code",
error_lineno=9, format=, args=)
at /home/witekfl/PHP/php-5.2.10/main/main.c:834
#10 0x006e5f04 in zend_error (type=2, format=0x9c4778 "%s%s%s():
supplied argument is not a valid %s resource")
at /home/witekfl/PHP/php-5.2.10/Zend/zend.c:976
#11 0x006f35ce in zend_fetch_resource (passed_id=, default_id=,
resource_type_name=0x9abbd0 "stream", found_resource_type=0x0,
num_resource_types=)
at /home/witekfl/PHP/php-5.2.10/Zend/zend_list.c:130


And here is the fragment of main.c:
/* store the error if it has changed */
if (display) {
if (PG(last_error_message)) {
free(PG(last_error_message));
}
if (PG(last_error_file)) {
free(PG(last_error_file));
}
PG(last_error_type) = type;
PG(last_error_message) = strdup(buffer);
PG(last_error_file) = strdup(error_filename);
PG(last_error_lineno) = error_lineno;
}

After the free(), the php_error_cb is interrupted by the signal
(zend_timeout) and the given fragment is run with the new error_message,
but the PG(last_error_message) or PG(last_error_file) is already freed, but
still has old value, another free is causing crash.

max_execution_time = 2
allow_url_fopen = Off


Reproduce code:
---
ini_set("max_execution_time", 2);
for (;;) {
  file_get_contents("http://google.com/";);
}
/* I'm not sure if exactly this code crashes, but the code with undefined
variables and functions, trying to connect to the outside will do very
often. Connections to the outside are rejected by iptables. */


Expected result:

No segfaults.

Actual result:
--
Often segfaults.

-- 
Edit bug report at http://bugs.php.net/?id=49484&edit=1
-- 
Try a snapshot (PHP 5.2):
http://bugs.php.net/fix.php?id=49484&r=trysnapshot52
Try a snapshot (PHP 5.3):
http://bugs.php.net/fix.php?id=49484&r=trysnapshot53
Try a snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=49484&r=trysnapshot60
Fixed in SVN:
http://bugs.php.net/fix.php?id=49484&r=fixed
Fixed in SVN and need be documented: 
http://bugs.php.net/fix.php?id=49484&r=needdocs
Fixed in release:
http://bugs.php.net/fix.php?id=49484&r=alreadyfixed
Need backtrace:  
http://bugs.php.net/fix.php?id=49484&r=needtrace
Need Reproduce Script:   
http://bugs.php.net/fix.php?id=49484&r=needscript
Try newer version:   
http://bugs.php.net/fix.php?id=49484&r=oldversion
Not developer issue: 
http://bugs.php.net/fix.php?id=49484&r=support
Expected behavior:   
http://bugs.php.net/fix.php?id=49484&r=notwrong
Not enough info: 
http://bugs.php.net/fix.php?id=49484&r=notenoughinfo
Submitted twice: 
http://bugs.php.net/fix.php?id=49484&r=submittedtwice
register_globals:
http://bugs.php.net/fix.php?id=49484&r=globals
PHP 4 support discontinued:  http://bugs.php.net/fix.php?id=49484&r=php4
Daylight Savings:http://bugs.php.net/fix.php?id=49484&r=dst
IIS Stability:   
http://bugs.php.net/fix.php?id=49484&r=isapi
Install GNU Sed: 
http://bugs.php.net/fix.php?id=49484&r=gnused
Floating point limitations:  
http://bugs.php.net/fix.php?id=49484&r=float
No Zend Extensions:  
http://bugs.php.net/fix.php?id=49484&r=nozend
MySQL Configuration Error:   
http://bugs.php.net/fix.php?id=49484&r=mysqlcfg



#49483 [NEW]: preg_replace 'subject' parameter listed as optional

2009-09-06 Thread janne dot raiskila at gmail dot com
From: janne dot raiskila at gmail dot com
Operating system: Windows Vista SP2 32-bit
PHP version:  5.3SVN-2009-09-06 (snap)
PHP Bug Type: Reflection related
Bug description:  preg_replace 'subject' parameter listed as optional

Description:

According to reflection the third parameter to preg_replace (subject) is
optional. Calling preg_replace without a third argument, however, issues a
warning.

This bug is similar to #45909 (filed for PHP 5.2.6 in 2008, closed), but
the output has changed since (when most of the reflection bugs were fixed
for 5.3.0).

Reproduce code:
---
1)

php --rf preg_replace

2)

$fn = new ReflectionFunction("preg_replace");

printf("Total: %d\nRequired: %d\n",
$fn->getNumberOfParameters(),
$fn->getNumberOfRequiredParameters()
);

Expected result:

1)

>php --rf preg_replace
Function [  function preg_replace ] {

  - Parameters [5] {
Parameter #0 [  $regex ]
Parameter #1 [  $replace ]
Parameter #2 [  $subject ]
Parameter #3 [  $limit ]
Parameter #4 [  &$count ]
  }
}

2)

Total: 5
Required: 3


Actual result:
--
1)

>php --rf preg_replace
Function [  function preg_replace ] {

  - Parameters [5] {
Parameter #0 [  $regex ]
Parameter #1 [  $replace ]
Parameter #2 [  $subject ]
Parameter #3 [  $limit ]
Parameter #4 [  &$count ]
  }
}

2)

Total: 5
Required: 2


-- 
Edit bug report at http://bugs.php.net/?id=49483&edit=1
-- 
Try a snapshot (PHP 5.2):
http://bugs.php.net/fix.php?id=49483&r=trysnapshot52
Try a snapshot (PHP 5.3):
http://bugs.php.net/fix.php?id=49483&r=trysnapshot53
Try a snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=49483&r=trysnapshot60
Fixed in SVN:
http://bugs.php.net/fix.php?id=49483&r=fixed
Fixed in SVN and need be documented: 
http://bugs.php.net/fix.php?id=49483&r=needdocs
Fixed in release:
http://bugs.php.net/fix.php?id=49483&r=alreadyfixed
Need backtrace:  
http://bugs.php.net/fix.php?id=49483&r=needtrace
Need Reproduce Script:   
http://bugs.php.net/fix.php?id=49483&r=needscript
Try newer version:   
http://bugs.php.net/fix.php?id=49483&r=oldversion
Not developer issue: 
http://bugs.php.net/fix.php?id=49483&r=support
Expected behavior:   
http://bugs.php.net/fix.php?id=49483&r=notwrong
Not enough info: 
http://bugs.php.net/fix.php?id=49483&r=notenoughinfo
Submitted twice: 
http://bugs.php.net/fix.php?id=49483&r=submittedtwice
register_globals:
http://bugs.php.net/fix.php?id=49483&r=globals
PHP 4 support discontinued:  http://bugs.php.net/fix.php?id=49483&r=php4
Daylight Savings:http://bugs.php.net/fix.php?id=49483&r=dst
IIS Stability:   
http://bugs.php.net/fix.php?id=49483&r=isapi
Install GNU Sed: 
http://bugs.php.net/fix.php?id=49483&r=gnused
Floating point limitations:  
http://bugs.php.net/fix.php?id=49483&r=float
No Zend Extensions:  
http://bugs.php.net/fix.php?id=49483&r=nozend
MySQL Configuration Error:   
http://bugs.php.net/fix.php?id=49483&r=mysqlcfg



#49482 [NEW]: SOAP encoding although WSDL requires use='LITERAL'

2009-09-06 Thread joep at clickhere dot nl
From: joep at clickhere dot nl
Operating system: Ubuntu
PHP version:  5.2.10
PHP Bug Type: SOAP related
Bug description:  SOAP encoding although WSDL requires use='LITERAL'

Description:

I was hunting a bug in our soap-client. 'xsi:type' appears in the xml,
even when the WSDL states 'use="literal"'.

Our client works fine with 5.2.4, but since 5.2.7/5.2.8 its broken (Also
tested 5.2.9)

Came across this fix in ext/soap/php_encoding.c

+if (encode != enc && style == SOAP_LITERAL) {
add_type = 1;
-}

Shouldn't that be:

if (encode != enc && style == SOAP_ENCODED) {
add_type = 1;   
}




-- 
Edit bug report at http://bugs.php.net/?id=49482&edit=1
-- 
Try a snapshot (PHP 5.2):
http://bugs.php.net/fix.php?id=49482&r=trysnapshot52
Try a snapshot (PHP 5.3):
http://bugs.php.net/fix.php?id=49482&r=trysnapshot53
Try a snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=49482&r=trysnapshot60
Fixed in SVN:
http://bugs.php.net/fix.php?id=49482&r=fixed
Fixed in SVN and need be documented: 
http://bugs.php.net/fix.php?id=49482&r=needdocs
Fixed in release:
http://bugs.php.net/fix.php?id=49482&r=alreadyfixed
Need backtrace:  
http://bugs.php.net/fix.php?id=49482&r=needtrace
Need Reproduce Script:   
http://bugs.php.net/fix.php?id=49482&r=needscript
Try newer version:   
http://bugs.php.net/fix.php?id=49482&r=oldversion
Not developer issue: 
http://bugs.php.net/fix.php?id=49482&r=support
Expected behavior:   
http://bugs.php.net/fix.php?id=49482&r=notwrong
Not enough info: 
http://bugs.php.net/fix.php?id=49482&r=notenoughinfo
Submitted twice: 
http://bugs.php.net/fix.php?id=49482&r=submittedtwice
register_globals:
http://bugs.php.net/fix.php?id=49482&r=globals
PHP 4 support discontinued:  http://bugs.php.net/fix.php?id=49482&r=php4
Daylight Savings:http://bugs.php.net/fix.php?id=49482&r=dst
IIS Stability:   
http://bugs.php.net/fix.php?id=49482&r=isapi
Install GNU Sed: 
http://bugs.php.net/fix.php?id=49482&r=gnused
Floating point limitations:  
http://bugs.php.net/fix.php?id=49482&r=float
No Zend Extensions:  
http://bugs.php.net/fix.php?id=49482&r=nozend
MySQL Configuration Error:   
http://bugs.php.net/fix.php?id=49482&r=mysqlcfg



#47930 [Asn]: ext/filter crashes when module startup bails out

2009-09-06 Thread pajoye
 ID:   47930
 Updated by:   paj...@php.net
 Reported By:  stas at zend dot com
 Status:   Assigned
 Bug Type: Reproducible crash
 Operating System: *
 PHP Version:  5.2CVS-2009-04-29
 Assigned To:  stas
 New Comment:

I got that, but why trunk (HEAD) is different from 5.3?

Or do you mean:

- 5.2, no fix at all
- 5.3, fix but without ABI break
- 6, all changes kept

?


Previous Comments:


[2009-09-05 23:40:20] s...@php.net

Fix for 5.3 changes binary API, so it can't be applied to 5.2



[2009-09-05 17:17:31] paj...@php.net

Any reason why this change has been commited to HEAD but never to 5.3,
or has it been reverted?

Please clarify the situation and sync both branches as soon as
possible.



[2009-04-29 00:41:24] s...@php.net

fixed for 5.3/HEAD, 5.2 fix still required, since 5.3+ fix changes
binary API



[2009-04-08 23:01:04] stas at zend dot com

Description:

1. If one of the modules startup bails out, that leads to aborting the
startup sequence and PG(modules_activated) be 0.
This, in turn, precludes running RSHUTDOWN functions on modules.

2. ext/filter allocates IF_G(get_array), etc. in the course of the
request startup, and if RSHUTDOWN is not called, they are not cleaned
up.

3. Since ext/filter does not initialize IF_G arrays, on the next
request uncleaned value will be used. Since these arrays are no longer
pointing to a valid memory (which was cleaned on the end of the previous
request), this will result in a crash. 

Reproduce code:
---
1. Create extension that uses zend_bailout in RINIT.
2. Run two requests while ext/filter is present and turned on
3. Crash! 






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



#49477 [Opn->Bgs]: PHP 6 VC 9 makes Apache not to start

2009-09-06 Thread pajoye
 ID:   49477
 Updated by:   paj...@php.net
 Reported By:  elmue at gmx dot de
-Status:   Open
+Status:   Bogus
 Bug Type: Apache2 related
 Operating System: Windows
 PHP Version:  6SVN-2009-09-06 (snap)
 New Comment:

Use VC9 builds only with a VC9 apache build (http://apachelounge.com
for example).


Previous Comments:


[2009-09-06 00:17:36] elmue at gmx dot de

Description:

Today I downloaded from
http://windows.php.net/snapshots/ 

the VC 6 version of PHP 6
http://windows.php.net/downloads/snaps/php-6.0-win32-VC6-x86-latest.zip
and installed it on Windows XP with Xampp, Apache version 2.2.9
It runs and functions.

But the VC 9
http://windows.php.net/downloads/snaps/php-6.0-win32-VC9-x86-latest.zip

is broken.
Although both ZIPs contain files from 3. sept 2009 the one runs and the
other one does not.

The same way installed the VC6 runs but the VC9 makes that Apache does
not start.

In the Windows Event log there are two error entries generated:

1.)
Cannot load E:/Programme/xampp/php6/php6apache2_2.dll into server:
Syntax error on line 7 of
E:/Programme/xampp/apache/conf/extra/httpd-xampp.conf

This is ABSOULTE nonsense!
There is no error in line 7 which is:
LoadModule php6_module "E:/Programme/xampp/php6/php6apache2_2.dll" 

The SAME HTTPD-XAMP.CONF works with VC6 without problems.
Without touching the conf file and only replacing the content of the 
php directory the errors are generated.
So this is a bogus error telling that there is a syntax error which is
not. The PHP.ini is the same in both cases: the one in the ZIP file:
php.ini-development

2.)
The second error in Event log says that the configuration is wrong.
There is absoultely NO USEFULL information in these 2 error messages.
The first one is bogus and the second one gives no information.

Can anyone please check this on a Xampp to confirm this problem?

Elmü








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