#45155 [NEW]: Constructors not called when using classmap option in SoapClient

2008-06-03 Thread david at globulebleu dot com
From: david at globulebleu dot com
Operating system: *
PHP version:  5.2.6
PHP Bug Type: SOAP related
Bug description:  Constructors not called when using classmap option in 
SoapClient

Description:

When using classmap to map the SOAP results to a class, the constructor of
the object you've mapped to is not called. 

Reproduce code:
---
$client = new SoapClient(url_to_wsdl, 
   array('classmap' = array('contact' = Contact));

$params = array(1);

$contact = $client-__soapCall(get_contact, $params);

Expected result:

A contact object that has properties initialized (i.e. db connections,
...).

Actual result:
--
A contact object without the properties.

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



#45156 [NEW]: 2 ZIP archives created when creating archive in folder wwwroot

2008-06-03 Thread harlequin2 at gmx dot de
From: harlequin2 at gmx dot de
Operating system: Windows 2003 SP2
PHP version:  5.2.6
PHP Bug Type: Zip Related
Bug description:  2 ZIP archives created when creating archive in folder wwwroot

Description:

If I create a ZipArchive in the folder C:\Inetpub\wwwroot, then two zip
files are created with the names temp.zip.a11860 and temp.zip.b11860.
Renaming the files to temp.zip and opening it shows that both files
contain the same files, so it's not something like a splitted archive.
If I change $filename (i.e. C:/Inetpub/temp.zip or anything else), then
only one file is created. I checked if it has something to do with dos'
maximum filename length, but that was not the case. The effect only
occurres when the file is created within the folder wwwroot, subfolders
included.

Reproduce code:
---
$filename = C:/Inetpub/wwwroot/temp.zip;
// I also tried ZIPARCHIVE::OVERWRITE
if ($zip-open($filename, ZIPARCHIVE::CREATE)!== true){
$zip-addFile(test.xls, test.xls);
$zip-close();

Expected result:

One ZipArchive with the name temp.zip created

Actual result:
--
Two ZipArchives with the names temp.zip.a11860 and temp.zip.b11860
created

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



#45157 [NEW]: Php runtime timeout

2008-06-03 Thread arno at dotcontent dot net
From: arno at dotcontent dot net
Operating system: Windows 2000
PHP version:  4.4.8
PHP Bug Type: Unknown/Other Function
Bug description:  Php runtime timeout

Description:

Problem with page timing out.
I changed max_execution_time from 30 to 600 in php.ini for debug purposes.
This has always worked for me for the past few years. However after
upgrading to 4.4.8 I find my php page times out after approx. 60 seconds.
As a result php times out while I'm stepping through the code.  I also
tried setting max_execution_time to 6000 with same result. Tested on
localhost in both IE6 and Mozilla 2. Using Apache Release 10324100.


Reproduce code:
---
change max_execution_time from 30 to 600 in php.ini and restart server -
phpinfo confirms max_execution_time=600

I used the following to test (adapted from the manual):

?php 
$t=70; 
echo htmlheadtitletest timeout/title/headbody; 
echo h2Test timeout - sleep for $t seconds/h2; 
echo sleeping .date('h:i:s').br /; 
sleep($t); 
echo stop sleeping .date('h:i:s'); 
echo /body/html; 
? 

$t=59 works fine, but $t=70 times out.


Expected result:

Expected to see an output page

Actual result:
--
The page cannot be displayed

The page you are looking for is currently unavailable. The Web site might
be experiencing technical difficulties, or you may need to adjust your
browser settings. 


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



#45156 [Opn-Fbk]: 2 ZIP archives created when creating archive in folder wwwroot

2008-06-03 Thread pajoye
 ID:   45156
 Updated by:   [EMAIL PROTECTED]
 Reported By:  harlequin2 at gmx dot de
-Status:   Open
+Status:   Feedback
 Bug Type: Zip Related
 Operating System: Windows 2003 SP2
 PHP Version:  5.2.6
-Assigned To:  
+Assigned To:  pajoye
 New Comment:

 zip files are created with the names temp.zip.a11860

One temp file is created until the archive is closed (finished).

Do you see them while creating the archive or even after you called the
close method?

If you see them after the close call, please check the return value of
the close call as well as other methods.


Previous Comments:


[2008-06-03 09:58:45] harlequin2 at gmx dot de

Description:

If I create a ZipArchive in the folder C:\Inetpub\wwwroot, then two
zip files are created with the names temp.zip.a11860 and
temp.zip.b11860. Renaming the files to temp.zip and opening it shows
that both files contain the same files, so it's not something like a
splitted archive.
If I change $filename (i.e. C:/Inetpub/temp.zip or anything else),
then only one file is created. I checked if it has something to do with
dos' maximum filename length, but that was not the case. The effect only
occurres when the file is created within the folder wwwroot,
subfolders included.

Reproduce code:
---
$filename = C:/Inetpub/wwwroot/temp.zip;
// I also tried ZIPARCHIVE::OVERWRITE
if ($zip-open($filename, ZIPARCHIVE::CREATE)!== true){
$zip-addFile(test.xls, test.xls);
$zip-close();

Expected result:

One ZipArchive with the name temp.zip created

Actual result:
--
Two ZipArchives with the names temp.zip.a11860 and temp.zip.b11860
created





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



#33564 [Com]: Strange behaviour passing long string to TRANSLATE in oracle

2008-06-03 Thread ait_ajkdak at yahoo dot com
 ID:   33564
 Comment by:   ait_ajkdak at yahoo dot com
 Reported By:  daniel at bitarts dot com
 Status:   No Feedback
 Bug Type: OCI8 related
 Operating System: solaris
 PHP Version:  5.0.4
 Assigned To:  tony2001
 New Comment:

When using software products with graphical interfaces, we frequently
focus so much on the details of how to use the interface that we forget
about the general concepts that allow us to understand and use the
software effectively. This is particularly true of a powerful database
product like Microsoft Access. Novice, and sometimes even experienced,
programmers are so concerned with how something is done in Access that
they often lose sight of the general principles that underlie their
database applications. Access Database Design and Programming takes you
behind the details of the Access interface, focusing on the general
knowledge necessary for Access power users or developers to create
effective database
applications.1212121272381723461278934629378462937429329341
When using software products with graphical interfaces, we frequently
focus so much on the details of how to use the interface that we forget
about the general concepts that allow us to understand and use the
software effectively. This is particularly true of a powerful database
product like Microsoft Access. Novice, and sometimes even experienced,
programmers are so concerned with how something is done in Access that
they often lose sight of the general principles that underlie their
database applications. Access Database Design and Programming takes you
behind the details of the Access interface, focusing on the general
knowledge necessary for Access power users or developers to create
effective database
applications.1212121272381723461278934629378462937429329341
When using software products with graphical interfaces, we frequently
focus so much on the details of how to use the interface that we forget
about the general concepts that allow us to understand and use the
software effectively. This is particularly true of a powerful database
product like Microsoft Access. Novice, and sometimes even experienced,
programmers are so concerned with how something is done in Access that
they often lose sight of the general principles that underlie their
database applications. Access Database Design and Programming takes you
behind the details of the Access interface, focusing on the general
knowledge necessary for Access power users or developers to create
effective database
applications.1212121272381723461278934629378462937429329341
When using software products with graphical interfaces, we frequently
focus so much on the details of how to use the interface that we forget
about the general concepts that allow us to understand and use the
software effectively. This is particularly true of a powerful database
product like Microsoft Access. Novice, and sometimes even experienced,
programmers are so concerned with how something is done in Access that
they often lose sight of the general principles that underlie their
database applications. Access Database Design and Programming takes you
behind the details of the Access interface, focusing on the general
knowledge necessary for Access power users or developers to create
effect


Previous Comments:


[2008-03-16 18:12:04] phpnet at rosenthaltechnologies dot com

I'm getting the same error with oci9... (when I try to save an nclob it
locks up).  what is the status of nclob support in oci9?

Best,
Brian



[2005-09-16 01:00:02] 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.



[2005-09-08 11:52:03] [EMAIL PROTECTED]

Please try OCI8 v.1.1, which is available in CVS HEAD and PECL (use
`pear install oci8-beta` to install it).



[2005-07-05 16:53:00] daniel at bitarts dot com

I had made a mistake, TRANSLATE only works for NVARCHAR's etc and
anything less than 2000 characaters.

What I should be using is TO_NCHAR.  This works fine in sql:
UPDATE TEST 
SET NCLOB_BACKUP = TO_NCLOB(:NCLOB_BACKUP) 
WHERE ID='4

However, running this through php causes php to lock up:

$data = TEst2;
 
$lob = OCINewDescriptor($conn, OCI_D_LOB); 
$stmt = OCIParse($conn,UPDATE TEST 
SET NCLOB_BACKUP =
TO_NCLOB(:NCLOB_BACKUP) 
WHERE ID='4'); 

OCIBindByName($stmt, ':NCLOB_BACKUP', $lob, -1, OCI_B_CLOB); 

#45156 [Fbk-Opn]: 2 ZIP archives created when creating archive in folder wwwroot

2008-06-03 Thread harlequin2 at gmx dot de
 ID:   45156
 User updated by:  harlequin2 at gmx dot de
 Reported By:  harlequin2 at gmx dot de
-Status:   Feedback
+Status:   Open
 Bug Type: Zip Related
 Operating System: Windows 2003 SP2
 PHP Version:  5.2.6
 Assigned To:  pajoye
 New Comment:

I see the two created files after I have called $zip-close() and after
the script has finished running. A call to $zip-status returns 0,
$zip-numFiles is showing 1 item in the file.
There are no previous methods executed.


Previous Comments:


[2008-06-03 10:48:44] [EMAIL PROTECTED]

 zip files are created with the names temp.zip.a11860

One temp file is created until the archive is closed (finished).

Do you see them while creating the archive or even after you called the
close method?

If you see them after the close call, please check the return value of
the close call as well as other methods.



[2008-06-03 09:58:45] harlequin2 at gmx dot de

Description:

If I create a ZipArchive in the folder C:\Inetpub\wwwroot, then two
zip files are created with the names temp.zip.a11860 and
temp.zip.b11860. Renaming the files to temp.zip and opening it shows
that both files contain the same files, so it's not something like a
splitted archive.
If I change $filename (i.e. C:/Inetpub/temp.zip or anything else),
then only one file is created. I checked if it has something to do with
dos' maximum filename length, but that was not the case. The effect only
occurres when the file is created within the folder wwwroot,
subfolders included.

Reproduce code:
---
$filename = C:/Inetpub/wwwroot/temp.zip;
// I also tried ZIPARCHIVE::OVERWRITE
if ($zip-open($filename, ZIPARCHIVE::CREATE)!== true){
$zip-addFile(test.xls, test.xls);
$zip-close();

Expected result:

One ZipArchive with the name temp.zip created

Actual result:
--
Two ZipArchives with the names temp.zip.a11860 and temp.zip.b11860
created





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



#45159 [NEW]: __callStatic() called only in static methods

2008-06-03 Thread reto at buxaprojects dot com
From: reto at buxaprojects dot com
Operating system: Fedora
PHP version:  6CVS-2008-06-03 (snap)
PHP Bug Type: Class/Object related
Bug description:  __callStatic() called only in static methods

Description:

__call() instead of __callStatic() is called, when we call a static method
from a non-static method.

Reproduce code:
---
abstract class One
{
public function __call($m, $p)
{
echo '__call(' . $m . ') called' . \n;
}
public static function __callStatic($m, $p)
{
echo '__callStatic(' . $m . ') called' . \n;
}
}
class Two extends One
{
public function __construct()
{
$this-normalMethod();
self::staticMethod();
}

private function normalMethod()
{
echo 'normalMethod() called' . \n;
parent::a();
self::b();
static::c();
One::d();
Two::e();
}

private static function staticMethod()
{
echo 'staticMethod() called' . \n;
parent::a();
self::b();
static::c();
One::d();
Two::e();
}
}
$two = new Two();

Expected result:

normalMethod() called
__call(a) called
__callStatic(b) called
__callStatic(c) called
__callStatic(d) called
__callStatic(e) called
staticMethod() called
__callStatic(a) called
__callStatic(b) called
__callStatic(c) called
__callStatic(d) called
__callStatic(e) called


Actual result:
--
normalMethod() called
__call(a) called
__call(b) called
__call(c) called
__call(d) called
__call(e) called
staticMethod() called
__callStatic(a) called
__callStatic(b) called
__callStatic(c) called
__callStatic(d) called
__callStatic(e) called


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



#45156 [Opn-Fbk]: 2 ZIP archives created when creating archive in folder wwwroot

2008-06-03 Thread pajoye
 ID:   45156
 Updated by:   [EMAIL PROTECTED]
 Reported By:  harlequin2 at gmx dot de
-Status:   Open
+Status:   Feedback
 Bug Type: Zip Related
 Operating System: Windows 2003 SP2
 PHP Version:  5.2.6
 Assigned To:  pajoye
 New Comment:

Can you try:

error_reporting(E_AL));
$filename = C:/Inetpub/wwwroot/test.txt;
touch($filename);
unlink($filename);

(be sure to have display_errors to On).

The 2nd test is to run the same script using CLI. I don't have access
to windows 2k3 right now, but I can test that too later this week.


Previous Comments:


[2008-06-03 12:00:59] harlequin2 at gmx dot de

I see the two created files after I have called $zip-close() and after
the script has finished running. A call to $zip-status returns 0,
$zip-numFiles is showing 1 item in the file.
There are no previous methods executed.



[2008-06-03 10:48:44] [EMAIL PROTECTED]

 zip files are created with the names temp.zip.a11860

One temp file is created until the archive is closed (finished).

Do you see them while creating the archive or even after you called the
close method?

If you see them after the close call, please check the return value of
the close call as well as other methods.



[2008-06-03 09:58:45] harlequin2 at gmx dot de

Description:

If I create a ZipArchive in the folder C:\Inetpub\wwwroot, then two
zip files are created with the names temp.zip.a11860 and
temp.zip.b11860. Renaming the files to temp.zip and opening it shows
that both files contain the same files, so it's not something like a
splitted archive.
If I change $filename (i.e. C:/Inetpub/temp.zip or anything else),
then only one file is created. I checked if it has something to do with
dos' maximum filename length, but that was not the case. The effect only
occurres when the file is created within the folder wwwroot,
subfolders included.

Reproduce code:
---
$filename = C:/Inetpub/wwwroot/temp.zip;
// I also tried ZIPARCHIVE::OVERWRITE
if ($zip-open($filename, ZIPARCHIVE::CREATE)!== true){
$zip-addFile(test.xls, test.xls);
$zip-close();

Expected result:

One ZipArchive with the name temp.zip created

Actual result:
--
Two ZipArchives with the names temp.zip.a11860 and temp.zip.b11860
created





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



#45157 [Opn]: Php runtime timeout

2008-06-03 Thread arno at dotcontent dot net
 ID:   45157
 User updated by:  arno at dotcontent dot net
 Reported By:  arno at dotcontent dot net
 Status:   Open
 Bug Type: Unknown/Other Function
 Operating System: Windows 2000
 PHP Version:  4.4.8
 New Comment:

BTW to exclude any possibility this is a browser-related timeout, I ran
the same test successfully with $t=500 seconds on a different machine
running php 4.3.4, everything else the same as the original test pc.


Previous Comments:


[2008-06-03 10:44:54] arno at dotcontent dot net

Description:

Problem with page timing out.
I changed max_execution_time from 30 to 600 in php.ini for debug
purposes. This has always worked for me for the past few years. However
after upgrading to 4.4.8 I find my php page times out after approx. 60
seconds. As a result php times out while I'm stepping through the code. 
I also tried setting max_execution_time to 6000 with same result. Tested
on localhost in both IE6 and Mozilla 2. Using Apache Release 10324100.


Reproduce code:
---
change max_execution_time from 30 to 600 in php.ini and restart server
- phpinfo confirms max_execution_time=600

I used the following to test (adapted from the manual):

?php 
$t=70; 
echo htmlheadtitletest timeout/title/headbody; 
echo h2Test timeout - sleep for $t seconds/h2; 
echo sleeping .date('h:i:s').br /; 
sleep($t); 
echo stop sleeping .date('h:i:s'); 
echo /body/html; 
? 

$t=59 works fine, but $t=70 times out.


Expected result:

Expected to see an output page

Actual result:
--
The page cannot be displayed

The page you are looking for is currently unavailable. The Web site
might be experiencing technical difficulties, or you may need to adjust
your browser settings. 






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



#45160 [NEW]: PHP has encountered an Access Violation at 01B849C7

2008-06-03 Thread php at eklenet dot de
From: php at eklenet dot de
Operating system: Windows 2003 Server 32bit
PHP version:  5.3CVS-2008-06-03 (CVS)
PHP Bug Type: Unknown/Other Function
Bug description:  PHP has encountered an Access Violation at 01B849C7

Description:

hi,
i got the error :
  PHP has encountered an Access Violation at 01B849C7
on some sqls.
i have tried some php-version, 5.2.4, 5.2.5, 5.2.6 and
php5.2-win32-latest.zip, on IIS ISAPI and Apache2 Mod, all the same. 

i think the the error must be in the PDO prepare statement, as you see a
A is show with the SQL in the actual result, but never a B at the last
line
The attatched output is complete.
The reproduce code is just a part of a big script.

Reproduce code:
---
...
$this-CONNECTION['handle'] =$dbh = new PDO('odbc:bluesheet',
sa,);
...
echo A:$sql:;
$this-CONNECTION['response'] =
$this-CONNECTION['handle']-prepare($sql);
echo B;
$this-CONNECTION['response']-execute();
echo C;

...

Expected result:

no error and correctly executed sqls.

Actual result:
--
PHP has encountered an Access Violation at 01B849C7A:SELECT id,name FROM
bs_companies;:BCA:SELECT

 id,name FROM bs_users;:BCA:SELECT * FROM bs_salesmans;:BCA:INSERT INTO 

bs_access_log

( 

func , 

ip , 

ip_for , 

session , 

php_session , 

browser , 

login , 

date

) VALUES ( 

'muster_stueckliste_edit'   /* func */ , 

'192.168.224.4' /* ip */ , 

''  /* ip_for */ , 

'e9bc10605d413039c338efeaef5abef0'  /* session */ , 

'8b1q4n09vhpvba2dqgfl7sh6t5'/* php_session */ , 

'Mozilla/5.0 (Windows; U; Windows NT 5.2; de; rv:1.8.1.14) 
Gecko/20080404
Firefox/2.0.0.14'   /* browser

 */ , 

'1' /* login */ , 

getdate()   /* date */

)

:BCA:SELECT 

[function]

FROM 

bs_functions4user

WHERE 

user_id = '1'

:BCA:UPDATE 

bs_stueckliste

SET 

parent_id = '32' , 

stueck = '2' , 

details = '2' , 

einheit = '2' , 

verbrauch = DEFAULT , 

groese = '2' , 

farbe = DEFAULT , 

positions = DEFAULT , 

anz = DEFAULT

WHERE 

id = '5' AND 

ident = '64'

:

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



#45159 [Opn-Ver]: __callStatic() called only in static methods

2008-06-03 Thread colder
 ID:   45159
 Updated by:   [EMAIL PROTECTED]
 Reported By:  reto at buxaprojects dot com
-Status:   Open
+Status:   Verified
 Bug Type: Class/Object related
 Operating System: Fedora
 PHP Version:  6CVS-2008-06-03 (snap)
 New Comment:

This is somewhat expected, a call to foo::bar() from a non-static
context will be a non-static call, unless the function is explicitly
defined as static. 

However, some of this(especially the part about calling a static
method from/to an invalid context) is scheduled for cleanup.


Previous Comments:


[2008-06-03 11:59:19] reto at buxaprojects dot com

Description:

__call() instead of __callStatic() is called, when we call a static
method from a non-static method.

Reproduce code:
---
abstract class One
{
public function __call($m, $p)
{
echo '__call(' . $m . ') called' . \n;
}
public static function __callStatic($m, $p)
{
echo '__callStatic(' . $m . ') called' . \n;
}
}
class Two extends One
{
public function __construct()
{
$this-normalMethod();
self::staticMethod();
}

private function normalMethod()
{
echo 'normalMethod() called' . \n;
parent::a();
self::b();
static::c();
One::d();
Two::e();
}

private static function staticMethod()
{
echo 'staticMethod() called' . \n;
parent::a();
self::b();
static::c();
One::d();
Two::e();
}
}
$two = new Two();

Expected result:

normalMethod() called
__call(a) called
__callStatic(b) called
__callStatic(c) called
__callStatic(d) called
__callStatic(e) called
staticMethod() called
__callStatic(a) called
__callStatic(b) called
__callStatic(c) called
__callStatic(d) called
__callStatic(e) called


Actual result:
--
normalMethod() called
__call(a) called
__call(b) called
__call(c) called
__call(d) called
__call(e) called
staticMethod() called
__callStatic(a) called
__callStatic(b) called
__callStatic(c) called
__callStatic(d) called
__callStatic(e) called






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



#45156 [Fbk-Opn]: 2 ZIP archives created when creating archive in folder wwwroot

2008-06-03 Thread harlequin2 at gmx dot de
 ID:   45156
 User updated by:  harlequin2 at gmx dot de
 Reported By:  harlequin2 at gmx dot de
-Status:   Feedback
+Status:   Open
 Bug Type: Zip Related
 Operating System: Windows 2003 SP2
 PHP Version:  5.2.6
 Assigned To:  pajoye
 New Comment:

I tried:

error_reporting(E_ALL);
$filename = C:\\Inetpub\\wwwroot\\temp.zip;
touch($filename);
unlink($filename);

and the touch()ing worked, the timestamp was modified. The unlink()
returned an Access denied message, although I added Everyone to the
list of allowed users with Full control.

Good idea to test from CLI:
When the script is executed through CLI (under the local user context),
the file is created correctly, only one file remains. The unlink()
command also works without problems.

Seems to be related to Windows 2K3 security policies, but it's still
strange to receive the same result code (result code 0) from both web
and cli call.


Previous Comments:


[2008-06-03 12:23:57] [EMAIL PROTECTED]

Can you try:

error_reporting(E_AL));
$filename = C:/Inetpub/wwwroot/test.txt;
touch($filename);
unlink($filename);

(be sure to have display_errors to On).

The 2nd test is to run the same script using CLI. I don't have access
to windows 2k3 right now, but I can test that too later this week.



[2008-06-03 12:00:59] harlequin2 at gmx dot de

I see the two created files after I have called $zip-close() and after
the script has finished running. A call to $zip-status returns 0,
$zip-numFiles is showing 1 item in the file.
There are no previous methods executed.



[2008-06-03 10:48:44] [EMAIL PROTECTED]

 zip files are created with the names temp.zip.a11860

One temp file is created until the archive is closed (finished).

Do you see them while creating the archive or even after you called the
close method?

If you see them after the close call, please check the return value of
the close call as well as other methods.



[2008-06-03 09:58:45] harlequin2 at gmx dot de

Description:

If I create a ZipArchive in the folder C:\Inetpub\wwwroot, then two
zip files are created with the names temp.zip.a11860 and
temp.zip.b11860. Renaming the files to temp.zip and opening it shows
that both files contain the same files, so it's not something like a
splitted archive.
If I change $filename (i.e. C:/Inetpub/temp.zip or anything else),
then only one file is created. I checked if it has something to do with
dos' maximum filename length, but that was not the case. The effect only
occurres when the file is created within the folder wwwroot,
subfolders included.

Reproduce code:
---
$filename = C:/Inetpub/wwwroot/temp.zip;
// I also tried ZIPARCHIVE::OVERWRITE
if ($zip-open($filename, ZIPARCHIVE::CREATE)!== true){
$zip-addFile(test.xls, test.xls);
$zip-close();

Expected result:

One ZipArchive with the name temp.zip created

Actual result:
--
Two ZipArchives with the names temp.zip.a11860 and temp.zip.b11860
created





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



#45159 [Ver-WFx]: __callStatic() called only in static methods

2008-06-03 Thread colder
 ID:   45159
 Updated by:   [EMAIL PROTECTED]
 Reported By:  reto at buxaprojects dot com
-Status:   Verified
+Status:   Wont fix
 Bug Type: Class/Object related
 Operating System: Fedora
 PHP Version:  6CVS-2008-06-03 (snap)
 New Comment:

Actually, in this particular case, it's completely expected.

Class A {
  public function foo() {

  }
}

class B extends A {
  public function bar() {
parent::foo(); // normal call
static::foo(); // normal call as well
A::foo(); // same here...
  }
}

$b = new B; $b-bar();

Now, for BC purposes, it would probably break things if those call
suddenly stop calling __call in case A::foo() wasn't defined, which how
it currently works in PHP 5.


Previous Comments:


[2008-06-03 13:10:08] [EMAIL PROTECTED]

This is somewhat expected, a call to foo::bar() from a non-static
context will be a non-static call, unless the function is explicitly
defined as static. 

However, some of this(especially the part about calling a static
method from/to an invalid context) is scheduled for cleanup.



[2008-06-03 11:59:19] reto at buxaprojects dot com

Description:

__call() instead of __callStatic() is called, when we call a static
method from a non-static method.

Reproduce code:
---
abstract class One
{
public function __call($m, $p)
{
echo '__call(' . $m . ') called' . \n;
}
public static function __callStatic($m, $p)
{
echo '__callStatic(' . $m . ') called' . \n;
}
}
class Two extends One
{
public function __construct()
{
$this-normalMethod();
self::staticMethod();
}

private function normalMethod()
{
echo 'normalMethod() called' . \n;
parent::a();
self::b();
static::c();
One::d();
Two::e();
}

private static function staticMethod()
{
echo 'staticMethod() called' . \n;
parent::a();
self::b();
static::c();
One::d();
Two::e();
}
}
$two = new Two();

Expected result:

normalMethod() called
__call(a) called
__callStatic(b) called
__callStatic(c) called
__callStatic(d) called
__callStatic(e) called
staticMethod() called
__callStatic(a) called
__callStatic(b) called
__callStatic(c) called
__callStatic(d) called
__callStatic(e) called


Actual result:
--
normalMethod() called
__call(a) called
__call(b) called
__call(c) called
__call(d) called
__call(e) called
staticMethod() called
__callStatic(a) called
__callStatic(b) called
__callStatic(c) called
__callStatic(d) called
__callStatic(e) called






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



#45154 [Opn-Bgs]: /* or -- no longer used as comment chars

2008-06-03 Thread msaraujo
 ID:   45154
 Updated by:   [EMAIL PROTECTED]
 Reported By:  dillama at canada dot com
-Status:   Open
+Status:   Bogus
 Bug Type: MySQL related
 Operating System: Linux
 PHP Version:  5.2.6
 New Comment:

Sorry, but your problem does not imply a bug in PHP itself.  For a
list of more appropriate places to ask for help using PHP, please
visit http://www.php.net/support.php as this bug system is not the
appropriate forum for asking support questions.  Due to the volume
of reports we can not explain in detail here why your report is not
a bug.  The support channels will be able to provide an explanation
for you.

Thank you for your interest in PHP.

http://dev.mysql.com/doc/refman/5.0/en/comments.html


Previous Comments:


[2008-06-03 05:56:22] dillama at canada dot com

Description:

/* can no longer be used as a comment character to ignore all text
after this character (seems to only affect 5.2)

-- never worked as a comment character in previous version of PHP

Reproduce code:
---
$dbh = @mysql_connect (localhost, aaa, aaa) or die (Cannot
connect to DB);
mysql_select_db(test,$dbh) or die (Cannot select DB);
$sql=select something from table /* dsfadsfasdfadfasdfasfdmkkn;

$result=mysql_query($sql,$dbh) or die (Cannot submit query .
mysql_error());


Expected result:

As similar to PHP 5.1 series, the above statement should run without
error. Note, -- should work but have never worked either.

Actual result:
--
SQL Error : 1064 You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to
use near





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



#45159 [WFx]: __callStatic() called only in static methods

2008-06-03 Thread reto at buxaprojects dot com
 ID:   45159
 User updated by:  reto at buxaprojects dot com
 Reported By:  reto at buxaprojects dot com
 Status:   Wont fix
 Bug Type: Class/Object related
 Operating System: Fedora
 PHP Version:  6CVS-2008-06-03 (snap)
 New Comment:

I see your problem that it would probably break things. But when i'm
calling a static method with static::coolMethod() i would expect that
this is __always__ a static call, why using the object context when it
can't be used in the static methods either?

In your example i would expect an Error that the foo() method of class
A can't be called statically.


Previous Comments:


[2008-06-03 13:15:27] [EMAIL PROTECTED]

Actually, in this particular case, it's completely expected.

Class A {
  public function foo() {

  }
}

class B extends A {
  public function bar() {
parent::foo(); // normal call
static::foo(); // normal call as well
A::foo(); // same here...
  }
}

$b = new B; $b-bar();

Now, for BC purposes, it would probably break things if those call
suddenly stop calling __call in case A::foo() wasn't defined, which how
it currently works in PHP 5.



[2008-06-03 13:10:08] [EMAIL PROTECTED]

This is somewhat expected, a call to foo::bar() from a non-static
context will be a non-static call, unless the function is explicitly
defined as static. 

However, some of this(especially the part about calling a static
method from/to an invalid context) is scheduled for cleanup.



[2008-06-03 11:59:19] reto at buxaprojects dot com

Description:

__call() instead of __callStatic() is called, when we call a static
method from a non-static method.

Reproduce code:
---
abstract class One
{
public function __call($m, $p)
{
echo '__call(' . $m . ') called' . \n;
}
public static function __callStatic($m, $p)
{
echo '__callStatic(' . $m . ') called' . \n;
}
}
class Two extends One
{
public function __construct()
{
$this-normalMethod();
self::staticMethod();
}

private function normalMethod()
{
echo 'normalMethod() called' . \n;
parent::a();
self::b();
static::c();
One::d();
Two::e();
}

private static function staticMethod()
{
echo 'staticMethod() called' . \n;
parent::a();
self::b();
static::c();
One::d();
Two::e();
}
}
$two = new Two();

Expected result:

normalMethod() called
__call(a) called
__callStatic(b) called
__callStatic(c) called
__callStatic(d) called
__callStatic(e) called
staticMethod() called
__callStatic(a) called
__callStatic(b) called
__callStatic(c) called
__callStatic(d) called
__callStatic(e) called


Actual result:
--
normalMethod() called
__call(a) called
__call(b) called
__call(c) called
__call(d) called
__call(e) called
staticMethod() called
__callStatic(a) called
__callStatic(b) called
__callStatic(c) called
__callStatic(d) called
__callStatic(e) called






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



#44769 [Asn-Csd]: declaring private magic methods should throw error

2008-06-03 Thread felipe
 ID:   44769
 Updated by:   [EMAIL PROTECTED]
 Reported By:  todd at magnifisites dot com
-Status:   Assigned
+Status:   Closed
 Bug Type: Scripting Engine problem
 Operating System: *
 PHP Version:  5.2.5
 Assigned To:  felipe
 New Comment:

This bug has been fixed in CVS.

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.

Fixed in 5_3 and HEAD.


Previous Comments:


[2008-05-25 14:27:15] danielc at analysisandsolutions dot com

Marcus feels this is a bug and should be addressed
(http://news.php.net/php.internals/37857).

Once this is fixed, the documentation bug should be updated
(http://bugs.php.net/bug.php?id=43924).

Here are earlier bug reports covering this issue...

Documentation bugs that have been closed:
http://bugs.php.net/bug.php?id=31806
http://bugs.php.net/bug.php?id=40103

Illia marked this bogus saying it is the expected behavior.
http://bugs.php.net/bug.php?id=40056



[2008-04-17 23:15:57] todd at magnifisites dot com

Description:

When using object overloading I thought I might receive at the very
least a warning error if I attempted to declare any of the magic methods
as private in a class definition as per the documentation:

All overloading methods must be defined as public.

http://php.net/language.oop5.overloading.php

Also tested in PHP 6CVS-2008-04-17 (snap)

Reproduce code:
---
class MemberTest {
/**  Location for overloaded data.  */
private $data = array();
private function __set($name, $value) {
echo Setting '$name' to '$value'\n;
$this-data[$name] = $value;
}
private function __get($name) {
echo Getting '$name'\n;
if (array_key_exists($name, $this-data)) {
return $this-data[$name];
}
}
}
echo pre\n;
$obj = new MemberTest;
$obj-a = 1;
echo $obj-a . \n;
exit;

Expected result:

A FATAL error or at the very least a WARNING error with
error_reporting  =  E_ALL | E_STRICT

Actual result:
--
pre
Setting 'a' to '1'
Getting 'a'
1






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



#45156 [Opn-Csd]: 2 ZIP archives created when creating archive in folder wwwroot

2008-06-03 Thread harlequin2 at gmx dot de
 ID:   45156
 User updated by:  harlequin2 at gmx dot de
 Reported By:  harlequin2 at gmx dot de
-Status:   Open
+Status:   Closed
 Bug Type: Zip Related
 Operating System: Windows 2003 SP2
 PHP Version:  5.2.6
 Assigned To:  pajoye
 New Comment:

After removing all groups (with the exception of Everyone) and
leaving that one with all privileges, both creating a zip file and
deleting files from the folder work.

In my eyes the bug could be closed, but I still wonder if a return code
other than 0 could be thrown if renaming the zipfile to the desired
zipfile name fails.

Thanks for your support!


Previous Comments:


[2008-06-03 13:33:50] harlequin2 at gmx dot de

I tried:

error_reporting(E_ALL);
$filename = C:\\Inetpub\\wwwroot\\temp.zip;
touch($filename);
unlink($filename);

and the touch()ing worked, the timestamp was modified. The unlink()
returned an Access denied message, although I added Everyone to the
list of allowed users with Full control.

Good idea to test from CLI:
When the script is executed through CLI (under the local user context),
the file is created correctly, only one file remains. The unlink()
command also works without problems.

Seems to be related to Windows 2K3 security policies, but it's still
strange to receive the same result code (result code 0) from both web
and cli call.



[2008-06-03 12:23:57] [EMAIL PROTECTED]

Can you try:

error_reporting(E_AL));
$filename = C:/Inetpub/wwwroot/test.txt;
touch($filename);
unlink($filename);

(be sure to have display_errors to On).

The 2nd test is to run the same script using CLI. I don't have access
to windows 2k3 right now, but I can test that too later this week.



[2008-06-03 12:00:59] harlequin2 at gmx dot de

I see the two created files after I have called $zip-close() and after
the script has finished running. A call to $zip-status returns 0,
$zip-numFiles is showing 1 item in the file.
There are no previous methods executed.



[2008-06-03 10:48:44] [EMAIL PROTECTED]

 zip files are created with the names temp.zip.a11860

One temp file is created until the archive is closed (finished).

Do you see them while creating the archive or even after you called the
close method?

If you see them after the close call, please check the return value of
the close call as well as other methods.



[2008-06-03 09:58:45] harlequin2 at gmx dot de

Description:

If I create a ZipArchive in the folder C:\Inetpub\wwwroot, then two
zip files are created with the names temp.zip.a11860 and
temp.zip.b11860. Renaming the files to temp.zip and opening it shows
that both files contain the same files, so it's not something like a
splitted archive.
If I change $filename (i.e. C:/Inetpub/temp.zip or anything else),
then only one file is created. I checked if it has something to do with
dos' maximum filename length, but that was not the case. The effect only
occurres when the file is created within the folder wwwroot,
subfolders included.

Reproduce code:
---
$filename = C:/Inetpub/wwwroot/temp.zip;
// I also tried ZIPARCHIVE::OVERWRITE
if ($zip-open($filename, ZIPARCHIVE::CREATE)!== true){
$zip-addFile(test.xls, test.xls);
$zip-close();

Expected result:

One ZipArchive with the name temp.zip created

Actual result:
--
Two ZipArchives with the names temp.zip.a11860 and temp.zip.b11860
created





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



#45162 [NEW]: JSON does not properly encode Arrays

2008-06-03 Thread christopher dot nagle at umb dot edu
From: christopher dot nagle at umb dot edu
Operating system: Windows XP/ Ubuntu
PHP version:  5.2.6
PHP Bug Type: JSON related
Bug description:  JSON does not properly encode Arrays

Description:

After manipulating arrays using [] or creating an array in the form
array(key = value, ...) or calling unset on an array element.
json_encode will encode the array as an object rather than an array.

Reproduce code:
---
echo json_encode(array(1 = new stdClass(), 2 = new stdClass(), 3 = new
stdClass()));
$m = array();
$m[1] = new stdClass();
$m[2] = new stdClass();
$m[3] = new stdClass();
echo json_encode($m);
$m = array_values($m);
echo json_encode($m);
unset($m[0]);
echo json_encode((array) $m);


Expected result:

[1:{},2:{},3:{}]
[1:{},2:{},3:{}]
[{},{},{}]
[1:{},2:{}]

Actual result:
--
{1:{},2:{},3:{}}
{1:{},2:{},3:{}}
[{},{},{}]
{1:{},2:{}}

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



#45161 [NEW]: reusing a curl handle leaks memory

2008-06-03 Thread humbads at alum dot mit dot edu
From: humbads at alum dot mit dot edu
Operating system: FreeBSD 6.2, Windows XP SP3
PHP version:  5.2.6
PHP Bug Type: cURL related
Bug description:  reusing a curl handle leaks memory

Description:

Reusing a curl handle for multiple requests leaks memory.  It leaks about
100 bytes per request.  This is a problem when making a large number of
requests using the same handle.  Libcurl documentation says to always reuse
the handle when possible in order to reuse connections.  The bug occurs on
Windows XP/IIS and Apache/FreeBSD 6.2.

Reproduce code:
---
?php
// Reuse curl handle memory leak test
$ch = curl_init();
$startmem = memory_get_usage();
for($i = 0; $i  100; $i++) {
  $fp = fopen('/dev/null', w);
  curl_setopt($ch, CURLOPT_URL,
'http://debug.atensoftware.com/r.php?echo='.rand());
  curl_setopt($ch, CURLOPT_FILE, $fp);
  curl_exec($ch);

  fclose($fp);
  unset($fp);
  print $i-mem: .(memory_get_usage() - $startmem). bytes\n;
}

?

Expected result:

The memory usage should not increase after each request.


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



#45096 [Asn-Bgs]: Unsuccessful installation

2008-06-03 Thread jmertic
 ID:   45096
 Updated by:   [EMAIL PROTECTED]
 Reported By:  zoran dot horvat at finsoft dot co dot yu
-Status:   Assigned
+Status:   Bogus
 Bug Type: *General Issues
 Operating System: Win Vista Home Premium, WinXP
 PHP Version:  5.2.6
 Assigned To:  jmertic
 New Comment:

It sounds like you tried to do a full install, this is not recommended
since many of the extensions have DLLs that are required for proper
functionality. Instead, only enable the extensions you need.


Previous Comments:


[2008-05-26 18:38:59] zoran dot horvat at finsoft dot co dot yu

Description:

In relation to bug report #45061, I had exactly the same symptoms. 

I have run php-5.2.6-win32-installer.msi with administrative privileges
and installed PHP to C:\Program Files\PHP. Installation apparently
passed well, but php.exe reported number of DLLs missing. 

After that I have uninstalled PHP and re-installed it in D:\PHP, again
with administrative privileges. This installation went well and php.exe
works fine. My impression is that a blank space in Program Files
directory makes setup to fail.






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



#45161 [Opn]: humbads

2008-06-03 Thread humbads at alum dot mit dot edu
 ID:   45161
 User updated by:  humbads at alum dot mit dot edu
-Summary:  reusing a curl handle leaks memory
 Reported By:  humbads at alum dot mit dot edu
 Status:   Open
 Bug Type: cURL related
 Operating System: FreeBSD 6.2, Windows XP SP3
 PHP Version:  5.2.6
 New Comment:

Below is the r.php script.  When testing this bug report, please use
this script (or some other URL) so my poor server does not get
hammered.

?php
// This script runs a variable amount of time
// and generates a variable amount of data

// Output a random number of blank space
$s = microtime(true);
$m = rand(100,200);
$bytes = 0;
for($i = 0; $i  $m; $i++) {
$message =  \n;
print $message;
$bytes += strlen($message);
usleep(10);
}

// Print time taken and the value of the echo parameter
print isset($_REQUEST['echo']) ? 'echo: '.$_REQUEST['echo'].' ' : ;
print $bytes.' bytes ';
print  in ;
print round(microtime(true) - $s, 4). seconds;
exit();
?


Previous Comments:


[2008-06-03 15:04:41] humbads at alum dot mit dot edu

Description:

Reusing a curl handle for multiple requests leaks memory.  It leaks
about 100 bytes per request.  This is a problem when making a large
number of requests using the same handle.  Libcurl documentation says to
always reuse the handle when possible in order to reuse connections. 
The bug occurs on Windows XP/IIS and Apache/FreeBSD 6.2.

Reproduce code:
---
?php
// Reuse curl handle memory leak test
$ch = curl_init();
$startmem = memory_get_usage();
for($i = 0; $i  100; $i++) {
  $fp = fopen('/dev/null', w);
  curl_setopt($ch, CURLOPT_URL,
'http://debug.atensoftware.com/r.php?echo='.rand());
  curl_setopt($ch, CURLOPT_FILE, $fp);
  curl_exec($ch);

  fclose($fp);
  unset($fp);
  print $i-mem: .(memory_get_usage() - $startmem). bytes\n;
}

?

Expected result:

The memory usage should not increase after each request.






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



#44645 [Com]: php5ts.dll Crash (x86_64 base machines)

2008-06-03 Thread neil dot smith at coull dot com
 ID:   44645
 Comment by:   neil dot smith at coull dot com
 Reported By:  gary dot wilson at coull dot biz
 Status:   Open
 Bug Type: Reproducible crash
 Operating System: Windows Server 2003
 PHP Version:  5.2.5
 New Comment:

The following should be a crash dump illustrating the problem.

It was generated as per instructions Generating backtrace without
compiler at http://bugs.php.net/bugs-generating-backtrace-win32.php


Configuration : Apache/2.2.3 (Win32) PHP/5.2.5, WinXP SP3


The isue occurred during load testing using JMeter on a script which
made moderate MySQL use and medium-heavy XML DOM node creation.

Adding memcache caching of DB response resulted in non-repro, which IMO
may indicate some involvement of number of DB connections or similar
(running script threads between them had around 876 instances of DB
connections in
TCP   192.168.2.38:3061192.168.2.15:3306   TIME_WAIT state)



==  Follows  =


 
 Analysis Summary  
  Type Description Recommendation 
  Error WARNING - DebugDiag was not able to locate debug symbols for
php5ts.dll, so the information below may be incomplete.



In
httpd__PID__3584__Date__06_03_2008__Time_04_57_08PM__928__Second_Chance_Exception_C005.dmp
the assembly instruction at php5ts!zend_mm_shutdown+f49 in
C:\Applications\php5\php5ts.dll from The PHP Group has caused an access
violation exception (0xC005) when trying to read from memory
location 0x000c on thread 246
 Please follow up with the vendor The PHP Group for
C:\Applications\php5\php5ts.dll
 
  Information DebugDiag determined that this dump file
(httpd__PID__3584__Date__06_03_2008__Time_04_57_08PM__928__Second_Chance_Exception_C005.dmp)
is a crash dump and did not perform any hang analysis. If you wish to
enable combined crash and hang analysis for crash dumps, edit the
CrashHangAnalysis.asp script (located in the DebugDiag\Scripts folder)
and set the g_DoCombinedAnalysis constant to True.   
 
 


 
 Analysis Details  
  


 Your browser settings are currently prohibiting this report's scripts
from running.

This is preventing some features of this analysis report from
displaying properly. To enable scripts to run, right-click the security
warning above and choose Allow Blocked Content... or enable the Allow
active content to run in files on My Computer* setting on the Advanced
tab of your Internet Options dialog to avoid being prompted in the
future 





Table Of Contents
httpd__PID__3584__Date__06_03_2008__Time_04_57_08PM__928__Second_Chance_Exception_C005.dmp

   Faulting Thread

   Faulting Module Information



 Report for
httpd__PID__3584__Date__06_03_2008__Time_04_57_08PM__928__Second_Chance_Exception_C005.dmp




Report for
httpd__PID__3584__Date__06_03_2008__Time_04_57_08PM__928__Second_Chance_Exception_C005.dmp
Type of Analysis Performed   Crash Analysis 
Machine Name   DEVBOX_NS 
Operating System   Windows XP Service Pack 2 
Number Of Processors   2 
Process ID   3584 
Process Image   C:\Applications\Apache2.2\bin\httpd.exe 
System Up-Time   06:41:14 
Process Up-Time   00:00:05 


Thread 246 - System ID 3348
Entry point   msvcrt!_endthreadex+3a 
Create time   03/06/2008 16:57:04 
Time spent in user mode   0 Days 0:0:0.187 
Time spent in kernel mode   0 Days 0:0:0.78 






Function Arg 1 Arg 2 Arg 3   Source 
php5ts!zend_mm_shutdown+f49 058ab930 0003 100b5f17
php5ts!efree+39 008ca860 069f8c4c 10095f13
php5ts!zval_dtor_func+27 008ca848 069f8c65 100993d3
php5ts!zval_ptr_dtor+23 069f8c4c 069f8a38 069f8bc0
php5ts!zend_hash_add_or_update+1b3 069f8be8 102c6940
0005
php5ts!zend_reflection_class_factory+215d 06977098 05f72178

php5ts!zend_reflection_class_factory+204d  069f89d8

php5ts!execute_internal+37 0530f674 0001 058aa688
php_xdebug_2_0_3_5_2_5!get_module+367c 0530f674 0001

php5ts!execute+a37 0530f674 058aa688 1001c3e5
php5ts!execute+245 069d96d0 058aa688 0530f748
php_xdebug_2_0_3_5_2_5!get_module+27ff 069d96d0 058aa688
05f89340
php5ts!execute+b48 0530f748 058aa688 1001c3e5
php5ts!execute+245 05f89340 058aa688 0530f81c
php_xdebug_2_0_3_5_2_5!get_module+27ff 05f89340 058aa688
05f8aea0
php5ts!execute+b48 0530f81c 058aa688 1001c3e5
php5ts!execute+245 05f8aea0 058aa688 0530f8f0
php_xdebug_2_0_3_5_2_5!get_module+27ff 05f8aea0 058aa688
05edebb0
php5ts!execute+b48 0530f8f0 058aa688 1001c3e5
php5ts!execute+245 05edebb0 058aa688 05f65d10
php_xdebug_2_0_3_5_2_5!get_module+27ff 05edebb0 058aa688
05a10d50
php5ts!execute+e3a8 104b4ce0 1001e005 05f61d78
php5ts!execute+1e33 

#41577 [Com]: DOTNET is successful once per server run

2008-06-03 Thread sam at bitopia dot co dot uk
 ID:   41577
 Comment by:   sam at bitopia dot co dot uk
 Reported By:  boen dot robot at gmail dot com
 Status:   Assigned
 Bug Type: COM related
 Operating System: Windows XP Professional SP2
 PHP Version:  5CVS-2007-06-03 (snap)
 Assigned To:  wez
 New Comment:

I had this problem, and finally managed to solve it by running php as
cgi instead of an apache module, google for how to do it, but basically
it's disabling the apache module, then adding three lines in the apache
conf


Previous Comments:


[2008-01-28 19:58:33] jthorpe at statestreet dot com

I am also experiencing this problem.

Here's the crash message...

Unhandled exception at 0x00ad736d in httpd.exe: 0xC005: Access
violation reading location 0x.

and the end of the call stack...

   php5ts.dll!00ad736d()   
ntdll.dll!7c91056d()
user32.dll!7e419951()   
ntdll.dll!7c910833()
ntdll.dll!7c910833()



[2007-12-20 16:52:03] heathfrankel at internode dot on dot net

Is this related http://support.microsoft.com/kb/837318?



[2007-12-20 15:58:45] heathfrankel at internode dot on dot net

I have also exerienced this issue and it is likely to be a show stopper
for a very important project for our company.  I have tried this on Win
XP and Win 2003, I have used PHP5.2 from PHP.NET and from WAMPSERVER, I
have used IIS and Apache.  It oocurs for my own .NET objects and for the
standard PHP documentation example.  It is all the same.  Finally after
much searching I have found this Bug Report, now I don't feel so alone
but still in the learch.  A quick fix would be appreciated.



[2007-08-15 08:32:34] [EMAIL PROTECTED]

Assigned to the maintainer.



[2007-06-03 15:31:09] boen dot robot at gmail dot com

Description:

When I run any PHP file using the DOTNET class, The class is first run
as it should (the sample from the documentation does ineed produce
Hello .Net), but after a page refresh, or if a navigate away from the
page and go back, the server crashes.

I have PHP installed locally as an Apache 2.2.4 module.

I tryed turning off my antivirus (NOD32 in case it's relevant), but
that didn't helped either.

I have all .NET 1.1, .NET 2.0 and .NET 3.0 with all updates from
Microsoft Update.

Reproduce code:
---
?php
$stack = new DOTNET(mscorlib, System.Collections.Stack) or die('not
created');
die('created');
?

Expected result:

The file should output created every time it's executed, unless
perhaps I had an error in the constructor, in which case it should
output not created.

Actual result:
--
created is only outputted the first time. After that... A server
crash with this in the error details:

szAppName : httpd.exe szAppVer : 2.2.4.0 szModName : php5ts.dll

szModVer : 5.2.4.4 offset : 000e622d





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



#45148 [Com]: Configure should stop when endian is unknown

2008-06-03 Thread mike at w4g dot org
 ID:   45148
 Comment by:   mike at w4g dot org
 Reported By:  ncoesel at dealogic dot nl
 Status:   Open
 Bug Type: *Compile Issues
 Operating System: Linux
 PHP Version:  5.2.6
 New Comment:

I just experienced a different result of the same problem on another
big-endian cross compiled platform.  A floatval() conversion resulted in
the CPU being pegged until the script hit the 30s timeout.  Doing some
ptrace(GETREGS) sampling of the program counter showed the processor in
pow5mult() and s2b().  Floating point constants were interpreted as -0
and floating point calculations would also wedge the CPU.

As a kludge setting 'ac_cv_c_bigendian_php=yes' in the environment
before running configure got it working.

Debugging PHP on a stripped down embedded platform is not fun. 
Configuring bombing out would have saved a few hours.


Previous Comments:


[2008-06-02 11:52:14] ncoesel at dealogic dot nl

Description:

I had the error Balloc() allocation exceeds list boundary on a MIPS
big endian platform. It turns out configure cannot test for endiannes
and sets ac_cv_c_bigendian_php to unknown which presumably defaults to
little endian. IMHO configure should stop and produce a clear error to
enforce a proper build environment.


Reproduce code:
---
?php
phpinfo();
?


Expected result:

Php info output

Actual result:
--
Balloc() allocation exceeds list boundary when trying to print the
date.






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



#43854 [Com]: Wrong length calculation in serialize S type

2008-06-03 Thread sweetiepiekiara at yahoo dot com
 ID:   43854
 Comment by:   sweetiepiekiara at yahoo dot com
 Reported By:  tomasz dot rutkowski at domeny dot pl
 Status:   No Feedback
 Bug Type: Arrays related
 Operating System: Linux
 PHP Version:  5.2.5
 New Comment:

wats up


Previous Comments:


[2008-01-15 17:17:57] [EMAIL PROTECTED]

Clarifying... The last code. (Prepared array)



[2008-01-15 16:12:04] [EMAIL PROTECTED]

The example works fine in PHP5.2.5, 5.2.6, 5.3.



[2008-01-15 15:32:04] tomasz dot rutkowski at domeny dot pl

Sorry

Bad: Perhaps it is liberty problem.
Good: Probably it is a library problem.



[2008-01-15 15:24:56] tomasz dot rutkowski at domeny dot pl

Sorry but I can't reconstruct this bug.
Admin change PHP verions on my demand.
This is productive server and they can't back to error version.

On similar server this bug is not reported :(
Perhaps it is liberty problem.


Example code:

?php
/* Error string from DB */
$bad_serialize = 'a:3:{i:0;a:4:{i:0;a:7:{i:0;i:69;i:1;s:30:Lakier do
wzork#243;w czarny
10ml;i:2;d:19.980426325641456060111522674560546875;i:3;i:1;i:4;d:19.980426325641456060111522674560546875;i:5;s:0:;i:6;s:2:82;}i:1;a:7:{i:0;i:70;i:1;s:43:Lakier
do wzork#243;w czarny per#322;owy
10ml;i:2;d:19.980426325641456060111522674560546875;i:3;i:1;i:4;d:19.980426325641456060111522674560546875;i:5;s:0:;i:6;s:2:99;}i:2;a:7:{i:0;i:65;i:1;s:34:Lakier
do wzork#243;w bia#322;y
10ml;i:2;d:19.980426325641456060111522674560546875;i:3;i:1;i:4;d:19.980426325641456060111522674560546875;i:5;s:0:;i:6;s:2:85;}i:3;a:7:{i:0;i:75;i:1;s:28:Lakier
utrwalaj#261;cy
10ml;i:2;d:19.980426325641456060111522674560546875;i:3;i:1;i:4;d:19.980426325641456060111522674560546875;i:5;s:0:;i:6;s:2:92;}}i:1;a:3:{i:0;s:2:75;i:1;s:28:Lakier
utrwalaj#261;cy
10ml;i:2;d:12.9902131628207280300557613372802734375;}i:2;i:13;}';
var_dump( unserialize( $bad_serialize ) );
echo 'br /';

/* Good - fixed by me */
$fix_serialize = 'a:3:{i:0;a:4:{i:0;a:7:{i:0;i:69;i:1;s:34:Lakier do
wzork#243;w czarny
10ml;i:2;d:19.980426325641456060111522674560546875;i:3;i:1;i:4;d:19.980426325641456060111522674560546875;i:5;s:0:;i:6;s:2:82;}i:1;a:7:{i:0;i:70;i:1;s:47:Lakier
do wzork#243;w czarny per#322;owy
10ml;i:2;d:19.980426325641456060111522674560546875;i:3;i:1;i:4;d:19.980426325641456060111522674560546875;i:5;s:0:;i:6;s:2:99;}i:2;a:7:{i:0;i:65;i:1;s:38:Lakier
do wzork#243;w bia#322;y
10ml;i:2;d:19.980426325641456060111522674560546875;i:3;i:1;i:4;d:19.980426325641456060111522674560546875;i:5;s:0:;i:6;s:2:85;}i:3;a:7:{i:0;i:75;i:1;s:28:Lakier
utrwalaj#261;cy
10ml;i:2;d:19.980426325641456060111522674560546875;i:3;i:1;i:4;d:19.980426325641456060111522674560546875;i:5;s:0:;i:6;s:2:92;}}i:1;a:3:{i:0;s:2:75;i:1;s:28:Lakier
utrwalaj#261;cy
10ml;i:2;d:12.9902131628207280300557613372802734375;}i:2;i:13;}';
var_dump( unserialize( $fix_serialize ) );
echo 'br /';

