#50675 [NEW]: SoapClient can't handle object references correctly.

2010-01-06 Thread margaritisz dot oresztesz at dotroll dot hu
From: margaritisz dot oresztesz at dotroll dot hu
Operating system: Linux
PHP version:  5.2.12
PHP Bug Type: SOAP related
Bug description:  SoapClient can't handle object references correctly.

Description:

When sending the same object multiple times in a SOAP call, SoapClient
replaces the object with a href='..' object reference. However the client
generates the request envelope with an incorrect parameter name, so the
server does not get the referenced object.

Reproduce code:
---
Sources of a simple server and client could be found at the following URL:
http://charlie.extra.hu/php-soap/soap.tar.gz

If I run client.php, it gets back an object filled with null parameters.
It should recieve the first object sent to the server.
If I change the reference's parameter name to 'secondUser', the SOAP
response includes the correct object.

Expected result:

Expected the following soap envelope to be sent:


  
1
user
  
  


Actual result:
--
Got this request:


  
1
user
  
  


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



#50676 [NEW]: rename across Volumes throws warning "Operation not permitted"

2010-01-06 Thread andreas at heigl dot org
From: andreas at heigl dot org
Operating system: Mac OS X 10.6
PHP version:  5.3.1
PHP Bug Type: Filesystem function related
Bug description:  rename across Volumes throws warning "Operation not permitted"

Description:

When renaming files acros Volumes a warning is triggered that the 
"Operation is not permitted. 
The operation is executed though.

Reproduce code:
---
- Create two images and mount them (Image1, Image2). 
- Disable the 'Ignore Owner'-Feature on both of them and set permissions
so the WebServer can access the files.
- Add a file to one of the mounted volumes (touch
/Volumes/Image1/testfile)

ini_set ( 'error_reporting', E_ALL );
ini_set ( 'display_errors', true );
rename ( '/Volumes/Image1/testfile', '/Volumes/Image2/testfile' );


Expected result:

The file /Volumes/Image1/testfile has been copied to 
/Volumes/Image2/testfile ad the original file has been removed.
No error should be triggered

Actual result:
--
The file /Volumes/Image1/testfile has been copied to 
/Volumes/Image2/testfile ad the original file has been removed.

Additionally the following error is triggered:
rename(/Volumes/Image1/testfile,/Volumes/Image2/testfile): Operation not 
permitted in renametest.php on line n

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



#50660 [Opn->Csd]: exif_read_data fails on a given image while giving no errors with other tools

2010-01-06 Thread iliaa
 ID:   50660
 Updated by:   il...@php.net
 Reported By:  skinny dot bravo at gmail dot com
-Status:   Open
+Status:   Closed
 Bug Type: EXIF related
 Operating System: Linux
 PHP Version:  5.2.12
 New Comment:

If it works with php5.2-201001041530 it means that the issue has been 
resolved.


Previous Comments:


[2010-01-04 17:55:52] skinny dot bravo at gmail dot com

Description:

PHP fails reading GPS data from a given set of photos from Samsung
SGH-
i900. The images are said to come from the camera without any edits.

Ex: 

http://o1.imgsrc.ru/v/vahmurka/3/16095163cDU.jpg
http://o1.imgsrc.ru/v/vahmurka/1/16095161rno.jpg

exiftool 8.00 has no problem reading this file. php5.2-201001041530 
produces 
the same result.

Reproduce code:
---
# php -r 'var_dump(read_exif_data("16095163cDU.jpg",NULL,TRUE));'

Expected result:

...
["SectionsFound"]=>
string(35) "ANY_TAG, IFD0, THUMBNAIL, EXIF, GPS"
...
["GPS"]=>
  array(8) {
["GPSVersion"]=>
string(4) ""
["GPSLatitudeRef"]=>
string(1) "N"
["GPSLatitude"]=>
array(3) {
  [0]=>
  string(4) "43/1"
  [1]=>
  string(4) "16/1"
  [2]=>
  string(11) "75363/1"
}
["GPSLongitudeRef"]=>
string(1) "E"
["GPSLongitude"]=>
array(3) {
  [0]=>
  string(4) "77/1"
  [1]=>
  string(4) "21/1"
  [2]=>
  string(11) "140249/2629"
}
["GPSAltitudeRef"]=>
string(1) ""
["GPSAltitude"]=>
string(6) "1603/1"
["GPSMapDatum"]=>
string(6) "WGS-84"
  }

these results are taken after fixing image with exiftool: 
# exiftool -all= -tagsfromfile @ -all:all -unsafe 16095163cDU.jpg


Actual result:
--
Warning: read_exif_data(16095163cDU.jpg): Illegal IFD offset in 
Command line code on line 1
array(4) {
  ["FILE"]=>
  array(6) {
["FileName"]=>
string(15) "16095163cDU.jpg"
["FileDateTime"]=>
int(1259257839)
["FileSize"]=>
int(938692)
["FileType"]=>
int(2)
["MimeType"]=>
string(10) "image/jpeg"
["SectionsFound"]=>
string(19) "ANY_TAG, IFD0, EXIF"
  }





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



#50660 [Csd]: exif_read_data fails on a given image while giving no errors with other tools

2010-01-06 Thread skinny dot bravo at gmail dot com
 ID:   50660
 User updated by:  skinny dot bravo at gmail dot com
 Reported By:  skinny dot bravo at gmail dot com
 Status:   Closed
 Bug Type: EXIF related
 Operating System: Linux
 PHP Version:  5.2.12
 New Comment:

Sorry,

- php5.2-201001041530 produces the same result
+ php5.2-201001041530 produces the same result as 5.2.12 below


Previous Comments:


[2010-01-06 12:42:40] il...@php.net

If it works with php5.2-201001041530 it means that the issue has been 
resolved.



[2010-01-04 17:55:52] skinny dot bravo at gmail dot com

Description:

PHP fails reading GPS data from a given set of photos from Samsung
SGH-
i900. The images are said to come from the camera without any edits.

Ex: 

http://o1.imgsrc.ru/v/vahmurka/3/16095163cDU.jpg
http://o1.imgsrc.ru/v/vahmurka/1/16095161rno.jpg

exiftool 8.00 has no problem reading this file. php5.2-201001041530 
produces 
the same result.

Reproduce code:
---
# php -r 'var_dump(read_exif_data("16095163cDU.jpg",NULL,TRUE));'

Expected result:

...
["SectionsFound"]=>
string(35) "ANY_TAG, IFD0, THUMBNAIL, EXIF, GPS"
...
["GPS"]=>
  array(8) {
["GPSVersion"]=>
string(4) ""
["GPSLatitudeRef"]=>
string(1) "N"
["GPSLatitude"]=>
array(3) {
  [0]=>
  string(4) "43/1"
  [1]=>
  string(4) "16/1"
  [2]=>
  string(11) "75363/1"
}
["GPSLongitudeRef"]=>
string(1) "E"
["GPSLongitude"]=>
array(3) {
  [0]=>
  string(4) "77/1"
  [1]=>
  string(4) "21/1"
  [2]=>
  string(11) "140249/2629"
}
["GPSAltitudeRef"]=>
string(1) ""
["GPSAltitude"]=>
string(6) "1603/1"
["GPSMapDatum"]=>
string(6) "WGS-84"
  }

these results are taken after fixing image with exiftool: 
# exiftool -all= -tagsfromfile @ -all:all -unsafe 16095163cDU.jpg


Actual result:
--
Warning: read_exif_data(16095163cDU.jpg): Illegal IFD offset in 
Command line code on line 1
array(4) {
  ["FILE"]=>
  array(6) {
["FileName"]=>
string(15) "16095163cDU.jpg"
["FileDateTime"]=>
int(1259257839)
["FileSize"]=>
int(938692)
["FileType"]=>
int(2)
["MimeType"]=>
string(10) "image/jpeg"
["SectionsFound"]=>
string(19) "ANY_TAG, IFD0, EXIF"
  }





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



#50657 [Ana->Csd]: copy() with an empty (zero-byte) HTTP source succeeds but returns false

2010-01-06 Thread iliaa
 ID:   50657
 Updated by:   il...@php.net
 Reported By:  php at lorddeath dot net
-Status:   Analyzed
+Status:   Closed
 Bug Type: Filesystem function related
 Operating System: Win32/Linux
 PHP Version:  5.3SVN-2010-01-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:


[2010-01-06 12:54:54] s...@php.net

Automatic comment from SVN on behalf of iliaa
Revision: http://svn.php.net/viewvc/?view=revision&revision=293175
Log: Fixed bug #50657 (copy() with an empty (zero-byte) HTTP source
succeeds but returns false).



[2010-01-04 22:07:08] j...@php.net

_php_stream_copy_to_stream_ex() contains the problem, it assumes read
length of 0 to be an error..



[2010-01-04 21:57:30] j...@php.net

Nevermind, the auto-link-thing in this crappy bug tracker messed the
url. :)