/* Prepared array */
$prepare_array = array( 
  array( 
array( 69, (string) Lakier do wzork#243;w czarny 10ml, (float)
19.98, 1, (float) 19.98, (string) , (string) 82 ),
array( 70, (string) Lakier do wzork#243;w czarny per#322;owy
10ml, (float) 19.98, 1, (float) 19.98, (string) , (string) 99 ),
array( 65, Lakier do wzork#243;w bia#322;y 10ml, (float) 19.98,
1, (float) 19.98, (string) ,(string) 85 ),
array( 75, (string) Lakier utrwalaj#261;cy 10ml, (float) 19.98,
1, (float) 19.98, (string) , (string) 92 )
  ),
  array( (string) 75, (string) Lakier utrwalaj#261;cy 10ml,
(float) 12.99 ),
  2= 13
);

$tmp = serialize( $prepare_array );
var_dump( unserialize( $tmp ) );
?



[2008-01-15 12:12:39] [EMAIL PROTECTED]

Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with ?php and ends with ?,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc. If the script requires a 
database to demonstrate the issue, please make sure it creates 
all necessary tables, stored procedures etc.

Please avoid embedding huge scripts into the report.



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

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



#45089 [Asn-Csd]: __callStatic $name case sensitivity

2008-06-03 Thread felipe
 ID:  45089
 Updated by:  [EMAIL PROTECTED]
 Reported By: danielc at analysisandsolutions dot com