[2010-01-04 21:56:47] j...@php.net

Was the file always returning 404 ? 



[2010-01-04 15:51:34] php at lorddeath dot net

Description:

The copy() function returns false (but otherwise succeeds in copying
the 
file) when the source file is accessed via a HTTP stream, but is empty

(zero bytes).  Other, non-HTTP, stream types might also be affected,
but 
local files are definitely *NOT* affected.

I have successfully reproduced this bug with PHP 5.2.9 on Linux, and 
5.2.5, 5.2.12, 5.3.0, 5.3.1 and 5.3.3-dev (2010-Jan-04 15:00:00) on 
Windows.

(I will keep the empty.txt URL in the reproduce code accessible for a 
while.)

Reproduce code:
---
$r = copy("http://lspace.sihnon.net/pub/empty.txt";, "temp");
var_dump($r);

Expected result:

bool(true)

Actual result:
--
bool(false)





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



#50661 [Asn->Csd]: DOMDocument::loadXML does not allow UTF-16

2010-01-06 Thread rrichards
 ID:   50661
 Updated by:   rricha...@php.net
 Reported By:  geoffers+phpbugs at gmail dot com
-Status:   Assigned
+Status:   Closed
 Bug Type: DOM XML related
 Operating System: Mac OS 10.5.8
 PHP Version:  5.3SVN-2010-01-04 (SVN)
 Assigned To:  rrichards
 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:


[2010-01-06 13:13:18] s...@php.net

Automatic comment from SVN on behalf of rrichards
Revision: http://svn.php.net/viewvc/?view=revision&revision=293176
Log: fix bug #50661 (DOMDocument::loadXML does not allow UTF-16)
add test



[2010-01-04 23:16:49] rricha...@php.net

Assign to self



[2010-01-04 20:58:36] geoffers+phpbugs at gmail dot com

Description:

DOMDocument::loadXML() does not support UTF-16 encoded XML. This breaks
the XML spec which says, "All XML processors MUST accept the UTF-8 and
UTF-16 encodings of Unicode". As such, DOMDocument::loadXML() is not a
conformant XML processor.

XMLReader supports this fine, which suggests something is wrong in the
use of the libxml2 API.

Reproduce code:
---
loadXML($data);
echo $dom->saveXML();

Expected result:




Actual result:
--
PHP Warning:  DOMDocument::loadXML(): Start tag expected, '<' not found
in Entity, line: 1 in /Users/gsnedders/Desktop/foo.php on line 5

Warning: DOMDocument::loadXML(): Start tag expected, '<' not found in
Entity, line: 1 in /Users/gsnedders/Desktop/foo.php on line 5







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



#50677 [NEW]: gdImageFill still fails due to bug #46318

2010-01-06 Thread christian at elmerot dot se
From: christian at elmerot dot se
Operating system: Debian Etch, Lenny
PHP version:  5.3.1
PHP Bug Type: GD related
Bug description:  gdImageFill still fails due to bug #46318

Description:

PHP bug #46318 and attached patch still affects PHP 5.3.1 so please do
reopen this bug as the attached patch fixes the issue. If you are bitten by
this bug then the only remedy, besides rebuilding PHP using this patch, is
to restart the server, fixing the issue for a while.

While #46318 may be a duplicate of libGD #177 it is in no way fixed in
either libGD or PHP as the error is still in both sources.


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



#50677 [Opn->Bgs]: gdImageFill still fails due to bug #46318

2010-01-06 Thread pajoye
 ID:   50677
 Updated by:   paj...@php.net
 Reported By:  christian at elmerot dot se
-Status:   Open
+Status:   Bogus
 Bug Type: GD related
 Operating System: Debian Etch, Lenny
 PHP Version:  5.3.1
 New Comment:

This patch has not been applied. However I do not have a way to
reproduce this bug.

Please note that the other bug was closed to avoid double locations for
a discussion. Please use bugs.libgd.org to discuss it (the bug is still
open there).

Duplicate > bogus.


Previous Comments:


[2010-01-06 15:32:14] christian at elmerot dot se

Description:

PHP bug #46318 and attached patch still affects PHP 5.3.1 so please do
reopen this bug as the attached patch fixes the issue. If you are bitten
by this bug then the only remedy, besides rebuilding PHP using this
patch, is to restart the server, fixing the issue for a while.

While #46318 may be a duplicate of libGD #177 it is in no way fixed in
either libGD or PHP as the error is still in both sources.






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



#50660 [Csd]: exif_read_data fails on a given image while giving no errors with other tools

2010-01-06 Thread srinatar
 ID:   50660
 Updated by:   srina...@php.net
 Reported By:  skinny dot bravo at gmail dot com
 Status:   Closed
 Bug Type: EXIF related
 Operating System: Linux
 PHP Version:  5.2.12
 New Comment:

not sure, why you closed this bug when it is reproduced with the latest

snapshot as well ?


Previous Comments:


[2010-01-06 12:49:45] skinny dot bravo at gmail dot com

Sorry,

- php5.2-201001041530 produces the same result
+ php5.2-201001041530 produces the same result as 5.2.12 below



[2010-01-06 12:42:40] il...@php.net

If it works with php5.2-201001041530 it means that the issue has been 
resolved.



[2010-01-04 17:55:52] skinny dot bravo at gmail dot com

Description:

PHP fails reading GPS data from a given set of photos from Samsung
SGH-
i900. The images are said to come from the camera without any edits.

Ex: 

http://o1.imgsrc.ru/v/vahmurka/3/16095163cDU.jpg
http://o1.imgsrc.ru/v/vahmurka/1/16095161rno.jpg

exiftool 8.00 has no problem reading this file. php5.2-201001041530 
produces 
the same result.

Reproduce code:
---
# php -r 'var_dump(read_exif_data("16095163cDU.jpg",NULL,TRUE));'

Expected result:

...
["SectionsFound"]=>
string(35) "ANY_TAG, IFD0, THUMBNAIL, EXIF, GPS"
...
["GPS"]=>
  array(8) {
["GPSVersion"]=>
string(4) ""
["GPSLatitudeRef"]=>
string(1) "N"
["GPSLatitude"]=>
array(3) {
  [0]=>
  string(4) "43/1"
  [1]=>
  string(4) "16/1"
  [2]=>
  string(11) "75363/1"
}
["GPSLongitudeRef"]=>
string(1) "E"
["GPSLongitude"]=>
array(3) {
  [0]=>
  string(4) "77/1"
  [1]=>
  string(4) "21/1"
  [2]=>
  string(11) "140249/2629"
}
["GPSAltitudeRef"]=>
string(1) ""
["GPSAltitude"]=>
string(6) "1603/1"
["GPSMapDatum"]=>
string(6) "WGS-84"
  }

these results are taken after fixing image with exiftool: 
# exiftool -all= -tagsfromfile @ -all:all -unsafe 16095163cDU.jpg