-Status:  Assigned
+Status:  Closed
 Bug Type:Class/Object related
 PHP Version: 5.3CVS-2008-05-26 (snap)
 Assigned To: pollita
 New Comment:

This bug has been fixed in CVS.

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.

Fixed in 5_3 and HEAD.


Previous Comments:


[2008-05-26 19:23:12] [EMAIL PROTECTED]

Here's a patch:
http://felipe.ath.cx/diff/callstatic.diff

Solve the callback issue too.

I also added two tests in:
http://felipe.ath.cx/diff/tests/




[2008-05-26 00:41:36] danielc at analysisandsolutions dot com

Description:

The value of $name produced by __callStatic() is lower cased but the
$name produced by the regular __call() is unchanged.

Please adjust __callStatic() so it doesn't change the case of $name.

Reproduce code:
---
class MethodTest {
public static function __callStatic($name, $arguments) {
echo Calling static method '$name' 
 . implode(', ', $arguments). \n;
}
}

MethodTest::runTest('in static context');

Expected result:

Calling static method 'runTest' in static context


Actual result:
--
Calling static method 'runtest' in static context






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



#45161 [Opn]: Reusing a curl handle leaks memory

2008-06-03 Thread humbads at alum dot mit dot edu
 ID:   45161
 User updated by:  humbads at alum dot mit dot edu
 Reported By:  humbads at alum dot mit dot edu
 Status:   Open
 Bug Type: cURL related
 Operating System: FreeBSD 6.2, Windows XP SP3
 PHP Version:  5.2.6
 New Comment:

I did some more investigation, and found that this is not really a leak
as much as it is runaway memory usage.  PHP does indeed free the memory
eventually.

The problem is in interface.c curl_setopt under CURLOPT_URL.   The
function is making a copy of the string parameter, in this case, the
URL, and saving that to the to_free list.  That list is not freed
until sometime later, so repeatedly setting CURLOPT_URL on the same
handle will keep using more memory.  In the sample code I posted, the
memory only increases during the curl_setopt CURLOPT_URL function call.

This is just an inefficient design of the PHP curl handle.  One way
around it is for the code to maintain only one copied string for each
CURLOPT string option.  If the same CURLOPT string option is set again,
it should free the previously created string, and create a new one.

At the PHP level, the only workaround for now is to periodically close
the handle and then create a new one with curl_init.  This seems to cap
the memory usage.


Previous Comments:


[2008-06-03 16:07:04] humbads at alum dot mit dot edu

Below is the r.php script.  When testing this bug report, please use
this script (or some other URL) so my poor server does not get
hammered.

?php
// This script runs a variable amount of time
// and generates a variable amount of data

// Output a random number of blank space
$s = microtime(true);
$m = rand(100,200);
$bytes = 0;
for($i = 0; $i  $m; $i++) {
$message =  \n;
print $message;
$bytes += strlen($message);
usleep(10);
}

// Print time taken and the value of the echo parameter
print isset($_REQUEST['echo']) ? 'echo: '.$_REQUEST['echo'].' ' : ;
print $bytes.' bytes ';
print  in ;
print round(microtime(true) - $s, 4). seconds;
exit();
?



[2008-06-03 15:04:41] humbads at alum dot mit dot edu

Description:

Reusing a curl handle for multiple requests leaks memory.  It leaks
about 100 bytes per request.  This is a problem when making a large
number of requests using the same handle.  Libcurl documentation says to
always reuse the handle when possible in order to reuse connections. 
The bug occurs on Windows XP/IIS and Apache/FreeBSD 6.2.

Reproduce code:
---
?php
// Reuse curl handle memory leak test
$ch = curl_init();
$startmem = memory_get_usage();
for($i = 0; $i  100; $i++) {
  $fp = fopen('/dev/null', w);
  curl_setopt($ch, CURLOPT_URL,
'http://debug.atensoftware.com/r.php?echo='.rand());
  curl_setopt($ch, CURLOPT_FILE, $fp);
  curl_exec($ch);

  fclose($fp);
  unset($fp);
  print $i-mem: .(memory_get_usage() - $startmem). bytes\n;
}

?

Expected result:

The memory usage should not increase after each request.






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



#45141 [Com]: setcookie will output expires years of 4 digits