Actual result:
--
Warning: read_exif_data(16095163cDU.jpg): Illegal IFD offset in 
Command line code on line 1
array(4) {
  ["FILE"]=>
  array(6) {
["FileName"]=>
string(15) "16095163cDU.jpg"
["FileDateTime"]=>
int(1259257839)
["FileSize"]=>
int(938692)
["FileType"]=>
int(2)
["MimeType"]=>
string(10) "image/jpeg"
["SectionsFound"]=>
string(19) "ANY_TAG, IFD0, EXIF"
  }





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



#50678 [NEW]: files extracted by ZipArchive class lost their original modified time

2010-01-06 Thread sunchaojun at gmail dot com
From: sunchaojun at gmail dot com
Operating system: windows
PHP version:  5.2.12
PHP Bug Type: Zip Related
Bug description:  files extracted by ZipArchive class lost their original 
modified time

Description:

After I extract a zip file via ZipArchive class in my php codes, I found
that the creation time, modified time and lastaccess time of the files
extracted have been set to the time at that it was being extracted.

Reproduce code:
---
---
>From manual page: class.ziparchive
---
$zip = new ZipArchive();
if ($zip->open('test.zip')) {
   zip->extractTo
   zip.close()
}

Expected result:

A extracted files has the same creation time, modified time and lastaccess
time with its oringinal copy.

Actual result:
--
The creation time, modified time and lastaccess time of a extracted file
has been reset when extracting.

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



#50679 [NEW]: range fails on some float values

2010-01-06 Thread kauffj at gmail dot com
From: kauffj at gmail dot com
Operating system: Ubuntu 9.10
PHP version:  5.3.1
PHP Bug Type: Unknown/Other Function
Bug description:  range fails on some float values

Description:

The range function works on some float values but not others.

Reproduce code:
---
WORKS: print_r(range(0.3, 0.4, 0.1));
FAILS: print_r(range(5.5, 5.6, 0.1));
WORKS: print_r(range(5.5, 5.7, 0.1));


Expected result:

Array
(
[0] => 0.3
[1] => 0.4
)
Array
(
[0] => 5.5
[1] => 5.6
)
Array
(
[0] => 5.5
[1] => 5.6
[2] => 5.7
)

Actual result:
--
Array
(
[0] => 0.3
[1] => 0.4
)
PHP Warning:  range(): step exceeds the specified range
Array
(
[0] => 5.5
[1] => 5.6
[2] => 5.7
)


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



#49081 [Asn]: [PATCH] DateTime::diff() mistake if start in January and interval > 28 days

2010-01-06 Thread danielc
 ID:   49081
 Updated by:   dani...@php.net
 Reported By:  nate at frickenate dot com
 Status:   Assigned
 Bug Type: Date/time related
 Operating System: *
 PHP Version:  5.3.0
 Assigned To:  derick
 New Comment:

Hmm... Isn't the whole days_next_month functionality in
do_range_limit_days_relative() unnecessary?


Previous Comments:


[2010-01-06 01:04:18] dani...@php.net

A better test file:
http://www.analysisandsolutions.com/php/bug49081v2.phpt

The scenarios it covers are more relevant and thorough, plus it
improves the context, making it easier see what the test is doing.



[2010-01-05 22:11:57] dani...@php.net

This bug continues to exist in 5.3.2RC2.

DateTime::diff() / date_diff() chokes on dates starting in January if
the interval is greater than 28 days (during non-leap years).

It is happening because of a bug in do_range_limit_days_relative() in
ext/date/lib/tm2unixtime.c.  At the end of the function if *d >
days_next_month, the code subtracts the days and adds a month.  So when
the starting month is January, the days_next_month is 28 or 29,
mistakenly triggering the month/day swapping behavior.

Patch:
http://www.analysisandsolutions.com/php/bug49081.diff

Test:
http://www.analysisandsolutions.com/php/bug49081.phpt



[2009-12-16 05:44:52] peter dot schleif at gmx dot de

More simple code to reproduce error:

diff($d2);
   print_r($d);
?>

Expected:
-
   [m] => 0
   [d] => 30

Actual:
---
   [m] => 1
   [d] => 2



[2009-07-27 22:55:24] nate at frickenate dot com

Description:

DateTime::diff calculates diffs incorrectly.

As an example, the diff of 2009-01-01 and 2009-03-31 *should be* "2
months, 30 days". 2009-01-01 + 2 months = 2009-03-01, + 30 days =
2009-03-31. Taking 2009-01-01 and using DateTime::add() to add 'P2M30D'
does indeed result in 2009-03-31. This is correct.

However, running the diff() of 2009-01-01 and 2009-03-31 returns "3
months, 2 days". add()ing 2009-01-01 + 'P3M2D' returns 2009-04-03
instead of 2009-03-31 (as it should, since the diff that told us to add
3M2D was incorrect).

Reproduce code:
---
add(new DateInterval('P2M30D'))); // correct period
var_dump($jan_1->add(new DateInterval('P3M2D')));  // incorrect period

// END EXAMPLE CODE - following is just extra fluff


// here's the replacement function I am currently
// using to calculate the correct diff until the
// built-in method is patched and functional
function date_diff2 ($t1, $t2) {
if (! preg_match('/^\d+\z/', $t1) && ($t1 = strtotime($t1)) ===
false)
return false;

if (! preg_match('/^\d+\z/', $t2) && ($t2 = strtotime($t2)) ===
false)
return false;

if ($t1 > $t2)
list($t1, $t2) = array($t2, $t1);

$diffs = array(
'years' => 0, 'months' => 0, 'days' => 0,
'hours' => 0, 'minutes' => 0, 'seconds' => 0,
);

foreach (array_keys($diffs) as $interval) {
while ($t2 >= ($t3 = strtotime("+1 ${interval}", $t1))) {
$t1 = $t3;
++$diffs[$interval];
}
}

return $diffs;
}


?>

Expected result:

object(DateInterval)#3 (8) {
  ["y"]=>
  int(0)
  ["m"]=>
  int(2)
  ["d"]=>
  int(30)
  ["h"]=>
  int(0)
  ["i"]=>
  int(0)
  ["s"]=>
  int(0)
  ["invert"]=>
  int(0)
  ["days"]=>
  int(89)
}
object(DateTime)#1 (3) {
  ["date"]=>
  string(19) "2009-03-31 00:00:00"
  ["timezone_type"]=>
  int(3)
  ["timezone"]=>
  string(16) "America/Montreal"
}
object(DateTime)#1 (3) {
  ["date"]=>
  string(19) "2009-07-03 00:00:00"
  ["timezone_type"]=>
  int(3)
  ["timezone"]=>
  string(16) "America/Montreal"
}


Actual result:
--
object(DateInterval)#3 (8) {
  ["y"]=>
  int(0)
  ["m"]=>
  int(3)
  ["d"]=>
  int(2)
  ["h"]=>
  int(0)
  ["i"]=>
  int(0)
  ["s"]=>
  int(0)
  ["invert"]=>
  int(0)
  ["days"]=>
  int(89)
}
object(DateTime)#1 (3) {
  ["date"]=>
  string(19) "2009-03-31 00:00:00"
  ["timezone_type"]=>
  int(3)
  ["timezone"]=>
  string(16) "America/Montreal"
}
object(DateTime)#1 (3) {
  ["date"]=>
  string(19) "2009-07-03 00:00:00"
  ["timezone_type"]=>
  int(3)
  ["timezone"]=>
  string(16) "America/Montreal"
}






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



#50660 [Csd->Opn]: exif_read_data fails on a given image while giving no errors with other tools

2010-01-06 Thread skinny dot bravo at gmail dot com
 ID:   50660
 User updated by:  skinny dot bravo at gmail dot com
 Reported By:  skinny dot bravo at gmail dot com
-Status:   Closed
+Status:   Open
 Bug Type: EXIF related
 Operating System: Linux
 PHP Version:  5.2.12
 New Comment:

New to this bug report system. Reopened. Sorry again.


Previous Comments:


[2010-01-06 15:43:23] srina...@php.net

not sure, why you closed this bug when it is reproduced with the latest

snapshot as well ?



[2010-01-06 12:49:45] skinny dot bravo at gmail dot com

Sorry,

- php5.2-201001041530 produces the same result
+ php5.2-201001041530 produces the same result as 5.2.12 below



[2010-01-06 12:42:40] il...@php.net

If it works with php5.2-201001041530 it means that the issue has been 
resolved.



[2010-01-04 17:55:52] skinny dot bravo at gmail dot com

Description:

PHP fails reading GPS data from a given set of photos from Samsung
SGH-
i900. The images are said to come from the camera without any edits.

Ex: 

http://o1.imgsrc.ru/v/vahmurka/3/16095163cDU.jpg
http://o1.imgsrc.ru/v/vahmurka/1/16095161rno.jpg

exiftool 8.00 has no problem reading this file. php5.2-201001041530 
produces 
the same result.

Reproduce code:
---
# php -r 'var_dump(read_exif_data("16095163cDU.jpg",NULL,TRUE));'

Expected result:

...
["SectionsFound"]=>
string(35) "ANY_TAG, IFD0, THUMBNAIL, EXIF, GPS"
...
["GPS"]=>
  array(8) {
["GPSVersion"]=>
string(4) ""
["GPSLatitudeRef"]=>
string(1) "N"
["GPSLatitude"]=>
array(3) {
  [0]=>
  string(4) "43/1"
  [1]=>
  string(4) "16/1"
  [2]=>
  string(11) "75363/1"
}
["GPSLongitudeRef"]=>
string(1) "E"
["GPSLongitude"]=>
array(3) {
  [0]=>
  string(4) "77/1"
  [1]=>
  string(4) "21/1"
  [2]=>
  string(11) "140249/2629"
}
["GPSAltitudeRef"]=>
string(1) ""
["GPSAltitude"]=>
string(6) "1603/1"
["GPSMapDatum"]=>
string(6) "WGS-84"
  }

these results are taken after fixing image with exiftool: 
# exiftool -all= -tagsfromfile @ -all:all -unsafe 16095163cDU.jpg


Actual result:
--
Warning: read_exif_data(16095163cDU.jpg): Illegal IFD offset in 
Command line code on line 1
array(4) {
  ["FILE"]=>
  array(6) {
["FileName"]=>
string(15) "16095163cDU.jpg"
["FileDateTime"]=>
int(1259257839)
["FileSize"]=>
int(938692)
["FileType"]=>
int(2)
["MimeType"]=>
string(10) "image/jpeg"
["SectionsFound"]=>
string(19) "ANY_TAG, IFD0, EXIF"
  }





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



#50680 [NEW]: "eight" -> "eighth"

2010-01-06 Thread danielc at analysisandsolutions dot com
From: danielc at analysisandsolutions dot com
Operating system: 
PHP version:  5.3SVN-2010-01-06 (SVN)
PHP Bug Type: Date/time related
Bug description:  "eight" -> "eighth"

Description:

In ext/date/lib/parse_date.re, reltextnumber and timelib_reltext_lookup
contain ordinal numbers, but when it comes to 8th, it mistakenly uses
"eight", rather than "eighth".  Guess it now needs to contain both to
provide backwards compatibility.


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



#44994 [Com]: exec() produces zombie processes on Windows, hangs Apache

2010-01-06 Thread patrick dot bueker at triangle-solutions dot de
 ID:   44994
 Comment by:   patrick dot bueker at triangle-solutions dot de
 Reported By:  dbarrett at vistaprint dot com
 Status:   No Feedback
 Bug Type: Program Execution
 Operating System: win32 only - 2003 Server, 64-bit
 PHP Version:  5.2.6
 Assigned To:  garretts
 New Comment:

I once had the problem too. I had the feeling that it has something to
do with threadsafe or non-threadsafe versions of PHP. I still have the
problem on some installations, others work.


Previous Comments:


[2009-09-01 18:42:09] garre...@php.net

I'm trying to come up with a reproducible test case for this bug.

If anyone has a complete test scenario for this please post it. I
simply can't replicate the effects here.

G



[2009-08-27 01:00:00] 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".



[2009-08-19 19:06:40] garre...@php.net

Please try using this snapshot:

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

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





[2009-08-19 17:26:55] garre...@php.net

I've seen this happen in other languages too.

This happens when the pipe between the parent and child fills up, and
cmd.exe ends up blocking and creates a race condition. (Windows script
host languages trip up on this quickly)

in popen_ex() ( in tsrm_win32.c) the pipe is creates with a 2k buffer:

   if (!str_len || !CreatePipe(&in, &out, &security, 2048L)) {

this should probably be significantly larger. I'd certainly go with at
least 16k or 32k. (hey, it's only memory :D)

as well, the elimination of the unrequired cmd.exe as the immediate
child process would eliminate the possibility that *it's* buffer gets
overwhelmed too. (which solves bug #43327, and I've passed a patch to
Pierre for that.)






[2009-06-08 16:40:15] alex at bartl dot net

Reproducable with PHP 5.2.9-1 on Windows2003 Server with Apache2.2
Workaround with calling session_write_close() before calling exec()
confirmed working

NOT reproducable with PHP 5.2.1 on Windows 2000 Server with IIS5

anyway, seems to be a duplicate of Bug#44942



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/44994

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



#50661 [Csd]: DOMDocument::loadXML does not allow UTF-16

2010-01-06 Thread geoffers+phpbugs at gmail dot com
 ID:   50661
 User updated by:  geoffers+phpbugs at gmail dot com
 Reported By:  geoffers+phpbugs at gmail dot com
 Status:   Closed
 Bug Type: DOM XML related
 Operating System: Mac OS 10.5.8
 PHP Version:  5.3SVN-2010-01-04 (SVN)
 Assigned To:  rrichards
 New Comment:

Null-terminated strings and UTF-16… fun. :) Thanks for fixing it!


Previous Comments:


[2010-01-06 13:16:36] rricha...@php.net

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.





[2010-01-06 13:13:18] s...@php.net

Automatic comment from SVN on behalf of rrichards
Revision: http://svn.php.net/viewvc/?view=revision&revision=293176
Log: fix bug #50661 (DOMDocument::loadXML does not allow UTF-16)
add test



[2010-01-04 23:16:49] rricha...@php.net

Assign to self



[2010-01-04 20:58:36] geoffers+phpbugs at gmail dot com

Description:

DOMDocument::loadXML() does not support UTF-16 encoded XML. This breaks
the XML spec which says, "All XML processors MUST accept the UTF-8 and
UTF-16 encodings of Unicode". As such, DOMDocument::loadXML() is not a
conformant XML processor.

XMLReader supports this fine, which suggests something is wrong in the
use of the libxml2 API.

Reproduce code:
---
loadXML($data);
echo $dom->saveXML();

Expected result:




Actual result:
--
PHP Warning:  DOMDocument::loadXML(): Start tag expected, '<' not found
in Entity, line: 1 in /Users/gsnedders/Desktop/foo.php on line 5

Warning: DOMDocument::loadXML(): Start tag expected, '<' not found in
Entity, line: 1 in /Users/gsnedders/Desktop/foo.php on line 5







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



#49560 [Asn->Csd]: OCI_RETURN_LOBS causes php_shutdown to take very long

2010-01-06 Thread sixd
 ID:   49560
 Updated by:   s...@php.net
 Reported By:  j dot henge-ernst at interexa dot de
-Status:   Assigned
+Status:   Closed
 Bug Type: OCI8 related
 Operating System: linux
 PHP Version:  5.2.10
 Assigned To:  sixd
 New Comment:

-

A fix has been merged to PHP 5.3.3 and a request for it to be merged to

5.3.2 has been made to the Release Manager.

The fix will be in PECL OCI8 1.4.1+


Previous Comments:


[2010-01-06 18:58:16] s...@php.net

Automatic comment from SVN on behalf of sixd
Revision: http://svn.php.net/viewvc/?view=revision&revision=293180
Log: Fixed bug #49560 (oci8: using LOBs causes slow PHP shutdown)
 - Improved descriptor refcounting to remove unneeded items sooner
 - Replaced n^2 list traversal during descriptor list destruction



[2009-09-15 15:37:24] j dot henge-ernst at interexa dot de

Using oracle 11 instant client with Oracle 11.0.7 database

yes end of the php process. After the php script on the command line
has finished the gdb shows something like the following in the
backtrace:
0x7f5e231da5b0 in php_oci_descriptor_delete_from_hash
(data=0x7f35610, id=0xbb8ebe8)
at /home/hernst/src/php-5.3.0/ext/oci8/oci8.c:1497
1497if (descriptor && desc_id && descriptor->id ==
*desc_id) {
(gdb) where
#0  0x7f5e231da5b0 in php_oci_descriptor_delete_from_hash
(data=0x7f35610, id=0xbb8ebe8)
at /home/hernst/src/php-5.3.0/ext/oci8/oci8.c:1497
#1  0x007503c5 in zend_hash_apply_with_argument (ht=0xf3e670,
apply_func=0x7f5e231da57d ,
argument=0xbb8ebe8)
at /home/hernst/src/php-5.3.0/Zend/zend_hash.c:697
#2  0x7f5e231e5c9c in php_oci_lob_free (descriptor=0xbb8ebe8) at
/home/hernst/src/php-5.3.0/ext/oci8/oci8_lob.c:672
#3  0x7f5e231da3c4 in php_oci_descriptor_list_dtor
(entry=0xbb8e5d8) at /home/hernst/src/php-5.3.0/ext/oci8/oci8.c:1386
#4  0x0075276a in list_entry_destructor (ptr=0xbb8e5d8) at
/home/hernst/src/php-5.3.0/Zend/zend_list.c:184
#5  0x00750163 in zend_hash_apply_deleter (ht=0xd680f0,
p=0xbb8ec30) at /home/hernst/src/php-5.3.0/Zend/zend_hash.c:611
#6  0x00750255 in zend_hash_graceful_reverse_destroy
(ht=0xd680f0) at /home/hernst/src/php-5.3.0/Zend/zend_hash.c:646
#7  0x007528ba in zend_destroy_rsrc_list (ht=0xd680f0) at
/home/hernst/src/php-5.3.0/Zend/zend_list.c:240
#8  0x00740e21 in zend_deactivate () at
/home/hernst/src/php-5.3.0/Zend/zend.c:896
#9  0x006d812d in php_request_shutdown (dummy=0x0) at
/home/hernst/src/php-5.3.0/main/main.c:1576
#10 0x0081e11e in main (argc=3, argv=0x7fff9852fb98) at
/home/hernst/src/php-5.3.0/sapi/cli/php_cli.c:1369

(gdb) up
#1  0x007503c5 in zend_hash_apply_with_argument (ht=0xf3e670,
apply_func=0x7f5e231da57d ,
argument=0xbb8ebe8)
at /home/hernst/src/php-5.3.0/Zend/zend_hash.c:697
(gdb) print ht->nTableSize
$1 = 262144