2008-06-03 Thread crrodriguez at suse dot de
 ID:   45141
 Comment by:   crrodriguez at suse dot de
 Reported By:  php at evilcode dot net
 Status:   Assigned
 Bug Type: Date/time related
 Operating System: FreeBSD/Linux
 PHP Version:  5.2.6
 Assigned To:  derick
 New Comment:

IMHO, it should emit a warning and return FALSE, magically limiting the
value is clearly the wrong thing.


Previous Comments:


[2008-06-02 12:53:57] [EMAIL PROTECTED]

The formatting is actually a bug... I've started optimizing the
algorithm but haven't finished yet.



[2008-05-31 03:21:01] php at evilcode dot net

Description:

setcookie() will happily produce expires times with years greater than
4 digits in length. This violates various RFC's and can also lead to
unexpectedly hung scripts (especially on 64-bit).

Reproduce code:
---
This works fine on 32-bit, but will keep the script looping effectively
forever formatting the date as GMT on 64-bit.

setcookie('test', 'testing', PHP_INT_MAX);

Sample patch: http://evilcode.net/sjg/php5.2.6-setcookie-head.c.patch

This may not be the right place for this, as there are probably other
violators as well. A more general/generic fix may be in order.

Expected result:

Date output should be trimmed to the end of year , possibly a
warning presented.






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



#44905 [Com]: PHP 5.2.6 fails to load PostgreSQL related libraries

2008-06-03 Thread eric at myprojects dot srhost dot info
 ID:   44905
 Comment by:   eric at myprojects dot srhost dot info
 Reported By:  ionut dot stan at yahoo dot com
 Status:   Assigned
 Bug Type: Dynamic loading
 Operating System: Windows XP professional 64bit
 PHP Version:  5.2.6
 Assigned To:  pajoye
 New Comment:

I have tested on 32bit windows that pgsql extension
could loaded but required download some files from pgsql server 8.3.1
binary.

This can be download from offical site or 
I have packed a small archive that could downloaded.

url:
pgserver offical site download
http://wwwmaster.postgresql.org/download/mirrors-ftp?file=%2Fbinary%2Fv8.3.1%2Fwin32%2Fpostgresql-8.3.1-1-binaries-no-installer.zip

small archive.
http://myprojects.srhost.info/download/php_pgsql_files.zip


Previous Comments:


[2008-05-31 08:21:43] [EMAIL PROTECTED]

How difficult can it be to test the most basic things, like starting
php, before making a release? Good grief. If you can't do the simple
things why do you think people should trust you with the complex
things?

How difficult it is to test the RC? How difficult it is to report
issues before the stable release instead of waiting the final day?

That being said, we do run php and the tests suite before any release.
But as some dlls are in the path, I did not detect that the new version
(we upgraded libpq in 5.2.6, different version than with 5.2.5) was not
static by default. Given the time we had to pack this release, I'm
actually very happy that only this error remains (and have an easy work
around).



[2008-05-31 07:50:52] no at where dot zz

How difficult can it be to test the most basic things, like starting
php, before making a release? Good grief. If you can't do the simple
things why do you think people should trust you with the complex things?



[2008-05-30 12:14:58] [EMAIL PROTECTED]

The safer work around is to use the php 5.2.5 DLL extension.



[2008-05-30 10:24:16] piotrprz at gmail dot com

For those looking for a workaround:
1. download libpq.dll from
http://support.nusphere.com/viewtopic.php?t=4847 and copy it to your php
directory
2. copy libeay32.dll to libeay32-0.9.8e.dll
3. copy ssleay32.dll to ssleay32-0.9.8e.dll

I tested it for a while and seems to work fine.



[2008-05-16 18:40:08] [EMAIL PROTECTED]

8.3.1 do not support VC6 anymore, while 8.2.7 does support it fine.

I got the same error with vc6 than the ones I got using 8.3.1. Linker
error and struct redefinitionfo addrinfo and sockaddr_storage.

If you succeeded to compile it using VC6 (or VC2k5:) please let us know
how.



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

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



#23325 [Com]: PHP can't connect if db name has dashes

2008-06-03 Thread donnyk at gmail dot com
 ID:   23325
 Comment by:   donnyk at gmail dot com
 Reported By:  fritz at lateral dot net
 Status:   No Feedback
 Bug Type: MSSQL related
 Operating System: Win 2000
 PHP Version:  4.3.1
 New Comment:

This bug still exists in 5.2.6, code to reproduce remains the same.

mssql_select_db('mysilly-database'); will result in an error claiming
that mysilly does not exist within sysdatabases (a mssql system table).


Previous Comments:


[2007-11-30 17:40:53] byoung at bigbluehat dot com

2007 - PHP 5.2.3 still have this issue.

Connection to MSSQL databases with dash continues to fail (using
FreeTDS 0.63). Databases without dashes in the name connect without
error.



[2006-10-10 18:00:36] chris at sugarcrm dot com

2006 - PHP 4.4.2/4 and PHP 5.1.2/4 still have this issue.

The same code use-case is valid: try to connect to a MSSql database
with dashes in the name, and the connection will fail.



[2003-05-09 07:35:01] [EMAIL PROTECTED]

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





[2003-04-30 06:13:24] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php4-STABLE-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php4-win32-STABLE-latest.zip





[2003-04-28 07:29:08] fritz at lateral dot net

Try creating a database called php-bugs-list and one 
called php_bugs_list.

mssql_connect('localhost','username','pwd') or die 
'mssql_connect error';
mssql_select_db('php-bugs-list') or die 
'mssql_select_db error';

mssql_connect('localhost','username','pwd') or die 
'mssql_connect error';
mssql_select_db('php_bugs_list') or die 
'mssql_select_db error';

I am not 'demanding' a fix - I have learnt that I will 
avoid errors by having no dashes in the database name. 
My problem is solved.
I tried to share this with other php users, If you want 
to use this information to improve php you are welcome 
to it - but please don't waste my time by being anal 
about how the bug is reported.

And that's the end of it, AFAIAC.



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

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



#44941 [NoF-Opn]: Post data size limited to 60k even when post_max_size = 20M

2008-06-03 Thread enadyo at hotmail dot com
 ID:   44941
 User updated by:  enadyo at hotmail dot com
 Reported By:  enadyo at hotmail dot com
-Status:   No Feedback
+Status:   Open
 Bug Type: *General Issues
 Operating System: CENTOS
 PHP Version:  5.2CVS-2008-05-08 (CVS)
 Assigned To:  fb-req-jani
 New Comment:

I'm sorry to say that but ...you have some problem with your conection.
Just to be sure I've tried the links with www.megaproxy.com and they
work allright all over the world. It might have to do something with
your firewall. Please try again or use www.megaproxy.com 
phpinfo:
http://www.alfavita.gr/myphp.php 