I run the script from commandline with
time php script.php 10
When the php script has outputed the last thing the php process takes
very long till it finaly returns to the command line.
Guess it's more like a oci_free_lob-count issue you mentoined. Is there
a newer version to try?



[2009-09-15 15:17:04] s...@php.net

What version Oracle client and database?

By shutdown do you mean end-of-web-request, or shutdown of the PHP
process?

It might be a symptom of a LOB ref count issue we've recently
uncovered, or it might just be Oracle having to clean up.





[2009-09-15 12:20:06] j dot henge-ernst at interexa dot de

Description:

If you read a lot of clobs/blob via oci_fetch_array($stmt,
OCI_RETURN_NULLS+OCI_ASSOC+OCI_RETURN_LOBS) it causes php_shutdown to
take a very long time.

Depending on the rows you read via oci_fetch_array the php_shutdown
takes longer and longer. Examples:

10.000  rows read with one lob column  0.1 seconds
20.000  rows read with one lob column2 seconds
30.000  rows read with one lob column8 seconds
40.000  rows read with one lob column   28 seconds
50.000  rows read with one lob column   60 seconds
100.000 rows read with one lob column 1800 seconds

This also happens if you skip the OCI_RETURN_LOBS and you don't use
->free on the returned lob-object.

Tested with oci8 extension form php 5.2.10 and php 5.3.0

Reproduce code:
---
$conn   = oci_connect($user, $user, $db);
$tcst = oci_parse($conn, 'CREATE TABLE TESTTABLE ( PK NUMBER NOT NULL,
TB BLOB , CONSTRAINT TABLE1_PK PRIMARY KEY ( PK) ENABLE)');
oci_execute($tcst);
oci_free_statement($tcst);
for ($i = 1; $i <= 1; ++$i) {
 $stmt = oci_parse($conn, "insert into testtable (PK, TB)
values(:PK, :TB)");
 oci_bind_by_name($stmt, ':PK', $i, -1);

#50681 [NEW]: array of objects: copying passes reference instead of copy

2010-01-06 Thread israel at toxinworks dot com
From: israel at toxinworks dot com
Operating system: RedHat EL5
PHP version:  5.2.12
PHP Bug Type: Class/Object related
Bug description:  array of objects: copying passes reference instead of copy

Description:

PHP 5 does not copy object from array[ndx] to a new array entry, instead
it seems to pass a reference to the original.

Reproduce code:
---
function fetchData()
{
   // return array of objects
}

$arr = fetchData();
$newNdx = count($arr);
$arr[$newNdx] = $arr[0]; // create copy of first object
$arr[$newNdx]->description = 'Change description';



Expected result:

The result is that $arr[0]->description will also have changed when we
modified $arr[$newNdx]->description, therefor not copying, but more like
creating a reference to the original.

This happens only in PHP 5, not 4.


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



#46565 [Asn->WFx]: oci_fetch_all() returns ORA-01002

2010-01-06 Thread sixd
 ID:   46565
 Updated by:   s...@php.net
 Reported By:  james_blond at hipernet dot brda dot net
-Status:   Assigned
+Status:   Wont fix
 Bug Type: OCI8 related
 Operating System: *
 PHP Version:  5.2.6
 Assigned To:  sixd
 New Comment:

I'm closing this because there are no plans to break existing  
oci_fetch_all() behaviour.


Previous Comments:


[2009-02-11 20:19:32] s...@php.net

Until array functionality is introduced, make sure that
oci8.default_prefetch is set high in such cases.



[2008-11-20 02:16:52] s...@php.net

The use case was for a report generator, typically handling 10K rows,
and sometimes up to 80K.  Batching would improve performance.



[2008-11-19 00:18:49] s...@php.net

The oci_fetch_all() function was designed to cancel a query after
being called once.  The behavior you see is expected.
However it sounds like a possible enhancement.



[2008-11-13 13:00:26] james_blond at hipernet dot brda dot net

Description:

function oci_fetch_all on second use return error ORA-01002: fetch out
of sequence.

Reproduce code:
---
$dbstr = "(DESCRIPTION = (ADDRESS = PROTOCOL = TCP (HOST = host)(PORT =
1521))(CONNECT_DATA = (SID = sid)))";
$c = oci_connect("user","pass",$dbstr,"UTF8");

$SQL = "SELECT * FROM table "; // table have more then 100 rec
$s = oci_parse($c,$SQL);
oci_execute($s,OCI_COMMIT_ON_SUCCESS);
oci_fetch_all($s,$Row,0,10, OCI_NUM); 
print_r($Row);
oci_fetch_all($s,$Row,10,10, OCI_NUM);// here return error ORA-01002
print_r($Row);