testing page:
http://www.alfavita.gr/errata.php


Previous Comments:


[2008-06-03 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.



[2008-05-26 23:56:07] [EMAIL PROTECTED]

Neither of those links work.



[2008-05-26 22:33:36] enadyo at hotmail dot com

phpinfo:
http://www.alfavita.gr/myphp.php 

testing page:
http://www.alfavita.gr/errata.php

In the new compile I've lowered limits to 8M in case it would do any
good (it didn't).



[2008-05-26 20:27:22] [EMAIL PROTECTED]

Please don't add full phpinfo() output here but rather a link to a
place where the info can be seen.



[2008-05-25 21:39:07] enadyo at hotmail dot com

I apologize for the delay, I was abroad.

I've recompiled Apache. It's 2.2.8 now but it has the same problem.
I've also tried to downgrade PHP (to 5.2.3) but nothing...

Everything happens under CPANEL and WHM cpeasyApache so I don't
understand What Apache MPM are you using? What PHP SAPI? questions.

Php.ini is altered only to increase maximum size of uploaded file etc.
but not by hand. There are some checkboxes and textboxes in cpanel's
WHM.

.htacces is not altered.

I'm just recompiling (I try to find the common elements which may point
out the problem). When finished I'll copy/paste the phpinfo()



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

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



#45152 [Opn]: Boolean variables returned by pg_fetch_array

2008-06-03 Thread ernesto_sanz at hotmail dot com
 ID:   45152
 User updated by:  ernesto_sanz at hotmail dot com
 Reported By:  ernesto_sanz at hotmail dot com
 Status:   Open
 Bug Type: PostgreSQL related
 Operating System: Ubuntu 7.04
 PHP Version:  5.2.6
 New Comment:

Description:

I'm using Ubuntu Feisty Fawn 7.04 with Apache with PHP 5.2.4 and
Postgres v.8.2.4.

I have noticed that, when querys are run, logical variables are not
correctly assigned.
E.g. being 'lists' the table defined by the SQL sentence:

CREATE TABLE lists
(
  active boolean NOT NULL DEFAULT true,
  reference serial NOT NULL,
  caducated boolean NOT NULL DEFAULT false,
  name character varying(100) NOT NULL,
  ...
)

and the PHP code 
// creation of the SQL sentence
   $consulta=SELECT * FROM lists WHERE ((referencie=.$mykey.) AND   


  (active=true));
// Execution 
$result = pg_query($consulta) 
  or die('Error in SQL query:'.pg_last_error());

if (pg_num_rows($resultado)0) {{ 
$line = pg_fetch_array($result, null, PGSQL_ASSOC);
if ($line[caducated]==true) 
{  ... -code executed if condition=true-  }
else
{  ... -code executed if condition=false-  }
   ...

I realized that the 'else' code was executed ALWAYS. It did not matter
if the condition was $line[caducated]==True, or TRUE, or 1, or False
or FALSE or 0.

I noticed that logical variables are assigned to 't' or 'f' instead of
'true' or 'false' (or numbers) and their type is not correct (the
result of gettype($line[caducated]) is string- , so, the only way to
execute correctly the 'if' sentence is by typing if
($line[caducated]=='t') (or $line[caducated]=='f')
which violates the reference syntax of PHP, that states that to specify
a boolean literal we have to use keywords TRUE or FALSE (both
case-insensitive).


Also, sometimes, asignation of variables inside the if or else blocks
is made in a wrong way.


Previous Comments:


[2008-06-02 21:19:31] ernesto_sanz at hotmail dot com

Description:

I'm using Ubuntu Feisty Fawn 7.04 with Apache with PHP 5.2.4 and
Postgres v.8.2.4.

I have noticed that, when querys are run, logical variables are not
correctly assigned.
E.g. being 'lists' the table defined by the SQL sentence:

CREATE TABLE lists
(
  active boolean NOT NULL DEFAULT true,
  reference serial NOT NULL,
  caducated boolean NOT NULL DEFAULT false,
  name character varying(100) NOT NULL,
  ...
)

and the PHP code 
// creation of the SQL sentence
   $consulta=SELECT * FROM lists WHERE ((referencie=.$mykey.) AND   
 
  (active=true));
// Execution 
$result = pg_query($consulta) 
  or die('Error in SQL query:'.pg_last_error());

if (pg_num_rows($resultado)0) {{ 
$line = pg_fetch_array($result, null, PGSQL_ASSOC);
if ($line[caducated]==true) 
{  ... -code executed if condition=true-  }
else
{  ... -code executed if condition=false-  }
   ...

I realized that the 'else' code was executed ALWAYS. It did not matter
if the condition
was $line[caducated]==True, or TRUE, or 1, or False or FALSE or 0.

I noticed that logical variables are assigned to 't' or 'f' instead of
'true' or 'false' (or numbers)
(although their type -boolean- is correct- and, that the only way to
execute correctly the 'if' sentence
is by typing if ($line[caducated]==t) (or $line[caducated]==f)
which violates the reference syntax
of PHP, that states that to specify a boolean literal we have to use
keywords TRUE or FALSE (both case-insensitive).








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



#45147 [Opn-Ver]: unexpected T_ENDFOR

2008-06-03 Thread felipe
 ID:   45147
 Updated by:   [EMAIL PROTECTED]
 Reported By:  php at deegital dot de
-Status:   Open
+Status:   Verified
 Bug Type: Scripting Engine problem
 Operating System: Vista 32Bit
 PHP Version:  5.3CVS-2008-06-02 (snap)


Previous Comments:


[2008-06-02 09:16:27] php at deegital dot de

Description:

Tokenizer seems to have problems with some php/html mix constructions
(found this in a compiled smarty template)

Works, if if, else and endif is splitted into multiple lines

Reproduce code:
---
?php for ($i = 0; $i == 0; $i++): ?
?php if (true): ?#?php else: ?#?php endif; ?
?php endfor; ?


Expected result:

#

Actual result:
--
Parse error: syntax error, unexpected T_ENDFOR in [foo] on line 3





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



#45159 [WFx]: __callStatic() called only in static methods

2008-06-03 Thread colder
 ID:   45159
 Updated by:   [EMAIL PROTECTED]
 Reported By:  reto at buxaprojects dot com
 Status:   Wont fix
 Bug Type: Class/Object related
 Operating System: Fedora
 PHP Version:  6CVS-2008-06-03 (snap)
 New Comment:

You're misunderstanding the meaning of static::foo();

it doesn't mean call foo statically but rather use runtime
information to get the class currently called, and do a static(or not)
call to the method of that class.

It's similar to
$name = get_called_class(); $name::foo();

For more information:
php.net/language.oop5.late-static-bindings


Previous Comments:


[2008-06-03 13:42:09] reto at buxaprojects dot com

I see your problem that it would probably break things. But when i'm
calling a static method with static::coolMethod() i would expect that
this is __always__ a static call, why using the object context when it
can't be used in the static methods either?

In your example i would expect an Error that the foo() method of class
A can't be called statically.



[2008-06-03 13:15:27] [EMAIL PROTECTED]

Actually, in this particular case, it's completely expected.

Class A {
  public function foo() {

  }
}

class B extends A {
  public function bar() {
parent::foo(); // normal call
static::foo(); // normal call as well
A::foo(); // same here...
  }
}

$b = new B; $b-bar();

Now, for BC purposes, it would probably break things if those call
suddenly stop calling __call in case A::foo() wasn't defined, which how
it currently works in PHP 5.



[2008-06-03 13:10:08] [EMAIL PROTECTED]

This is somewhat expected, a call to foo::bar() from a non-static
context will be a non-static call, unless the function is explicitly
defined as static. 

However, some of this(especially the part about calling a static
method from/to an invalid context) is scheduled for cleanup.



[2008-06-03 11:59:19] reto at buxaprojects dot com

Description:

__call() instead of __callStatic() is called, when we call a static
method from a non-static method.

Reproduce code:
---
abstract class One
{
public function __call($m, $p)
{
echo '__call(' . $m . ') called' . \n;
}
public static function __callStatic($m, $p)
{
echo '__callStatic(' . $m . ') called' . \n;
}
}
class Two extends One
{
public function __construct()
{
$this-normalMethod();
self::staticMethod();
}

private function normalMethod()
{
echo 'normalMethod() called' . \n;
parent::a();
self::b();
static::c();
One::d();
Two::e();
}

private static function staticMethod()
{
echo 'staticMethod() called' . \n;
parent::a();
self::b();
static::c();
One::d();
Two::e();
}
}
$two = new Two();

Expected result:

normalMethod() called
__call(a) called
__callStatic(b) called
__callStatic(c) called
__callStatic(d) called
__callStatic(e) called
staticMethod() called
__callStatic(a) called
__callStatic(b) called
__callStatic(c) called
__callStatic(d) called
__callStatic(e) called


Actual result:
--
normalMethod() called
__call(a) called
__call(b) called
__call(c) called
__call(d) called
__call(e) called
staticMethod() called
__callStatic(a) called
__callStatic(b) called
__callStatic(c) called
__callStatic(d) called
__callStatic(e) called






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



#45163 [NEW]: SWITCH statement incorrect

2008-06-03 Thread waps at pisem dot net
From: waps at pisem dot net
Operating system: Win Vista x32 Business
PHP version:  5.2.6
PHP Bug Type: Scripting Engine problem
Bug description:  SWITCH statement incorrect

Description:

SWITCH statement incorrect work from data types. In exemple I write code.

Reproduce code:
---
$strCode = 0;
switch( $strFileType )  
{
case 'jpg':
case 'jpeg':
echo 'point 0';
break;
case 'gif':
echo 'point 1';
break;
default:
echo 'point 3';
}

Expected result:

echo string point 0

Actual result:
--
I have to view point 3, but no point 0

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