Expected result:

printed array $Row

Actual result:
--
array $Row is printed only on first time 
on second $Row is empty , oci_fetch_all -> return error ORA-01002:
fetch out of sequence.





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



#49803 [Asn->Fbk]: OCI statement cache causes ORA-01007

2010-01-06 Thread sixd
 ID:   49803
 Updated by:   s...@php.net
 Reported By:  stronk7 at moodle dot org
-Status:   Assigned
+Status:   Feedback
 Bug Type: OCI8 related
 Operating System: MacOS X (any)
 PHP Version:  5.2.11
 Assigned To:  sixd
 New Comment:

What's the testcase?


Previous Comments:


[2009-10-07 16:29:46] stronk7 at moodle dot org

Description:

Under certain circumstances (multiple DDL creation) OCI client
statement 
cache causes ORA-01007: variable not in select list error in simple 
queries against those tables. Only disabling the cache ( 
oci8.statement_cache_size = 0 in php.ini, from default 20) alleviates 
the problem. Running with cache disabled has a big impact in oci 
performance.

It should be some explicit way to clean the cache from php oci or the 
driver itself should be "clever enough" to clean it when DDL statements

are executed.

Reproduce code:
---
http://tracker.moodle.org/secure/attachment/18556/testing_oci_stmt_cache_pureoci.php

Expected result:

TESTING MOODLE 2.0 OCI DRIVER WITH oci8.statement_cache_size = 0 (from

php.ini)
Created table unit_table (id, course, name). Ok
Selected 0 records from table. Ok
Dropped table unit_table (id, course, name). Ok
Created table unit_table (id, course). Ok
Selected 0 records from table. Ok
Dropped table unit_table (id, course). Ok

Actual result:
--
TESTING MOODLE 2.0 OCI DRIVER WITH oci8.statement_cache_size = 20 (from

php.ini)
Created table unit_table (id, course, name). Ok
Selected 0 records from table. Ok
Dropped table unit_table (id, course, name). Ok
Created table unit_table (id, course). Ok
Error selecting records from table!!
ORA-01007: variable not in select list
Dropped table unit_table (id, course). Ok





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



#49803 [Fbk]: OCI statement cache causes ORA-01007

2010-01-06 Thread sixd
 ID:   49803
 Updated by:   s...@php.net
 Reported By:  stronk7 at moodle dot org
 Status:   Feedback
 Bug Type: OCI8 related
 Operating System: MacOS X (any)
 PHP Version:  5.2.11
 Assigned To:  sixd
 New Comment:

Doh.  I've got it.


Previous Comments:


[2010-01-06 19:40:49] s...@php.net

What's the testcase?



[2009-10-07 16:29:46] stronk7 at moodle dot org

Description:

Under certain circumstances (multiple DDL creation) OCI client
statement 
cache causes ORA-01007: variable not in select list error in simple 
queries against those tables. Only disabling the cache ( 
oci8.statement_cache_size = 0 in php.ini, from default 20) alleviates 
the problem. Running with cache disabled has a big impact in oci 
performance.

It should be some explicit way to clean the cache from php oci or the 
driver itself should be "clever enough" to clean it when DDL statements

are executed.

Reproduce code:
---
http://tracker.moodle.org/secure/attachment/18556/testing_oci_stmt_cache_pureoci.php

Expected result:

TESTING MOODLE 2.0 OCI DRIVER WITH oci8.statement_cache_size = 0 (from

php.ini)
Created table unit_table (id, course, name). Ok
Selected 0 records from table. Ok
Dropped table unit_table (id, course, name). Ok
Created table unit_table (id, course). Ok
Selected 0 records from table. Ok
Dropped table unit_table (id, course). Ok

Actual result:
--
TESTING MOODLE 2.0 OCI DRIVER WITH oci8.statement_cache_size = 20 (from

php.ini)
Created table unit_table (id, course, name). Ok
Selected 0 records from table. Ok
Dropped table unit_table (id, course, name). Ok
Created table unit_table (id, course). Ok
Error selecting records from table!!
ORA-01007: variable not in select list
Dropped table unit_table (id, course). Ok





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



#49803 [Fbk->Opn]: OCI statement cache causes ORA-01007

2010-01-06 Thread sixd
 ID:   49803
 Updated by:   s...@php.net
 Reported By:  stronk7 at moodle dot org
-Status:   Feedback
+Status:   Open
 Bug Type: OCI8 related
 Operating System: MacOS X (any)
 PHP Version:  5.2.11
 Assigned To:  sixd


Previous Comments:


[2010-01-06 19:42:18] s...@php.net

Doh.  I've got it.



[2010-01-06 19:40:49] s...@php.net

What's the testcase?



[2009-10-07 16:29:46] stronk7 at moodle dot org

Description:

Under certain circumstances (multiple DDL creation) OCI client
statement 
cache causes ORA-01007: variable not in select list error in simple 
queries against those tables. Only disabling the cache ( 
oci8.statement_cache_size = 0 in php.ini, from default 20) alleviates 
the problem. Running with cache disabled has a big impact in oci 
performance.

It should be some explicit way to clean the cache from php oci or the 
driver itself should be "clever enough" to clean it when DDL statements

are executed.

Reproduce code:
---
http://tracker.moodle.org/secure/attachment/18556/testing_oci_stmt_cache_pureoci.php

Expected result:

TESTING MOODLE 2.0 OCI DRIVER WITH oci8.statement_cache_size = 0 (from

php.ini)
Created table unit_table (id, course, name). Ok
Selected 0 records from table. Ok
Dropped table unit_table (id, course, name). Ok
Created table unit_table (id, course). Ok
Selected 0 records from table. Ok
Dropped table unit_table (id, course). Ok

Actual result:
--
TESTING MOODLE 2.0 OCI DRIVER WITH oci8.statement_cache_size = 20 (from

php.ini)
Created table unit_table (id, course, name). Ok
Selected 0 records from table. Ok
Dropped table unit_table (id, course, name). Ok
Created table unit_table (id, course). Ok
Error selecting records from table!!
ORA-01007: variable not in select list
Dropped table unit_table (id, course). Ok





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



#50681 [Opn->Bgs]: array of objects: copying passes reference instead of copy

2010-01-06 Thread jani
 ID:   50681
 Updated by:   j...@php.net
 Reported By:  israel at toxinworks dot com
-Status:   Open
+Status:   Bogus
 Bug Type: Class/Object related
 Operating System: RedHat EL5
 PHP Version:  5.2.12
 New Comment:

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




Previous Comments:


[2010-01-06 19:15:15] israel at toxinworks dot com

Description:

PHP 5 does not copy object from array[ndx] to a new array entry,
instead it seems to pass a reference to the original.

Reproduce code:
---
function fetchData()
{
   // return array of objects
}

$arr = fetchData();
$newNdx = count($arr);
$arr[$newNdx] = $arr[0]; // create copy of first object
$arr[$newNdx]->description = 'Change description';



Expected result:

The result is that $arr[0]->description will also have changed when we
modified $arr[$newNdx]->description, therefor not copying, but more like
creating a reference to the original.

This happens only in PHP 5, not 4.






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



#50682 [NEW]: strtotime producing incorrect result

2010-01-06 Thread keefeg at gmail dot com
From: keefeg at gmail dot com
Operating system: FreeBSD 6.2
PHP version:  5.2.12
PHP Bug Type: Date/time related
Bug description:  strtotime producing incorrect result

Description:

strtotime does not handle the "last month" parameter correctly all the
time.

Reproduce code:
---
---
>From manual page: function.strtotime#Description
---
$ny = strtotime("31 December 2009");
echo "this month: " . date('Ym', strtotime("now", $ny)) . "\n";
echo "last month: " . date('Ym', strtotime("last month", $ny)) . "\n";


Expected result:

I would like it to produce this result:

this month: 200912
last month: 200911


Actual result:
--
It prints this result:

this month: 200912
last month: 200912


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



#50679 [Opn->Bgs]: range fails on some float values

2010-01-06 Thread jani
 ID:   50679
 Updated by:   j...@php.net
 Reported By:  kauffj at gmail dot com
-Status:   Open
+Status:   Bogus
 Bug Type: Arrays related
 Operating System: Ubuntu 9.10
 PHP Version:  5.3.1
 New Comment:

Floating point values have a limited precision. Hence a value might 
not have the same string representation after any processing. That also
includes writing a floating point value in your script and directly 
printing it without any mathematical operations.

If you would like to know more about "floats" and what IEEE
754 is, read this:
http://docs.sun.com/source/806-3568/ncg_goldberg.html
 
Thank you for your interest in PHP.




Previous Comments:


[2010-01-06 16:07:12] kauffj at gmail dot com

Description:

The range function works on some float values but not others.

Reproduce code:
---
WORKS: print_r(range(0.3, 0.4, 0.1));
FAILS: print_r(range(5.5, 5.6, 0.1));
WORKS: print_r(range(5.5, 5.7, 0.1));


Expected result:

Array
(
[0] => 0.3
[1] => 0.4
)
Array
(
[0] => 5.5
[1] => 5.6
)
Array
(
[0] => 5.5
[1] => 5.6
[2] => 5.7
)

Actual result:
--
Array
(
[0] => 0.3
[1] => 0.4
)
PHP Warning:  range(): step exceeds the specified range
Array
(
[0] => 5.5
[1] => 5.6
[2] => 5.7
)






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



#50682 [Opn->Bgs]: strtotime producing incorrect result

2010-01-06 Thread rasmus
 ID:   50682
 Updated by:   ras...@php.net
 Reported By:  keefeg at gmail dot com
-Status:   Open
+Status:   Bogus
 Bug Type: Date/time related
 Operating System: FreeBSD 6.2
 PHP Version:  5.2.12
 New Comment:

That's because you are asking for the same day last month which doesn't

exist since November doesn't have 31 days.  November 31 gets normalized

to Dec 1.  If you are using last/next make sure you feed it a recurring

starting point.  Like the 1st of the sequence, in this case the 1st of

the month.


Previous Comments:


[2010-01-06 20:28:57] keefeg at gmail dot com

Description:

strtotime does not handle the "last month" parameter correctly all the
time.

Reproduce code:
---
---
>From manual page: function.strtotime#Description
---
$ny = strtotime("31 December 2009");
echo "this month: " . date('Ym', strtotime("now", $ny)) . "\n";
echo "last month: " . date('Ym', strtotime("last month", $ny)) . "\n";


Expected result:

I would like it to produce this result:

this month: 200912
last month: 200911


Actual result:
--
It prints this result:

this month: 200912
last month: 200912






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



#50682 [Bgs]: strtotime producing incorrect result

2010-01-06 Thread keefeg at gmail dot com
 ID:   50682
 User updated by:  keefeg at gmail dot com
 Reported By:  keefeg at gmail dot com
 Status:   Bogus
 Bug Type: Date/time related
 Operating System: FreeBSD 6.2
 PHP Version:  5.2.12
 New Comment:

I understand your explanation, but the results still seem incorrect. 
Under reasonable circumstances even programmers shouldn't have to
consider "last month" to be equal to "this month."

In the context of "last month", it should first decrement the month,
and then if that particular day (31st of November) does not exist, it
should then decrement the day until it reaches a valid day (30th of
November).

The way it is now breaks programs in a non-obvious way.  I use that
code to daily make a list of archive files to "keep" (now, -1 month, -2
month, -3 month) and on the 31st of December it ended up deleting the
november file because it thought "-1 month" was December.

I'll work around using the 1st of the month, but it at least merits a
warning in the documentation.

Thanks for PHP, it's incredibly useful!


Previous Comments:


[2010-01-06 20:53:58] ras...@php.net

That's because you are asking for the same day last month which doesn't

exist since November doesn't have 31 days.  November 31 gets normalized

to Dec 1.  If you are using last/next make sure you feed it a recurring

starting point.  Like the 1st of the sequence, in this case the 1st of

the month.



[2010-01-06 20:28:57] keefeg at gmail dot com

Description:

strtotime does not handle the "last month" parameter correctly all the
time.

Reproduce code:
---
---
>From manual page: function.strtotime#Description
---
$ny = strtotime("31 December 2009");
echo "this month: " . date('Ym', strtotime("now", $ny)) . "\n";
echo "last month: " . date('Ym', strtotime("last month", $ny)) . "\n";


Expected result:

I would like it to produce this result:

this month: 200912
last month: 200911


Actual result:
--
It prints this result:

this month: 200912
last month: 200912






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



#50682 [Bgs]: strtotime producing incorrect result

2010-01-06 Thread rasmus
 ID:   50682
 Updated by:   ras...@php.net
 Reported By:  keefeg at gmail dot com
 Status:   Bogus
 Bug Type: Date/time related
 Operating System: FreeBSD 6.2
 PHP Version:  5.2.12
 New Comment:

This isn't something we made up.  We are simply following the GNU 
strtotime convention as it is implemented by your command line date 
utility and many others as well.  It is described here:

http://www.gnu.org/software/tar/manual/html_node/Relative-items-in-
date-strings.html#SEC120

Note the second last paragraph that talks about the fuzz in units.  
Whether this should have been done this way or not is debatable, but it

is a consistent convention and we don't want to stray from that.


Previous Comments:


[2010-01-07 01:37:43] keefeg at gmail dot com

I understand your explanation, but the results still seem incorrect. 
Under reasonable circumstances even programmers shouldn't have to
consider "last month" to be equal to "this month."

In the context of "last month", it should first decrement the month,
and then if that particular day (31st of November) does not exist, it
should then decrement the day until it reaches a valid day (30th of
November).

The way it is now breaks programs in a non-obvious way.  I use that
code to daily make a list of archive files to "keep" (now, -1 month, -2
month, -3 month) and on the 31st of December it ended up deleting the
november file because it thought "-1 month" was December.

I'll work around using the 1st of the month, but it at least merits a
warning in the documentation.

Thanks for PHP, it's incredibly useful!



[2010-01-06 20:53:58] ras...@php.net

That's because you are asking for the same day last month which doesn't

exist since November doesn't have 31 days.  November 31 gets normalized

to Dec 1.  If you are using last/next make sure you feed it a recurring

starting point.  Like the 1st of the sequence, in this case the 1st of

the month.



[2010-01-06 20:28:57] keefeg at gmail dot com

Description:

strtotime does not handle the "last month" parameter correctly all the
time.

Reproduce code:
---
---
>From manual page: function.strtotime#Description
---
$ny = strtotime("31 December 2009");
echo "this month: " . date('Ym', strtotime("now", $ny)) . "\n";
echo "last month: " . date('Ym', strtotime("last month", $ny)) . "\n";


Expected result:

I would like it to produce this result:

this month: 200912
last month: 200911


Actual result:
--
It prints this result:

this month: 200912
last month: 200912






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



#35368 [Com]: PDO query does not work properly with serialize

2010-01-06 Thread uggabc at yahoo dot cn
 ID:   35368
 Comment by:   uggabc at yahoo dot cn
 Reported By:  lists at cyberlot dot net
 Status:   Suspended
 Bug Type: PDO related
 Operating System: *
 PHP Version:  6CVS, 5CVS
 Assigned To:  wez
 New Comment:

It was my pleasure to visit your Website. I am also very Website you 

enjoy the article.And I also have http://www.emu-boots.net/";>emu boots  he feeling that it was 

really a pity that we didn¡¯ 

t meet each other earlier. Because the kindness and warmth in your 

Website can make me completely relaxed and happy. I hope that you 

will visit my  blog too


Previous Comments:


[2005-11-27 22:11:06] w...@php.net

We managed to reproduce the problem; it's a problem with the query
rewriter when it maps :name to ?.  If the string is embedded in the SQL
using single quotes, but has double quotes backslashed, the string it
too tricky for the parser to follow, and it ends up transforming parts
of the serialized string that it shouldn't.

There are three possible workarounds for this issue, in order of
preference:
- Don't embed serialized data into the query string; use bound
parameters (that's what they're there for).  In future versions of PDO,
prepared statements may be cacheable in persistent connections, leading
to a performance gain.
- Use PDO::quote() to correctly quote the string
- Use PDO::exec() to fire off this UPDATE/INSERT statement; it uses an
alternate API that doesn't need to handle parameters.




[2005-11-25 16:40:35] tony2...@php.net

This is fixed in CVS, get a fresh snapshot and try again.



[2005-11-25 16:32:07] lists at cyberlot dot net

To try and narrow this down and be able to play with the code more I
recompiled PHP 5.1 without pdo support then compiled seperate modules
however I could not get pdo_mysql to compile.
I phpized ./configure and make and get the following error

checking for MySQL support for PDO... yes, shared
checking for mysql_config... /usr/bin/mysql_config
checking for mysql_query... no
configure: error: mysql_query missing!?

Might be related? So I forced a install of pdo_mysql RC2

The bug goes away, Same exact script but everything is working...

So its either a diffrence between pdo_mysql RC2 or some wierd issue
with shared vs compiled in.

I hope that helps somehow?



[2005-11-25 15:14:33] lists at cyberlot dot net

What OS are you testing on? All I have are Centos/Redhat based boxes to
test on.

Also if this helps I always download directly from MySQL I never use
the DIST included rpms.



[2005-11-25 15:11:22] lists at cyberlot dot net

Run this on another box, MySQL 4.1.12 and php 5.1.0RC4 same results



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/35368

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



#35368 [Com]: PDO query does not work properly with serialize

2010-01-06 Thread uggabc at yahoo dot cn
 ID:   35368
 Comment by:   uggabc at yahoo dot cn
 Reported By:  lists at cyberlot dot net
 Status:   Suspended
 Bug Type: PDO related
 Operating System: *
 PHP Version:  6CVS, 5CVS
 Assigned To:  wez
 New Comment:

It was my pleasure to visit your Website. I am also very Website you 

enjoy the article.And I also have [url=http://www.emu-boots.net/]emu
boots[/url]  he feeling that it was really a 

pity that we didn¡¯ 

t meet each other earlier. Because the kindness and warmth in your 

Website can make me completely relaxed and happy. I hope that you 

will visit my  blog too


Previous Comments:


[2010-01-07 06:48:39] uggabc at yahoo dot cn

It was my pleasure to visit your Website. I am also very Website you 

enjoy the article.And I also have http://www.emu-boots.net/";>emu boots  he feeling that it was 

really a pity that we didn¡¯ 

t meet each other earlier. Because the kindness and warmth in your 

Website can make me completely relaxed and happy. I hope that you 

will visit my  blog too



[2005-11-27 22:11:06] w...@php.net

We managed to reproduce the problem; it's a problem with the query
rewriter when it maps :name to ?.  If the string is embedded in the SQL
using single quotes, but has double quotes backslashed, the string it
too tricky for the parser to follow, and it ends up transforming parts
of the serialized string that it shouldn't.

There are three possible workarounds for this issue, in order of
preference:
- Don't embed serialized data into the query string; use bound
parameters (that's what they're there for).  In future versions of PDO,
prepared statements may be cacheable in persistent connections, leading
to a performance gain.
- Use PDO::quote() to correctly quote the string
- Use PDO::exec() to fire off this UPDATE/INSERT statement; it uses an
alternate API that doesn't need to handle parameters.




[2005-11-25 16:40:35] tony2...@php.net

This is fixed in CVS, get a fresh snapshot and try again.



[2005-11-25 16:32:07] lists at cyberlot dot net

To try and narrow this down and be able to play with the code more I
recompiled PHP 5.1 without pdo support then compiled seperate modules
however I could not get pdo_mysql to compile.
I phpized ./configure and make and get the following error

checking for MySQL support for PDO... yes, shared
checking for mysql_config... /usr/bin/mysql_config
checking for mysql_query... no
configure: error: mysql_query missing!?

Might be related? So I forced a install of pdo_mysql RC2

The bug goes away, Same exact script but everything is working...

So its either a diffrence between pdo_mysql RC2 or some wierd issue
with shared vs compiled in.

I hope that helps somehow?



[2005-11-25 15:14:33] lists at cyberlot dot net

What OS are you testing on? All I have are Centos/Redhat based boxes to
test on.

Also if this helps I always download directly from MySQL I never use
the DIST included rpms.



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/35368

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



#35368 [Com]: PDO query does not work properly with serialize

2010-01-06 Thread uggabc at yahoo dot cn
 ID:   35368
 Comment by:   uggabc at yahoo dot cn
 Reported By:  lists at cyberlot dot net
 Status:   Suspended
 Bug Type: PDO related
 Operating System: *
 PHP Version:  6CVS, 5CVS
 Assigned To:  wez
 New Comment:

It was my pleasure to visit your Website. I am also very Website you 

enjoy the article.And I also have  http://www.emu-boots.net/ emu boots 
he feeling that it was really a pity that we didn

¡¯ 

t meet each other earlier. Because the kindness and warmth in your 

Website can make me completely relaxed and happy. I hope that you 

will visit my  blog too 

to see if you can have the same feeling.


Previous Comments:


[2010-01-07 06:50:39] uggabc at yahoo dot cn

It was my pleasure to visit your Website. I am also very Website you 

enjoy the article.And I also have [url=http://www.emu-boots.net/]emu
boots[/url]  he feeling that it was really a 

pity that we didn¡¯ 

t meet each other earlier. Because the kindness and warmth in your 

Website can make me completely relaxed and happy. I hope that you 

will visit my  blog too



[2010-01-07 06:48:39] uggabc at yahoo dot cn

It was my pleasure to visit your Website. I am also very Website you 

enjoy the article.And I also have http://www.emu-boots.net/";>emu boots  he feeling that it was 

really a pity that we didn¡¯ 

t meet each other earlier. Because the kindness and warmth in your 

Website can make me completely relaxed and happy. I hope that you 

will visit my  blog too



[2005-11-27 22:11:06] w...@php.net

We managed to reproduce the problem; it's a problem with the query
rewriter when it maps :name to ?.  If the string is embedded in the SQL
using single quotes, but has double quotes backslashed, the string it
too tricky for the parser to follow, and it ends up transforming parts
of the serialized string that it shouldn't.

There are three possible workarounds for this issue, in order of
preference:
- Don't embed serialized data into the query string; use bound
parameters (that's what they're there for).  In future versions of PDO,
prepared statements may be cacheable in persistent connections, leading
to a performance gain.
- Use PDO::quote() to correctly quote the string
- Use PDO::exec() to fire off this UPDATE/INSERT statement; it uses an
alternate API that doesn't need to handle parameters.




[2005-11-25 16:40:35] tony2...@php.net

This is fixed in CVS, get a fresh snapshot and try again.



[2005-11-25 16:32:07] lists at cyberlot dot net

To try and narrow this down and be able to play with the code more I
recompiled PHP 5.1 without pdo support then compiled seperate modules
however I could not get pdo_mysql to compile.
I phpized ./configure and make and get the following error

checking for MySQL support for PDO... yes, shared
checking for mysql_config... /usr/bin/mysql_config
checking for mysql_query... no
configure: error: mysql_query missing!?

Might be related? So I forced a install of pdo_mysql RC2

The bug goes away, Same exact script but everything is working...

So its either a diffrence between pdo_mysql RC2 or some wierd issue
with shared vs compiled in.

I hope that helps somehow?



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/35368

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