#40951 [Opn->Bgs]: combination of header() and imagegif/png/jpeg() makes script run more than once

2007-04-03 Thread tony2001
 ID:   40951
 Updated by:   [EMAIL PROTECTED]
 Reported By:  zirephoenix at rogers dot com
-Status:   Open
+Status:   Bogus
 Bug Type: Scripting Engine problem
 Operating System: Linux
 PHP Version:  4.4.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.




Previous Comments:


[2007-03-29 17:57:30] zirephoenix at rogers dot com

This bug was only for FireFox 1.5.x.  Seems to be gone in 2.



[2007-03-29 17:25:49] zirephoenix at rogers dot com

Description:

Without the header() and imagegif() functions, the code is basically a
hit counter script.  However, with the combination of those two lines of
code, the hit counter will increment by 2.  Something is causing the
script to run twice.

Reproduce code:
---


Expected result:

test.txt should increment by 1 every time the script is accessed

Actual result:
--
test.txt increments by 2 every time the script is accessed





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


#40981 [Opn->Bgs]: Pass by reference and object assignment problem

2007-04-03 Thread sir dot mordred dot service at gmail dot com
 ID:   40981
 User updated by:  sir dot mordred dot service at gmail dot com
 Reported By:  sir dot mordred dot service at gmail dot com
-Status:   Open
+Status:   Bogus
 Bug Type: Scripting Engine problem
 Operating System: Windows XP, apache 2.0
 PHP Version:  4.4.6
 New Comment:

Got it, sorry, my bad. Changing status to "Bogus".


Previous Comments:


[2007-04-02 20:19:43] [EMAIL PROTECTED]

Recommended reading:
http://www.php.net/manual/en/language.references.php
http://www.php.net/manual/en/language.references.arent.php



[2007-04-02 20:07:30] sir dot mordred dot service at gmail dot com

Description:

If a parameter passed by reference to a function is assigned a new
object with the =& operator, after the function call the variable passed
to the function will not contain the object, but its previous value (or
null). Assignment with = works fine.

Reproduce code:
---



Expected result:

4.4.6
object(a)(0) {
}
object(a)(0) {
}

Actual result:
--
4.4.6
int(1)
object(a)(0) {
}





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


#40984 [NEW]: Feed back not working

2007-04-03 Thread sivanarayanan_s at eth dot net
From: sivanarayanan_s at eth dot net
Operating system: Windows XP
PHP version:  5.2.1
PHP Bug Type: *Mail Related
Bug description:  Feed back not working

Description:

I've designed test feedback.php form. But it's not working. I've changed
code in php.ini (windows dir).SMTP=smtp.eth.net (my ISP), but phpinfo()
showing SMTP=localhost. Can you please help me out in this situation.

I'm learing PHP now. Kindly help me.




Reproduce code:
---


feedback


 Thanks for your feedback!");
else:
?>

 Please send us your feedback









(above code, I've taken it from my PHP book)

Expected result:

mail not received

Actual result:
--
mail should reach, [EMAIL PROTECTED]

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


#40984 [Opn->Bgs]: Feed back not working

2007-04-03 Thread derick
 ID:   40984
 Updated by:   [EMAIL PROTECTED]
 Reported By:  sivanarayanan_s at eth dot net
-Status:   Open
+Status:   Bogus
 Bug Type: *Mail Related
 Operating System: Windows XP
 PHP Version:  5.2.1
 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.

.


Previous Comments:


[2007-04-03 08:41:01] sivanarayanan_s at eth dot net

Description:

I've designed test feedback.php form. But it's not working. I've
changed code in php.ini (windows dir).SMTP=smtp.eth.net (my ISP), but
phpinfo() showing SMTP=localhost. Can you please help me out in this
situation.

I'm learing PHP now. Kindly help me.




Reproduce code:
---


feedback


 Thanks for your feedback!");
else:
?>

 Please send us your feedback









(above code, I've taken it from my PHP book)

Expected result:

mail not received

Actual result:
--
mail should reach, [EMAIL PROTECTED]





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


#40985 [NEW]: CLI version crashes while trying to shutdown, using tsrm_shutdown()

2007-04-03 Thread charlie at lemurconsulting dot com
From: charlie at lemurconsulting dot com
Operating system: Windows XP
PHP version:  5.2.1
PHP Bug Type: Reproducible crash
Bug description:  CLI version crashes while trying to shutdown, using 
tsrm_shutdown()

Description:

While trying to make the Xapian (www.xapian.org) PHP bindings work on
Windows using Visual C++, we found that the CLI version of PHP would crash
when unloading the bindings. The bindings are written using SWIG. PHP
appears to be trying to unload resources when the crash occurs. The crash
does not occur on earlier versions of PHP i.e. 4.4.6

Reproduce code:
---
The following patch fixes the problem and has been used as a workaround:
  Patch php_cli.c as follows by commenting out line 1283:
#ifdef ZTS
/*tsrm_shutdown(); */
#endif

Expected result:

No crash :)

Actual result:
--
n/a

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


#40961 [Bgs]: problem with preg_replace and preg_match functions

2007-04-03 Thread jfgingras at cegep-ste-foy dot qc dot ca
 ID:   40961
 User updated by:  jfgingras at cegep-ste-foy dot qc dot ca
 Reported By:  jfgingras at cegep-ste-foy dot qc dot ca
 Status:   Bogus
 Bug Type: *Regular Expressions
 Operating System: FreeBSD 6.1-RELEASE
 PHP Version:  5.2.1
 New Comment:

You're probably right. But still, if I use the following pattern
"/([^\x09\x0A\x0D\x20-\x7E\xA0-\xFF])/", preg_replace always return
NULL. But if I use "[^\x09\x0A\x0D\x20-\x7E\xA0-\xFF]" it "works", that
is, it will not return NULL.

If I use '/^[a-f\d]{32}$/i' on "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6",
preg_match always return false.

The exemples above occur on FreeBSD 6.1 with PHP 5.2.1.
I test thoses on Linux 2.6.9 with PHP 5.1.6 and it work.

Any idea ?


Previous Comments:


[2007-04-02 21:27:49] [EMAIL PROTECTED]

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

Your regex is wrong, you cannot include the "$" (end of string) inside
a 
capturing sub-pattern.



[2007-04-02 15:53:05] jfgingras at cegep-ste-foy dot qc dot ca

Forget to mention that no php error are logged in the log file. I even
set 666 mode on phperror.log just to be sure that php can write in it.
But still no error shown.

Strangly, like I said preg_replace works if I remove the '/(' and ')/'
from the pattern, but preg_match always return false. But, it print an
error:

[02-Apr-2007 11:51:29] PHP Warning:  preg_match() [function.preg-match]: No ending delimiter
'^' found in /usr/local/www/f.php on line 6

And here's the line 6:

if(preg_match('^[a-f0-9]{32}$', $body)) echo "YEAH #2!";



[2007-04-02 15:45:18] jfgingras at cegep-ste-foy dot qc dot ca

$body = "b2c3d4e5f6a7b8c9e0f1a2b3c4d5e6f7";
$body = preg_replace('/(^[a-f0-9]{32}$)/', '?', $body );
var_dump($body);

It is not even returning a empty string, it return NULL!

Here's what I have in my php.ini

error_reporting  =  E_ALL
log_errors = On
error_log = /var/log/phperror.log

Here's my php info

[EMAIL PROTECTED] ~]# php -v
PHP 5.2.1 with Suhosin-Patch 0.9.6.2 (cli) (built: Mar 30 2007
10:03:24)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies

Any help is more than welcome.

Thx!



[2007-03-30 22:33:13] tijnema at gmail dot com

$body = "b2c3d4e5f6a7b8c9e0f1a2b3c4d5e6f7";
$body = preg_replace('/(^[a-f0-9]{32}$)/', '?', $body );
var_dump($body);

Above code gives me string(1) "?" on PHP-5.1.6/5.2.1/6.0-dev on linux
using CLI or Apache.



[2007-03-30 21:06:46] smlerman at gmail dot com

$body = "b2c3d4e5f6a7b8c9e0f1a2b3c4d5e6f7";
$body = preg_replace('/(^[a-f0-9]{32}$)/', '?', $body );
var_dump($body);
string(1) "?"

That's what I get in 5.1.6 on Linux and 5.2.1 on Windows.



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

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


#39089 [Fbk->Opn]: Missing -liconv during GD configuring fails ./configure run

2007-04-03 Thread suhachov at gmail dot com
 ID:   39089
 User updated by:  suhachov at gmail dot com
 Reported By:  suhachov at gmail dot com
-Status:   Feedback
+Status:   Open
 Bug Type: GD related
 Operating System: Linux FC
 PHP Version:  5.1.6
 Assigned To:  pajoye
 New Comment:

Of course no! 
I specified it in ./configure option (--with-iconv). And it seems to me
that it is ./configure business, to set neccessary envs and paths.


Previous Comments:


[2007-04-02 21:43:09] [EMAIL PROTECTED]

Is this paths set in your LD_LIBRARY_PATH or in /etc/ld.so.conf file:
/usr/apache-2006-10-10/libiconv-1.9.2/lib/

??





[2006-10-10 12:53:19] suhachov at gmail dot com

No. It's still here:

/usr/apache-2006-10-10/gd-2.0.33/lib/libgd.so: undefined reference to
`libiconv_open'

php: php6.0-200610100830
gd:  gd-2.0.33

#/usr/apache-2006-10-10/gd-2.0.33/bin/gdlib-config --all
GD library  2.0.33
includedir: /usr/apache-2006-10-10/gd-2.0.33/include
cflags: -I/usr/apache-2006-10-10/gd-2.0.33/include
ldflags: -L/usr/local/lib  -L/usr/local/lib
-Wl,-rpath,/usr/local/lib  -L/usr/apache-2006-10-10/jpeg-6b/lib
-L/usr/X11R6/lib
libs:   -ljpeg -lfreetype -lpng12 -lz -lm 
/usr/apache-2006-10-10/libiconv-1.9.2/lib/libiconv.so -Wl,-rpath
-Wl,/usr/apache-2006-10-10/libiconv-1.9.2/lib
libdir: /usr/apache-2006-10-10/gd-2.0.33/lib
features:   GD_JPEG GD_FREETYPE GD_PNG GD_GIF



[2006-10-09 16:14:03] [EMAIL PROTECTED]

Can you try with php6 (HEAD), we use gdlib-config and should solve this
problem.



[2006-10-09 12:59:34] suhachov at gmail dot com

Thanx, I know. But sometimes even glibc becomes updated...

And I think it's very confusing behavior - to allow use "--with-iconv"
(for PHP itself) and don't allow to used GD compiled with the same
iconv...



[2006-10-09 09:46:25] [EMAIL PROTECTED]

Linux has libiconv bundled into glibc, no need for external libraries.



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

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


#40985 [Com]: CLI version crashes while trying to shutdown, using tsrm_shutdown()

2007-04-03 Thread daniel dot menard at bdsp dot tm dot fr
 ID:   40985
 Comment by:   daniel dot menard at bdsp dot tm dot fr
 Reported By:  charlie at lemurconsulting dot com
 Status:   Open
 Bug Type: Reproducible crash
 Operating System: Windows XP
 PHP Version:  5.2.1
 New Comment:

The same bug appear with the cgi version.

The only known workaround for now is to patch php_cgi.c in the same
way, removing any call to tsrm_shutdown()


Previous Comments:


[2007-04-03 14:00:47] charlie at lemurconsulting dot com

Description:

While trying to make the Xapian (www.xapian.org) PHP bindings work on
Windows using Visual C++, we found that the CLI version of PHP would
crash when unloading the bindings. The bindings are written using SWIG.
PHP appears to be trying to unload resources when the crash occurs. The
crash does not occur on earlier versions of PHP i.e. 4.4.6

Reproduce code:
---
The following patch fixes the problem and has been used as a
workaround:
  Patch php_cli.c as follows by commenting out line 1283:
#ifdef ZTS
/*tsrm_shutdown(); */
#endif

Expected result:

No crash :)

Actual result:
--
n/a





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


#38670 [Com]: Whole 4.4.x branch has problem with open_basedir option nested from Apache2

2007-04-03 Thread marcel dot prisi at virtua dot ch
 ID:   38670
 Comment by:   marcel dot prisi at virtua dot ch
 Reported By:  serokka at hrn dot ru
 Status:   Open
 Bug Type: Apache2 related
 Operating System: FreeBSD 4.10
 PHP Version:  4.4.4
 New Comment:

I got the exact same problem on a FreeBSD-5.5 / Apache-2.0.59 /
php-4.4.6 (all from ports)

Adding a trailing slash to session.save_path didn't help, I had to
comment it from the virtualhost config in order to have the error go
away.

Quite serious I think ...


Previous Comments:


[2007-03-14 13:02:05] david dot guenault at gmail dot com

update my precedent post :
if you simply add a trailing slash to session.save_path this will
discard the problem. 
here is why :
in safe_mode.c in the function php_checkuid_ex
when mode argument is CHECKUID_ALLOW_ONLY_DIR
at line 119
s = strrchr(filename, DEFAULT_SLASH); 
returns a pointer to the last occurrence of the character / in the
string filename. if your path is like this /data1sys/phpsession the
pointer is on the second slash not at the end of the path. The uid/gid
check is made on the parent folder (/data1sys) not the real folder
(/data1sys/phpsession). So when /data1sys is owned by a user that is
different from the user running apache, the test fail.



[2007-03-14 10:14:18] david dot guenault at gmail dot com

first of all this is my environment
>SLES 10
>Apache 2.0.59 
>Php 4.4.6 

I use virtual host to configure my different web sites like this


  DocumentRoot /data1user/apache/domain.tld
  ServerName www.domain.tld  
  ErrorLog /data1sys/journaux/apache/domain/error_log
  CustomLog /data1sys/journaux/apache/domain/access_log combined

  # specific php configuration for this virtual host
  php_admin_value doc_root /data1user/apache/domain.tld
  php_admin_value session.save_path /data1sys/phpsession_domain.tld   

  php_admin_value file_uploads on
  php_admin_value upload_tmp_dir /data1sys/phpupload_domain.tld
  php_admin_value error_log
/data1sys/journaux/apache/testphp/php_domain.tld.log 


I've noticied one interesting thing.

before the error occure i check session.save_path => ok this is the
right directory.
When the error occure session.save_path back to the default value (aka
/tmp).
apache is running as user usrhttpd and group grphttpd. The top level
directory for storing session is /data1sys and is owned by user root and
group root. The directory used to store sessions is
phpsession_domain.tld under /data1sys and is owned by
usrhttpd:grphttpd.
If i change /datasys group to grphttpd the error disapear.
If i remove the directive php_admin_value session.save_path
/data1sys/phpsession_domain.tld. from my vhost then all is going right.

hope this help.



[2007-03-09 07:18:31] mspado at hotmail dot com

Forgot to say:

A common thread to issues with this bug has been the use of
'php_admin_value upload_tmp_dir /xxx/xxx/xxx/tmp'

M.



[2007-03-09 07:10:51] mspado at hotmail dot com

Hi,

We've experienced this issue numerous times since rolling out Apache2
(2.2.3) with PHP 4 (4.4.2 - yes only 4.4.2 because of
http://bugs.php.net/bug.php?id=40514) last week.

Example error 1:
Warning: Unknown(): SAFE MODE Restriction in effect. The script whose
uid/gid is 0/0 is not allowed to access /home/xx/xxx/xxxdomain.net/tmp
owned by
uid/gid 306628/100 in Unknown on line 0

Example error 2:
The XML page cannot be displayed
Cannot view XML input using XSL style sheet. Please correct the error
and then click the Refresh button, or try again later.

Only one top level element is allowed in an XML document. Error
processing resource 'http://www.xxdomain.org/'. ...
Warning: Unknown(): SAFE MODE Restriction in effect. The script
whose uid/gid is 0/0 is not allowed to ...
(cut off due to xml doc style error)

Example error 3. This error is especially interesting because you can
note that the requested file on yydomain and the allowed path of
xxdomain (and no, its not a configuration error):

*Warning*: Unknown(): open_basedir restriction in effect.
File(/home/yy/yy/yydomain.com.au/public/www/admin/index.php) is
not within the allowed path(s):
(/home/xx/xx/xxdomain.org.au/:/usr/local/lib/php:/tmp/php_upload) in
*Unknown* on line *0*

This is a serious bug, we will have to roll back to Apache1.


-- PHP
PHP 4.4.2 (cli) (built: Feb 28 2007 17:14:01)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies

-- Apache
Server version: Apache/2.2.3
Server built:   Feb 28 2007 16:59:03
Server's Module Magic Number: 20051115:3
Server loaded:  APR 1.2.7, APR-Util 1.2.7
Compiled using: APR 1.2.7, APR-Util 1.2.7
Architecture:   32-bit
S

#40986 [NEW]: mssql_field_name() retrieves only first 30 characters

2007-04-03 Thread Arne dot Heizmann at csr dot com
From: Arne dot Heizmann at csr dot com
Operating system: Windows 2000
PHP version:  5.2.1
PHP Bug Type: MSSQL related
Bug description:  mssql_field_name() retrieves only first 30 characters

Description:

The function mssql_field_name() appears to return only the first 30
characters of the field name.

Reproduce code:
---


Expected result:

'This is a field name that is longer than 30 characters'

Actual result:
--
'This is a field name that is l'

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


#40952 [Opn->Fbk]: mail: Malformed date header (H0600)

2007-04-03 Thread tony2001
 ID:   40952
 Updated by:   [EMAIL PROTECTED]
 Reported By:  sh at nnoncarey dot com
-Status:   Open
+Status:   Feedback
 Bug Type: Mail related
 Operating System: Windows Server 2003
 PHP Version:  4.4.6
 New Comment:

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




Previous Comments:


[2007-03-29 20:14:46] sh at nnoncarey dot com

Description:

Email sent with PHP's mail() function often (but not always) has a
malformed Date: header.  Specifically, the minus sign before the UTC
offset is replaced with a capital letter "H".  In my timezone (US
Central Standard -6), this means "H0600" instead of "-0600".

The occurrence of this problem does not appear to be related to the
recent US DST change.

Here is a date header illustrating the problem, along with the
X-OriginalArrivalTime header from the same email, just for comparison:

Date: Wed, 28 Mar 2007 14:04:37 H0600
X-OriginalArrivalTime: 28 Mar 2007 19:04:36.0042 (UTC)
FILETIME=[ED52E2A0:01C7716B]

But here is just one example which worked as expected.

Date: Tue, 06 Feb 2007 07:54:42 -0600
X-OriginalArrivalTime: 06 Feb 2007 13:54:30.0533 (UTC) 







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


#40956 [Opn->Fbk]: DOMDocumentType entities fails

2007-04-03 Thread tony2001
 ID:   40956
 Updated by:   [EMAIL PROTECTED]
 Reported By:  131 dot php at cloudyks dot org
-Status:   Open
+Status:   Feedback
 Bug Type: DOM XML related
 Operating System: Linux RedHat
 PHP Version:  5.2.1
 New Comment:

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




Previous Comments:


[2007-03-30 07:10:28] 131 dot php at cloudyks dot org

Description:

DOMDocumentType entities fails to return a valid tree

Reproduce code:
---
$xml_str=XML_VERSIOn."s
&lang_key.fr;";
$doc = new DOMDocument("1.0","utf-8");
$doc->resolveExternals=true;
$doc->substituteEntities=true;
$doc->loadXML($xml_str);
$dtd=$doc->firstChild;

echo $dtd->publicId;//('')=>ok
echo $dtd->systemId;//('lang/fr.dtd')=>ok
echo $dtd->name;//('jsx')=>ok
echo $dtd->internalSubset;//('ok
foreach($dtd->entities as $elem) echo "even one";
//nope :(
echo $doc->saveXML();die;//s Francais=>ok

Expected result:

.*?
even one
.*?






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


#40958 [Opn->Bgs]: install-pear-nozlib.phar Not valid internal .phar file

2007-04-03 Thread tony2001
 ID:   40958
 Updated by:   [EMAIL PROTECTED]
 Reported By:  dauphin at enst dot fr
-Status:   Open
+Status:   Bogus
 Bug Type: Compile Failure
 Operating System: solaris 10 sparc64
 PHP Version:  5.2.1
 New Comment:

Duplicate of bug #40841.


Previous Comments:


[2007-03-30 13:53:00] dauphin at enst dot fr

Description:

when installing php5 i got an error with PEAR install


Reproduce code:
---
in file install-pear-nozlib.phar

if (self::$_manifest[$this->_archiveName][$path][3] !=
sprintf("
%u", crc32($data))) {
return array("Not valid internal .phar file
(checksum error)
");
}


Expected result:

install PEAR
crc32 return int32 on 64bits architecture

Actual result:
--
gmake install
...
Installing PEAR environment:  /usr/pkg/lib/php/

Fatal error: Not valid internal .phar file (checksum error) in
/pkg/obj/lang/php
5/work/php-5.2.1/pear/install-pear-nozlib.phar on line 411
gmake[1]: *** [install-pear-installer] Error 255





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


#40985 [Opn->Fbk]: CLI version crashes while trying to shutdown, using tsrm_shutdown()

2007-04-03 Thread tony2001
 ID:   40985
 Updated by:   [EMAIL PROTECTED]
 Reported By:  charlie at lemurconsulting dot com
-Status:   Open
+Status:   Feedback
 Bug Type: Reproducible crash
 Operating System: Windows XP
 PHP Version:  5.2.1
 New Comment:

Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.2-win32-latest.zip




Previous Comments:


[2007-04-03 15:00:21] daniel dot menard at bdsp dot tm dot fr

The same bug appear with the cgi version.

The only known workaround for now is to patch php_cgi.c in the same
way, removing any call to tsrm_shutdown()



[2007-04-03 14:00:47] charlie at lemurconsulting dot com

Description:

While trying to make the Xapian (www.xapian.org) PHP bindings work on
Windows using Visual C++, we found that the CLI version of PHP would
crash when unloading the bindings. The bindings are written using SWIG.
PHP appears to be trying to unload resources when the crash occurs. The
crash does not occur on earlier versions of PHP i.e. 4.4.6

Reproduce code:
---
The following patch fixes the problem and has been used as a
workaround:
  Patch php_cli.c as follows by commenting out line 1283:
#ifdef ZTS
/*tsrm_shutdown(); */
#endif

Expected result:

No crash :)

Actual result:
--
n/a





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


#40978 [Opn->Asn]: PHP 5.2.1 Installer failure

2007-04-03 Thread tony2001
 ID:   40978
 Updated by:   [EMAIL PROTECTED]
 Reported By:  jim_mcnally at yahoo dot com
-Status:   Open
+Status:   Assigned
-Bug Type: *General Issues
+Bug Type: Unknown/Other Function
 Operating System: Windows VISTA
 PHP Version:  5.2.1
-Assigned To:  
+Assigned To:  jmertic


Previous Comments:


[2007-04-02 15:44:18] jim_mcnally at yahoo dot com

Description:

PHP 5.2.1 installer package terminated before installing.  message from
Vista: "There was a problem with this Windows Installer package. A
program  that was run as part of this setup did not finish as expected.
Contact your package vendor."

IIS v. 7.0 was installed and it works.
PHP 5.2.1 installer was run selecting "IIS CGI'. No other options were
selected.
 






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


#40977 [Opn->Fbk]: strftime failed on 2nd April 2007

2007-04-03 Thread tony2001
 ID:   40977
 Updated by:   [EMAIL PROTECTED]
 Reported By:  srisamir at gmail dot com
-Status:   Open
+Status:   Feedback
 Bug Type: Date/time related
 Operating System: Windows 2003
 PHP Version:  4.4.6
 New Comment:

Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.2-win32-latest.zip




Previous Comments:


[2007-04-02 14:04:10] srisamir at gmail dot com

Description:

I tried the smarty function format_date to format a
date-time(mmddhhmmss). 
It was working till last Saturday. Today, Monday when I tried the same,
it was showing wrong date(like 16 Jul, 98 00:00:00).
But when I changed the system date(say, 1st April or 3rd April) the
output date string was correct.

I went inside the smarty function and try to reproduce the result. 
I used the function strftime to format the date-time and got the same
error (wrong display for 2nd April, 2007).  

I tried with other dates (say 20070403181644) and got correct display.

Reproduce code:
---
error_reporting(E_ALL);
$string = "20070402181644"; //"20070403181644"
$time = strtotime($string);
if (is_numeric($time) && $time != -1) {}
else {
$time = mktime(substr($string,8,2),substr($string,10,2),substr 
($string,12,2), substr($string,4,2),
substr ($string,6,2),substr($string,0,4));
}
echo strftime("%d,%b,%Y", $time);

Expected result:

02,Apr,2007

Actual result:
--
08,Mar,2006





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


#40968 [Opn->Bgs]: Multiple intances of a singleton class when stored in session

2007-04-03 Thread tony2001
 ID:   40968
 Updated by:   [EMAIL PROTECTED]
 Reported By:  oriol dot gual at gmail dot com
-Status:   Open
+Status:   Bogus
 Bug Type: Session related
 Operating System: Windows XP SP2
 PHP Version:  5.2.1
 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.




Previous Comments:


[2007-04-02 13:24:44] smlerman at gmail dot com

The only thing that can guarantee only one instance of your class
existing is that Singleton::$instance is the only place you store an
instance and getInstance() is the only way to retrieve an instance. Once
you create a second place that an instance can be stored, such as
storing an instance somewhere else (in the session data) and destroying
the instance in the static property (which happens when the script
ends), you create a second way to retrieve an entirely different
instance. In general, there's no 100% guaranteed way to ensure that only
one instance of a given class can ever exist.



[2007-04-01 01:42:08] b dot fore at mail dot com

That's a gross abuse of ext/session dude.



[2007-03-31 16:54:52] oriol dot gual at gmail dot com

Description:

When storing an object of a singleton class in the session, you can
have more than one instance of that class in other subsequent
executions.

Reproduce code:
---
class Singleton {

private static $instance;

private function __construct() {}

final public static function getInstance()
{
if (!isset(Singleton::$instance))
{
Singleton::$instance = &new Singleton;  
}
return Singleton::$instance;
}

}
session_start();

if(!isset($_SESSION['singleton'])) $_SESSION['singleton'] =
Singleton::getInstance();

$test = Singleton::getInstance();
$anotherTest = Singleton::getInstance();

var_dump(Singleton::getInstance() === $test);
var_dump(Singleton::getInstance() === $anotherTest);
var_dump($test === $anotherTest);

var_dump(Singleton::getInstance() === $_SESSION['singleton']);
var_dump($test === $_SESSION['singleton']);
var_dump($anotherTest === $_SESSION['singleton']);

session_write_close();

Expected result:

Session not started (first execution)

bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)

Subsequent executions

bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)

Actual result:
--
Session not started (first execution it's OK)

bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)

Subsequent executions (fails, multiple instances)

bool(true)
bool(true)
bool(true)
bool(false)
bool(false)
bool(false)





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


#40967 [Opn->Fbk]: Resolved: execution environment change 'fixed' this??!!

2007-04-03 Thread tony2001
 ID:   40967
 Updated by:   [EMAIL PROTECTED]
 Reported By:  Webbed dot Pete at gmail dot com
-Status:   Open
+Status:   Feedback
 Bug Type: Reproducible crash
 Operating System: Linux
 PHP Version:  5.2.1
 New Comment:

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




Previous Comments:


[2007-04-02 09:06:51] Webbed dot Pete at gmail dot com

[To answer your question directly: the getarray() function retrieves an
array from an in-memory global cache var]

Actually, the getarray() function is immaterial; it's never called when
the system is set in "crash mode". I put a debug trace-to-file on the
line before and after the array_merge() call, and also as the first
element of the getarray() function. The debug trace inside getarray() is
never called while getarray() is embedded in the array_merge() call.

Now the good-yet-a-bit-frustrating news: we've resolved this issue, in
an unusual way. The solution may be informative to other hard to
track-down bugs.

Bottom line: the array_merge() problem went away when our webhost
company rebuilt the custom php5 cgi script that runs php5 in the
phpSuExec environment! How the execution environment can have any impact
on array_merge() is beyond me, but that's the facts.

How we found this. Told here for the benefit of others who may find
similarly troubling issues:
 
I discovered another 500 error that *did* point to execution
environment (crash on chdir() with 100% perfect permissions) and
reported it to our sitehost tech support, who escalated it to top tier
support.

The chdir() crash was recognized as a phpSuExec issue, specifically "a
problem with our php5 cgi script that launches PHP5 with custom
configuration options which resulted in premature end of script headers
errors."

Unfortunately, the corrupted cgi script was not saved for analysis.
They simply ran their rebuild-php5-environment script, overwriting the
whole thing.

In retrospect, they suspect an update to cPanel may have corrupted the
script. The conversation continues: if an update did this, then perhaps
other servers in their farm have the same problem and can be diff'd with
mine. They don't keep backups of these scripts since they can be
auto-gen'd.

I hope that helps! I'm still amazed that *anything* in the execution
environment can impact the operation of something as benign as
array_merge().

Pete



[2007-04-01 22:51:22] judas dot iscariote at gmail dot com

Then tell use what the.. the getarray() function does **exactly**



[2007-03-31 15:06:34] Webbed dot Pete at gmail dot com

Description:

If I do 
{ 
  $from=getarray();
  $tgt=array_merge($to,$from); 
} 
all is well. But if I do 
{
  $tgt=array_merge($to,getarray());
}
then the page blows up with a 500 internal server error (and getarray()
is never called). 
I can't (yet) duplicate this as a simple test case; it only happens in
the middle of a large site source base.

This is on an Apache server (1.3.37) with PHP 5.2.1 running as CGI.

The *really* painful part is the 500 Internal Server Error, with no PHP
error messages of any kind. Made it incredibly painful to track this
down ;)

Reproduce code:
---
See above. I've not yet got a simple test case. All of the following
produce the 500 error:

  $tgt=array_merge($to,getarray());
  $tgt=array_merge($to,$from=getarray());
  $tgt=array_merge($to,(array)getarray());

Only if the getarray() call is outside the array_merge() does it
succeed.

Expected result:

a) No error

b) Better debugability of 500 Internal Server Errors caused by PHP


Actual result:
--
500 Internal Server Error with no other message.





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


#40964 [Opn->Bgs]: Variable lost data using session

2007-04-03 Thread tony2001
 ID:   40964
 Updated by:   [EMAIL PROTECTED]
 Reported By:  joao at paintbox dot com dot br
-Status:   Open
+Status:   Bogus
 Bug Type: Session related
 Operating System: Windows 2003 / IIS 6
 PHP Version:  5.2.1
 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.




Previous Comments:


[2007-03-30 21:57:56] joao at paintbox dot com dot br

Description:

I have 2 websites one of them are running in a Linux server with Apache
and got NO PROBLEM... the other one is running in a Windows 2003 with
IIS 6 and I have a problem. After change a page the values of session
variables are lost.

I wrote a simple test script but I didn't find a solution, I read lots
of articles along the internet but dind't find a solution:

teste_Sessao.php
";
echo "User: ".$usr."";
echo "User2: ".$usracesso2."";

// making a link to the other page
echo "teste_sessao2.php?PHPSESSID=".$idsession."";
?>

teste_sessao2.php
";
echo "User: ".$usr."";
echo "User2: ".$usr2."";
?>

I have no problem to get SessionID value but the others variables (usr
and usr2) lost their values.







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


#40954 [Opn->Bgs]: Apache conection lost during php

2007-04-03 Thread tony2001
 ID:   40954
 Updated by:   [EMAIL PROTECTED]
 Reported By:  gbasco at gmail dot com
-Status:   Open
+Status:   Bogus
 Bug Type: Output Control
 Operating System: Linux  2.6.9-42.ELsmp
 PHP Version:  4.4.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.




Previous Comments:


[2007-04-01 23:09:17] gbasco at gmail dot com

PHP Version 5.2.1

System  Linux xx 2.6.9-42.ELsmp #1 SMP Wed Jul 12 23:27:17 EDT 2006
i686  
Build Date  Mar 30 2007 04:29:37  
Configure Command  './configure'
'--with-apxs2=/usr/local/apache2/bin/apxs' '--with-mysql'  
Server API  Apache 2.0 Handler  
Virtual Directory Support  disabled  
Configuration File (php.ini) Path  /usr/local/lib/php.ini  
PHP API  20041225  
PHP Extension  20060613  
Zend Extension  220060519  
Debug Build  no  
Thread Safety  disabled  
Zend Memory Manager  enabled  
IPv6 Support  enabled  
Registered PHP Streams  php, file, data, http, ftp  
Registered Stream Socket Transports  tcp, udp, unix, udg  
Registered Stream Filters  string.rot13, string.toupper,
string.tolower, string.strip_tags, convert.*, consumed, convert.iconv.* 


[EMAIL PROTECTED] conf]# ../bin/httpd -V
Server version: Apache/2.2.4 (Unix)
Server built:   Mar 30 2007 04:24:59
Server's Module Magic Number: 20051115:4
Server loaded:  APR 1.2.8, APR-Util 1.2.8
Compiled using: APR 1.2.8, APR-Util 1.2.8
Architecture:   32-bit
Server MPM: Prefork
  threaded: no
forked: yes (variable process count)
Server compiled with
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/usr/local/apache2"
 -D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"



[2007-03-29 21:53:06] gbasco at gmail dot com

I miss spelled the Apache Server version, its  Apache/2.0.52



[2007-03-29 21:51:53] gbasco at gmail dot com

Description:

Apache Webserver 20.52 with PHP lib4 4.4.6 works fine serving large
images and normal html pages. But when it executes medium large , even a
file only with phpinfo(); in it, its starts displaying the page then
resets and the browser clear the page giving a no conection error. 

In the error_log a broken pipe msg appears at the same time.

[Thu Mar 29 16:21:00 2007] [info] (32)Broken pipe: core_output_filter:
writing data to the network








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


#40946 [Opn->Asn]: Use of newer GD install prevents text functions from working.

2007-04-03 Thread tony2001
 ID:   40946
 Updated by:   [EMAIL PROTECTED]
 Reported By:  gfrank at neoservers dot com
-Status:   Open
+Status:   Assigned
 Bug Type: GD related
 Operating System: Linux 2.6.20
 PHP Version:  4.4.6
 Assigned To:  pajoye


Previous Comments:


[2007-03-30 02:07:04] gfrank at neoservers dot com

Oh, as for if I have a stack trace: Working on getting one.  ulimit
doesn't want to cooperate, but I'll have one sometime soon.  The last
few times a crash happened the system stalled out before a crashdump
could be sent out (so much for my attempts to kill Apache before this
happened).



[2007-03-30 02:04:04] gfrank at neoservers dot com

"Which web server do you use (and version, threaded or not)?"

Apache 2.2.4, non-threaded (prefork)

"Which error do you get? Do you have a backtrace?"

Lots of:

*** glibc detected *** double free or corruption (!prev):
0x2ad9b120 ***
*** glibc detected *** malloc(): memory corruption: 0x2aaab08abba0
***
*** glibc detected *** double free or corruption (out):
0x2d465c70 ***
*** glibc detected *** malloc(): memory corruption (fast):
0x2d465d50 ***
*** glibc detected *** double free or corruption (fasttop):
0x01f3c7f0 ***
*** glibc detected *** double free or corruption (fasttop):
0x2d064920 ***
*** glibc detected *** double free or corruption (fasttop):
0x01bc1ab0 ***
*** glibc detected *** double free or corruption (fasttop):
0x2c004c40 ***
*** glibc detected *** double free or corruption (!prev):
0x00c5b370 ***
*** glibc detected *** double free or corruption (out):
0x03d6ca50 ***
*** glibc detected *** double free or corruption (out):
0x2f831df0 ***

System would crash sometimes with the "double free or corruption
(fasttop)" messages, but not always.  The rest only seem to kill that
specific child.  Tracking the access_log for the times of the error
points us to GD but it's virtually impossible to use that to determine
what exactly caused it as there would be 60 or so different requests
spanning virtually all of our services.

"Do you get this error using the bundled GD? (compiled using
"--with-gd") Can you also try using a 4.4 snapshot
(http://snaps.php.net/)?"

The error with text is NOT present in the bundled GD.  It's only an
issue with external GD (have tested 2.0.34 and 2.0.35RC2).  What I will
do is test the latest PHP snapshot with the external GD install.  I'll
post my results, tho it may be a few days before I can find the time to
do this.

Thanks.



[2007-03-30 01:12:22] [EMAIL PROTECTED]

"We actually did try specifying an absolute path to the font, and it
still wouldn't work."

Which web server do you use (and version, threaded or not)?

"The reason we were trying the external GD was due to a string of
glibc
errors causing the system to crash, and after a lot of investigating
we
had reason to believe that the issue lied within GD as we heavily rely
on it."

Which error do you get? Do you have a backtrace?

Do you get this error using the bundled GD? (compiled using
"--with-gd") Can you also try using a 4.4 snapshot
(http://snaps.php.net/)?

"would you like me to respond?"

yes, please.



[2007-03-29 19:30:38] gfrank at neoservers dot com

We actually did try specifying an absolute path to the font, and it
still wouldn't work.  The exact same code, however, worked with the
bundled GD without issue.

The reason we were trying the external GD was due to a string of glibc
errors causing the system to crash, and after a lot of investigating we
had reason to believe that the issue lied within GD as we heavily rely
on it.

Later this week I will recompile PHP back to the alternate config using
the external GD and try your suggestion.  If that also produces errors,
would you like me to respond?

Thank you.



[2007-03-29 11:07:32] [EMAIL PROTECTED]

"I'm not sure if this is an issue with PHP not being compatible with
the newer GD or if this is a bug in GD."

It is not really a bug, not in php neither in GD. Environment like
apache requires an absolute path as the CWD differs. The problem is
solved by PHP internal functions. the php CWD is used by php functions.

Add:

$font = realpath($font);

Question, why do you want to use the external GD? 2.0.34 has not all
new functions and improvements available in the bundled GD (but all bug
fixes). I strongly recommend to use the bundled GD with php.




The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug rep

#40937 [Opn->Asn]: date() and dst update

2007-04-03 Thread tony2001
 ID:   40937
 Updated by:   [EMAIL PROTECTED]
 Reported By:  ctrlaltca at libero dot it
-Status:   Open
+Status:   Assigned
 Bug Type: Date/time related
 Operating System: Slackware Linux
 PHP Version:  5.2.1
-Assigned To:  
+Assigned To:  derick


Previous Comments:


[2007-03-31 17:51:15] ctrlaltca at libero dot it

sorry, i forgot to update bug summary



[2007-03-31 17:49:20] ctrlaltca at libero dot it

First, thank you for the reply.

I tried the script:
|Sat, 31 Mar 2007 00:00:00 +=Sat, 31 Mar 2007 17:18:59
+|1174780800=1174843139|20070324 23=20070325 171859|

I understand that strtotime($d. "-1 day") is an alias for "-24 hours",
and dst handling routines adds one more hour to compensate.
Afaik summer time begins and ends at 1:00 a.m. Universal Time (GMT) in
Europe, and at 2:00 a.m. localtime in the US. Other states do it at
midnight (example: Chile).
Trying this other script it seems that php updates the time at
midnight:



Do all we live in Chile? :) Or am i wrong again? 
Thank you again for your comment, i'll use gm* class of functions.



[2007-03-28 19:11:01] [EMAIL PROTECTED]

We are happy to tell you that you just discovered Daylight Savings
Time. For more information see:
http://webexhibits.org/daylightsaving/b.html
Instead of using mktime/date consider using gmmktime and gmdate which
do
not suffer from DST.

Try this script instead, that also shows the time to see what's
happening:

=0; $i--)
{
$a=mktime(0, 0, 0, $mo,$day, $year);
$b=date("r",$a);
$c=strtotime($b. "-" . $i . " day");
$curdate=date("Ymd His",$c);

$d=date("r");
$e=strtotime($d. "-" . $i . " day");
$curdate2=date("Ymd His",$e);
echo
"\n|".$b."=".$d."|".$c."=".$e."|".$curdate."=".$curdate2."|";

}
?>




[2007-03-28 15:21:00] ctrlaltca at libero dot it

Description:

It seems that the date() function "jumps over" sundays when converting
timestamps not referring to midnight.
Similar to #461


Reproduce code:
---
=0; $i--)
{
$a=mktime(0, 0, 0, $mo,$day, $year);
$b=date("r",$a);
$c=strtotime($b. "-" . $i . " day");
$curdate=date("Ymd",$c);

$d=date("r");
$e=strtotime($d. "-" . $i . " day");
$curdate2=date("Ymd",$e);
echo
"\n|".$b."=".$d."|".$c."=".$e."|".$curdate."=".$curdate2."|";

}
?>

Expected result:

I expect this script to return the right "Ymd" dates of the last seven
days.

Actual result:
--
It works:
|Wed, 28 Mar 2007 00:00:00 +0200=Wed, 28 Mar 2007 17:13:37
+0200|1175032800=1175094817|20070328!=20070328|
but when it finds a sunday, dates are shifted off of 1 day:
|Wed, 28 Mar 2007 00:00:00 +0200=Wed, 28 Mar 2007 17:13:37
+0200|1174773600=1174835617|20070324!=20070325|








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


#40935 [Opn->Fbk]: Error/Exception with PDO::fetch/fetchAll and disabled ATTR_EMULATE_PREPARES

2007-04-03 Thread tony2001
 ID:   40935
 Updated by:   [EMAIL PROTECTED]
 Reported By:  phpbugs at filofox dot com
-Status:   Open
+Status:   Feedback
 Bug Type: PDO related
 Operating System: Linux Debian Sarge 3.1
 PHP Version:  5.2.1
 New Comment:

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




Previous Comments:


[2007-03-28 13:28:58] phpbugs at filofox dot com

Description:

When using PDO with MySQL, if ATTR_EMULATE_PREPARES is disabled, an
exception (or error if not using ERRMODE_EXCEPTION) is thrown if you try
to fetch() or fetchAll() a null result set (i.e. after INSERT, UPDATE
etc.). However, if ATTR_EMULATE_PREPARES is enabled, the exception/error
is not triggered.

Clearly fetch on a null result set is redundant, but either it should
throw an exception/error or it shouldn't, regardless of the state of
ATTR_EMULATE_PREPARES. 



Reproduce code:
---
$db = new PDO( $dsn, $username, $password );
// enables exceptions
$db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );

// disable emulation <--- this triggers the problem
$db->setAttribute( PDO::ATTR_EMULATE_PREPARES, false );

$sql = 'INSERT INTO TestTable VALUES ( NULL )';
$query = $db->prepare( $sql );
if( $query->execute() )
{
$results = $query->fetchAll( PDO::FETCH_ASSOC );
}
$query->closeCursor();


Expected result:

Either an exception/error should be thrown in both cases, or neither.

Actual result:
--
'PDOException' :: 'SQLSTATE[HY000]: General error: 2053 '






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


#40922 [Opn->Asn]: parse_packet_soap does not decode objects properties from local message schema

2007-04-03 Thread tony2001
 ID:   40922
 Updated by:   [EMAIL PROTECTED]
 Reported By:  php dot ajr at vitalphone dot net
-Status:   Open
+Status:   Assigned
-Bug Type: SOAP related
+Bug Type: Feature/Change Request
 Operating System: Mandriva Linux 2007.0
 PHP Version:  5.1.6
-Assigned To:  
+Assigned To:  dmitry


Previous Comments:


[2007-03-31 16:10:48] php dot ajr at vitalphone dot net

Best category about this bug or featur



[2007-03-26 15:00:43] php dot ajr at vitalphone dot net

Removed version at the first time.



[2007-03-26 14:42:11] php dot ajr at vitalphone dot net

Description:

Hi,

Our script are using PHP5/SOAP functionality. It interoperates with
.Net Webservices. The server WSDL does not content the description of
object properties. The Microsoft Server return the XML Schema for the
object properties into the response with the data in the "Diffgr"
contener like :


-
--
---
---
---
---
---
--
-


and


-
--
---DSLFMTIF
---6048
---14528
---256
---SHARED
--
--
---DSLFMDTTIF
---6048
---14528
---256
---FULL
--
-


The parse_packet_soap.c programm decodes the object properties only
from the WSDL schema, see the lines between 257 and 342. For the
compatibility with all webservice form, it is necessary to add the
property decoding from the response XML schema.


Reproduce code:
---
$client = new 
SoapClient('http://test.isdbwssignup.telecomitalia-entreprises.fr/WSSignup.asmx?WSDL',
array('trace' => 1, 'soap_version'  => SOAP_1_1));

$resultat = $client->GetInfoEligibility($parametres);
//
// Affichage du resultat
//
echo 'Analyse du resultat';
var_dump($resultat);


Expected result:


-
--
---DSLFMTIF
---6048
---14528
---256
---SHARED
--
--
---DSLFMDTTIF
---6048
---14528
---256
---FULL
--
-



Actual result:
--
object(stdClass)#3 (1) { ["GetInfoEligibilityResult"]=> 
object(stdClass)#4 (1) { ["any"]=>  string(10418)
"DSLFMTIF604814528256SHAREDDSLFMDTTIF604814528256FULL" } } 





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


#40937 [Asn->Fbk]: date() and dst update

2007-04-03 Thread derick
 ID:   40937
 Updated by:   [EMAIL PROTECTED]
 Reported By:  ctrlaltca at libero dot it
-Status:   Assigned
+Status:   Feedback
 Bug Type: Date/time related
 Operating System: Slackware Linux
 PHP Version:  5.2.1
 Assigned To:  derick
 New Comment:

What does the following output:

echo date_default_timezone_get(), "\n";



Previous Comments:


[2007-03-31 17:51:15] ctrlaltca at libero dot it

sorry, i forgot to update bug summary



[2007-03-31 17:49:20] ctrlaltca at libero dot it

First, thank you for the reply.

I tried the script:
|Sat, 31 Mar 2007 00:00:00 +=Sat, 31 Mar 2007 17:18:59
+|1174780800=1174843139|20070324 23=20070325 171859|

I understand that strtotime($d. "-1 day") is an alias for "-24 hours",
and dst handling routines adds one more hour to compensate.
Afaik summer time begins and ends at 1:00 a.m. Universal Time (GMT) in
Europe, and at 2:00 a.m. localtime in the US. Other states do it at
midnight (example: Chile).
Trying this other script it seems that php updates the time at
midnight:



Do all we live in Chile? :) Or am i wrong again? 
Thank you again for your comment, i'll use gm* class of functions.



[2007-03-28 19:11:01] [EMAIL PROTECTED]

We are happy to tell you that you just discovered Daylight Savings
Time. For more information see:
http://webexhibits.org/daylightsaving/b.html
Instead of using mktime/date consider using gmmktime and gmdate which
do
not suffer from DST.

Try this script instead, that also shows the time to see what's
happening:

=0; $i--)
{
$a=mktime(0, 0, 0, $mo,$day, $year);
$b=date("r",$a);
$c=strtotime($b. "-" . $i . " day");
$curdate=date("Ymd His",$c);

$d=date("r");
$e=strtotime($d. "-" . $i . " day");
$curdate2=date("Ymd His",$e);
echo
"\n|".$b."=".$d."|".$c."=".$e."|".$curdate."=".$curdate2."|";

}
?>




[2007-03-28 15:21:00] ctrlaltca at libero dot it

Description:

It seems that the date() function "jumps over" sundays when converting
timestamps not referring to midnight.
Similar to #461


Reproduce code:
---
=0; $i--)
{
$a=mktime(0, 0, 0, $mo,$day, $year);
$b=date("r",$a);
$c=strtotime($b. "-" . $i . " day");
$curdate=date("Ymd",$c);

$d=date("r");
$e=strtotime($d. "-" . $i . " day");
$curdate2=date("Ymd",$e);
echo
"\n|".$b."=".$d."|".$c."=".$e."|".$curdate."=".$curdate2."|";

}
?>

Expected result:

I expect this script to return the right "Ymd" dates of the last seven
days.

Actual result:
--
It works:
|Wed, 28 Mar 2007 00:00:00 +0200=Wed, 28 Mar 2007 17:13:37
+0200|1175032800=1175094817|20070328!=20070328|
but when it finds a sunday, dates are shifted off of 1 day:
|Wed, 28 Mar 2007 00:00:00 +0200=Wed, 28 Mar 2007 17:13:37
+0200|1174773600=1174835617|20070324!=20070325|








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


#40973 [Opn->Fbk]: session don't work if used $_SERVER in any way

2007-04-03 Thread tony2001
 ID:   40973
 Updated by:   [EMAIL PROTECTED]
 Reported By:  krassesache at gmx dot net
-Status:   Open
+Status:   Feedback
 Bug Type: Session related
 Operating System: WinXP SP2
 PHP Version:  5.2.1
 New Comment:

Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.2-win32-latest.zip

Works perfectly fine.


Previous Comments:


[2007-04-01 16:12:13] krassesache at gmx dot net

Description:

if i use $_SERVER in any way but with pdo statements [
$stmt->execute(array($_SERVER['REMOTE_ADDR'])) ] a session will not
work.

in my example i first open foobar.php and then foobar2.php. if remove
the 4th line in foobar2.php [ $var = $_SERVER['REMOTE_ADDR']; ] the the
text "bar" appears but with the line, nothing happens. in other case is
used preg_match('#MSIE#',$_SERVER['HTTP_USER_AGENT']) with the result
that the website will be shown but the session dont work (the original
problem).

Reproduce code:
---
=> foobar.php


=> foobar2.php


Expected result:

bar

Actual result:
--






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


#40957 [Opn->Bgs]: PDO & UTF8 string length & truncate issues

2007-04-03 Thread tony2001
 ID:   40957
 Updated by:   [EMAIL PROTECTED]
 Reported By:  gerald at copix dot org
-Status:   Open
+Status:   Bogus
 Bug Type: PDO related
 Operating System: Linux
 PHP Version:  5.2.1
 New Comment:

UTF8 requires 2 bytes per character.
Your database can store only 2 bytes (because it's ISO8859), but you're
trying to put 4 and receive the expected error.
Not PHP problem.


Previous Comments:


[2007-03-30 09:27:32] gerald at copix dot org

I made a mistake writing the actual result, it is obviously : 

(array[0]->MYFIELD === 'é') === true
(array[0]->MYFIELD === 'éa') === false

Sorry for the typo.



[2007-03-30 09:19:21] gerald at copix dot org

Description:

Hello, 

While configured in UTF8 mode (eg with the connection string
allRequiredInfos;charset=UTF8), when we try to get a VARCHAR2 field
limited to X chars, PDO is assuming accents (éàè...) are 2 letters
length) and then generates a warning if our content is X chars length
(with accents) and truncates the end of the field.

Warning:  PDOStatement::fetchAll()
[scriptAdr/function.PDOStatement-fetchAll]: column 0 data was too large
for buffer and was truncated to fit it in /scriptPath.class.php on line
73

We tryed to activate mbstring extension, to use func_overload=4 with no
success (the database itself is in ISO-8859-1).

If we try not to communicate with the database in UTF8, accents are
just ignored (é becomes e, ...) even with correct session parameters.

Reproduce code:
---
Considering the table 
MYTABLE {
   MYFIELD VARCHAR2(2);
}

with one record : 
MyField 

éa

$pdo = new PDO ('pdo_oci:dbname=

  (DESCRIPTION =

(ADDRESS_LIST =

  (ADDRESS = (PROTOCOL = TCP)(HOST = myhost)(PORT = 1521))

)

(CONNECT_DATA =

  (SID = mysid)

)

  );charset=UTF8', 'myLogin', 'myPassword');

$stmt = $pdo->doQuery ('select MYFIELD from MYTABLE');
$stmt->fetchAll (); //warning

Expected result:

(array[0]->MYFIELD === 'éa') === true;

Actual result:
--
(array[0]->MYFIELD === 'é') === true
(array[0]->MYFIELD === 'éa') === true






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


#39351 [Opn->Csd]: require and include fails to open file in current directory

2007-04-03 Thread tony2001
 ID:   39351
 Updated by:   [EMAIL PROTECTED]
 Reported By:  lampiluoto at gmail dot com
-Status:   Open
+Status:   Closed
 Bug Type: *Directory/Filesystem functions
 Operating System: Solaris10
 PHP Version:  5.2.0
 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.




Previous Comments:


[2007-04-02 15:33:04] nospam at dede dot fr

It's been five month that the bug is open...

Is there a chance that it'll be resolved in PHP 5.2.2 ?

The bug exits too when including (include or require function) by using
.. : for example : include("../test.php");



[2007-03-28 16:45:15] koper at koper dot biz

I've experienced the same bug on Solaris 10 with PHP 5.2.1 and Apache
2.2.4. The solution (at least temporary) is to allow webservd (apache
uid/gid) +rx on every directory leading to DocumentRoot.



[2007-03-12 15:00:20] webtech at get-telecom dot fr

I've tried with "allow_url_include = On", 
but with PHP 5.2.1, I've the same include problem.



[2007-03-10 13:22:44] lampiluoto at gmail dot com

Hi,

I emailed with Tony about providing
Sol10 environment for reproducing the 
problem and debugging it.

--
 Tero



[2007-03-07 07:38:42] [EMAIL PROTECTED]

>Anybody looking to fix this bug?
No, we're unable to replicate it.
If you have a Solaris10 handy - please provide an account with PHP,
GDB, GCC and other utils required to reproduce and invesigate it.




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

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


#40967 [Fbk->Opn]: Please read the report... not one that needs php script ;)

2007-04-03 Thread Webbed dot Pete at gmail dot com
 ID:   40967
 User updated by:  Webbed dot Pete at gmail dot com
-Summary:  Resolved: execution environment change 'fixed'
   this??!!
 Reported By:  Webbed dot Pete at gmail dot com
-Status:   Feedback
+Status:   Open
 Bug Type: Reproducible crash
 Operating System: Linux
 PHP Version:  5.2.1
 New Comment:

Tony,

Sorry but the boilerplate response doesn't match the bug report.

I've already diagnosed the 'bug' as far as possible. Apparently the
real issue had more to do with a strange interaction with the run
environment more than with the code itself.

For now this might as well be placed on hold until someone else finds a
similar situation, because my host provider lost the 'buggy' version of
the php5-cgi-run script. 

For now, my hope is that this report will at least help others track
down the problem when they see similar attributes.


Previous Comments:


[2007-04-03 18:47:08] [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 ,
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.





[2007-04-02 09:06:51] Webbed dot Pete at gmail dot com

[To answer your question directly: the getarray() function retrieves an
array from an in-memory global cache var]

Actually, the getarray() function is immaterial; it's never called when
the system is set in "crash mode". I put a debug trace-to-file on the
line before and after the array_merge() call, and also as the first
element of the getarray() function. The debug trace inside getarray() is
never called while getarray() is embedded in the array_merge() call.

Now the good-yet-a-bit-frustrating news: we've resolved this issue, in
an unusual way. The solution may be informative to other hard to
track-down bugs.

Bottom line: the array_merge() problem went away when our webhost
company rebuilt the custom php5 cgi script that runs php5 in the
phpSuExec environment! How the execution environment can have any impact
on array_merge() is beyond me, but that's the facts.

How we found this. Told here for the benefit of others who may find
similarly troubling issues:
 
I discovered another 500 error that *did* point to execution
environment (crash on chdir() with 100% perfect permissions) and
reported it to our sitehost tech support, who escalated it to top tier
support.

The chdir() crash was recognized as a phpSuExec issue, specifically "a
problem with our php5 cgi script that launches PHP5 with custom
configuration options which resulted in premature end of script headers
errors."

Unfortunately, the corrupted cgi script was not saved for analysis.
They simply ran their rebuild-php5-environment script, overwriting the
whole thing.

In retrospect, they suspect an update to cPanel may have corrupted the
script. The conversation continues: if an update did this, then perhaps
other servers in their farm have the same problem and can be diff'd with
mine. They don't keep backups of these scripts since they can be
auto-gen'd.

I hope that helps! I'm still amazed that *anything* in the execution
environment can impact the operation of something as benign as
array_merge().

Pete



[2007-04-01 22:51:22] judas dot iscariote at gmail dot com

Then tell use what the.. the getarray() function does **exactly**



[2007-03-31 15:06:34] Webbed dot Pete at gmail dot com

Description:

If I do 
{ 
  $from=getarray();
  $tgt=array_merge($to,$from); 
} 
all is well. But if I do 
{
  $tgt=array_merge($to,getarray());
}
then the page blows up with a 500 internal server error (and getarray()
is never called). 
I can't (yet) duplicate this as a simple test case; it only happens in
the middle of a large site source base.

This is on an Apache server (1.3.37) with PHP 5.2.1 running as CGI.

The *really* painful part is the 500 Internal Server Error, with no PHP
error messages of any kind. Made it incredibly painful to track this
down ;)

Reproduce code:
---
See above. I've not yet got a simple test case. All of the following
produce the 500 error:

  $tgt=array_merge($to,getarray());
  $tgt=array_merge($to,$from=getarray());
  $tgt=array_merge($to,(array)getarray());

Only if the getarray() call is outside the array_merge() does it
succeed.

Expected result:

a) No error

b) Better debugability of 500 Internal Server

#40967 [Opn->Bgs]: Please read the report... not one that needs php script ;)

2007-04-03 Thread tony2001
 ID:   40967
 Updated by:   [EMAIL PROTECTED]
 Reported By:  Webbed dot Pete at gmail dot com
-Status:   Open
+Status:   Bogus
 Bug Type: Reproducible crash
 Operating System: Linux
 PHP Version:  5.2.1
 New Comment:

500 Error is not PHP problem.
Please reopen the report when/if you have more information on the issue
and how to reproduce it.
It doesn't make much sense to keep the report in the current state,
because I can name you thousand reasons for this behaviour and all of
them has nothing to do with PHP.


Previous Comments:


[2007-04-03 21:02:52] Webbed dot Pete at gmail dot com

Tony,

Sorry but the boilerplate response doesn't match the bug report.

I've already diagnosed the 'bug' as far as possible. Apparently the
real issue had more to do with a strange interaction with the run
environment more than with the code itself.

For now this might as well be placed on hold until someone else finds a
similar situation, because my host provider lost the 'buggy' version of
the php5-cgi-run script. 

For now, my hope is that this report will at least help others track
down the problem when they see similar attributes.



[2007-04-03 18:47:08] [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 ,
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.





[2007-04-02 09:06:51] Webbed dot Pete at gmail dot com

[To answer your question directly: the getarray() function retrieves an
array from an in-memory global cache var]

Actually, the getarray() function is immaterial; it's never called when
the system is set in "crash mode". I put a debug trace-to-file on the
line before and after the array_merge() call, and also as the first
element of the getarray() function. The debug trace inside getarray() is
never called while getarray() is embedded in the array_merge() call.

Now the good-yet-a-bit-frustrating news: we've resolved this issue, in
an unusual way. The solution may be informative to other hard to
track-down bugs.

Bottom line: the array_merge() problem went away when our webhost
company rebuilt the custom php5 cgi script that runs php5 in the
phpSuExec environment! How the execution environment can have any impact
on array_merge() is beyond me, but that's the facts.

How we found this. Told here for the benefit of others who may find
similarly troubling issues:
 
I discovered another 500 error that *did* point to execution
environment (crash on chdir() with 100% perfect permissions) and
reported it to our sitehost tech support, who escalated it to top tier
support.

The chdir() crash was recognized as a phpSuExec issue, specifically "a
problem with our php5 cgi script that launches PHP5 with custom
configuration options which resulted in premature end of script headers
errors."

Unfortunately, the corrupted cgi script was not saved for analysis.
They simply ran their rebuild-php5-environment script, overwriting the
whole thing.

In retrospect, they suspect an update to cPanel may have corrupted the
script. The conversation continues: if an update did this, then perhaps
other servers in their farm have the same problem and can be diff'd with
mine. They don't keep backups of these scripts since they can be
auto-gen'd.

I hope that helps! I'm still amazed that *anything* in the execution
environment can impact the operation of something as benign as
array_merge().

Pete



[2007-04-01 22:51:22] judas dot iscariote at gmail dot com

Then tell use what the.. the getarray() function does **exactly**



[2007-03-31 15:06:34] Webbed dot Pete at gmail dot com

Description:

If I do 
{ 
  $from=getarray();
  $tgt=array_merge($to,$from); 
} 
all is well. But if I do 
{
  $tgt=array_merge($to,getarray());
}
then the page blows up with a 500 internal server error (and getarray()
is never called). 
I can't (yet) duplicate this as a simple test case; it only happens in
the middle of a large site source base.

This is on an Apache server (1.3.37) with PHP 5.2.1 running as CGI.

The *really* painful part is the 500 Internal Server Error, with no PHP
error messages of any kind. Made it incredibly painful to track this
down ;)

Reproduce code:
---
See above. I've not yet got a simple test case. All of the follow

#40967 [Bgs]: On hold until seen again

2007-04-03 Thread Webbed dot Pete at gmail dot com
 ID:   40967
 User updated by:  Webbed dot Pete at gmail dot com
-Summary:  Please read the report... not one that needs php
   script ;)
 Reported By:  Webbed dot Pete at gmail dot com
 Status:   Bogus
 Bug Type: Reproducible crash
 Operating System: Linux
 PHP Version:  5.2.1
 New Comment:

"It doesn't make much sense to keep the report in the current state"

I certainly agree! :)

"I can name you thousand reasons for this behaviour and all of
them has nothing to do with PHP."

Well, in this case it's clearly not the interpreter itself but MAY be
related to the PHP environment variables used for setup.

As you suggested, we'll ask our network to report any similar
situation(s).

Thanks much!


Previous Comments:


[2007-04-03 21:10:15] [EMAIL PROTECTED]

500 Error is not PHP problem.
Please reopen the report when/if you have more information on the issue
and how to reproduce it.
It doesn't make much sense to keep the report in the current state,
because I can name you thousand reasons for this behaviour and all of
them has nothing to do with PHP.



[2007-04-03 21:02:52] Webbed dot Pete at gmail dot com

Tony,

Sorry but the boilerplate response doesn't match the bug report.

I've already diagnosed the 'bug' as far as possible. Apparently the
real issue had more to do with a strange interaction with the run
environment more than with the code itself.

For now this might as well be placed on hold until someone else finds a
similar situation, because my host provider lost the 'buggy' version of
the php5-cgi-run script. 

For now, my hope is that this report will at least help others track
down the problem when they see similar attributes.



[2007-04-03 18:47:08] [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 ,
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.





[2007-04-02 09:06:51] Webbed dot Pete at gmail dot com

[To answer your question directly: the getarray() function retrieves an
array from an in-memory global cache var]

Actually, the getarray() function is immaterial; it's never called when
the system is set in "crash mode". I put a debug trace-to-file on the
line before and after the array_merge() call, and also as the first
element of the getarray() function. The debug trace inside getarray() is
never called while getarray() is embedded in the array_merge() call.

Now the good-yet-a-bit-frustrating news: we've resolved this issue, in
an unusual way. The solution may be informative to other hard to
track-down bugs.

Bottom line: the array_merge() problem went away when our webhost
company rebuilt the custom php5 cgi script that runs php5 in the
phpSuExec environment! How the execution environment can have any impact
on array_merge() is beyond me, but that's the facts.

How we found this. Told here for the benefit of others who may find
similarly troubling issues:
 
I discovered another 500 error that *did* point to execution
environment (crash on chdir() with 100% perfect permissions) and
reported it to our sitehost tech support, who escalated it to top tier
support.

The chdir() crash was recognized as a phpSuExec issue, specifically "a
problem with our php5 cgi script that launches PHP5 with custom
configuration options which resulted in premature end of script headers
errors."

Unfortunately, the corrupted cgi script was not saved for analysis.
They simply ran their rebuild-php5-environment script, overwriting the
whole thing.

In retrospect, they suspect an update to cPanel may have corrupted the
script. The conversation continues: if an update did this, then perhaps
other servers in their farm have the same problem and can be diff'd with
mine. They don't keep backups of these scripts since they can be
auto-gen'd.

I hope that helps! I'm still amazed that *anything* in the execution
environment can impact the operation of something as benign as
array_merge().

Pete



[2007-04-01 22:51:22] judas dot iscariote at gmail dot com

Then tell use what the.. the getarray() function does **exactly**



The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report 

#40894 [Asn->Csd]: fix for bug #38770 causes more harm than good on big-endian 64bit

2007-04-03 Thread iliaa
 ID:  40894
 Updated by:  [EMAIL PROTECTED]
 Reported By: mmarek at suse dot cz
-Status:  Assigned
+Status:  Closed
 Bug Type:*Programming Data Structures
 PHP Version: 5.2.1
 Assigned To: iliaa
 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.




Previous Comments:


[2007-03-22 15:59:03] mmarek at suse dot cz

Description:

Fix for bug #38770 breaks unpack() on big-endian 64bit, because it
reads uninitialized memory or memory that doesn't relate to the data
being processed.

In
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/pack.c?r1=1.62&r2=1.63

input[inputpos + machine_endian_long_map[3]] will read
input[inputpos+7] when unpacking 4 bytes.

Please revert the fix, as it tries to fix a questionable issue (-3
simply doesn't fit into unsigned type) and causes trouble in cases where
it worked before (eg. pear is not even installable on POWER, b/c
install-pear-nozlib.phar makes heavy use of unpack()).

Reproduce code:
---
run

  print_r( unpack( "V", pack( "V", 200 ) ));

several times on ppc64.

Expected result:

It should output

Array
(
[1] => 200
)

all the time.

Actual result:
--
# ./sapi/cli/php -r 'print_r( unpack( "V", pack( "V", 200 ) ));'
Array
(
[1] => 200
)
# ./sapi/cli/php -r 'print_r( unpack( "V", pack( "V", 200 ) ));'
Array
(
[1] => -2147483448
)
# ./sapi/cli/php -r 'print_r( unpack( "V", pack( "V", 200 ) ));'
Array
(
[1] => 200
)
# ./sapi/cli/php -r 'print_r( unpack( "V", pack( "V", 200 ) ));'
Array
(
[1] => 200
)
# ./sapi/cli/php -r 'print_r( unpack( "V", pack( "V", 200 ) ));'
Array
(
[1] => -2147483448
)






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


#40841 [Asn->Fbk]: #38770/#40543 Not fixed on Solaris 10

2007-04-03 Thread iliaa
 ID:   40841
 Updated by:   [EMAIL PROTECTED]
 Reported By:  lovan at lifesci dot ucsb dot edu
-Status:   Assigned
+Status:   Feedback
 Bug Type: Unknown/Other Function
 Operating System: Solaris 10
 PHP Version:  5.2.1
 Assigned To:  iliaa
 New Comment:

Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.2-win32-latest.zip




Previous Comments:


[2007-03-30 01:35:24] brian at eng dot wayne dot edu

Sorry, I should have said - not exactly the same but similar:


Warning: unpack(): Type V: not enough input, need 4, have 0 in
/usr/people/brian
/php5.2-200703280830/pear/install-pear-nozlib.phar on line 290

Warning: unpack(): Type V: not enough input, need 4, have 0 in
/usr/people/brian
/php5.2-200703280830/pear/install-pear-nozlib.phar on line 302

Warning: array_values(): The argument should be an array in
/usr/people/brian/ph
p5.2-200703280830/pear/install-pear-nozlib.phar on line 302

Notice: Undefined offset:  5 in
/usr/people/brian/php5.2-200703280830/pear/insta
ll-pear-nozlib.phar on line 304

Notice: Undefined offset:  2 in
/usr/people/brian/php5.2-200703280830/pear/insta
ll-pear-nozlib.phar on line 311

Notice: Undefined offset:  5 in
/usr/people/brian/php5.2-200703280830/pear/insta
ll-pear-nozlib.phar on line 312

Fatal error: Error: "index.php" is not a file in phar
"install-pear-nozlib.phar"
 in /usr/people/brian/php5.2-200703280830/pear/install-pear-nozlib.phar
on line
543



[2007-03-30 01:32:02] brian at eng dot wayne dot edu

I'm seeing the same error message on SGI IRIX 6.5/64-bit using the
commercial IRIX MIPSPro C compiler.



[2007-03-20 16:41:24] lovan at lifesci dot ucsb dot edu

I'm saying that the 5.2.0 unpack core dumped under GCC 4.1.2 on Solaris
10 but worked on Solaris 10 if compiled using the Sun C compiler.

I'm also saying that the 5.2.1 unpack reports spurious errors instead
of core dumping (regardless of compiler) on Solaris 10.



[2007-03-20 14:57:41] [EMAIL PROTECTED]

so you are saying that PHP 5.2.0 worked fine on Solaris 10, but PHP 
5.2.1 doesn't?  The phar did not change between PHP 5.2.0 and PHP 
5.2.1.

That sounds like a regression in unpack(), not a phar issue.

Changing to feedback to confirm that I understand the user's last 
comment, and re-assigning to tony, with the assumption that it is an 
unpack() regression



[2007-03-19 19:17:01] lovan at lifesci dot ucsb dot edu

Update: I tried compiling 5.2.0 to see if I could narrow the problem.

First I compiled it using GCC 4.1.2 (CFLAGS="-m64 -mcpu=v9").  When
this binary attempted to unpack the phar archives, it segfaulted.

I then compiled it using SunPro CC (CFLAGS="-xtarget=ultra -xarch=v9b
-xcode=pic32").  This compiled and installed cleanly though it fails
many more pieces of a "make test".



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

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


#40749 [Asn->Fbk]: pack and unpack erroneous behavior on 64bits hosts

2007-04-03 Thread iliaa
 ID:   40749
 Updated by:   [EMAIL PROTECTED]
 Reported By:  ben at ateor dot com
-Status:   Assigned
+Status:   Feedback
 Bug Type: Unknown/Other Function
 Operating System: OpenBSD amd64 and sparc64
 PHP Version:  5.2.1
 Assigned To:  iliaa
 New Comment:

Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.2-win32-latest.zip




Previous Comments:


[2007-03-16 14:03:01] martin at netimage dot dk

It appears that the sign bit is taken from LSB instead of MSB

> php -r 'print_r( unpack('N',pack('N',127)));'
Array
(
[1] => 127
)

> php -r 'print_r( unpack('N',pack('N',128)));'
Array
(
[1] => -2147483520
)

The last number is 2's complement of -128 for 32 bit integers

Cheers



[2007-03-14 20:57:41] pz at mysqlperformanceblog dot com

In any case if you call it bug or a feature this is serious behavior
change for something which a lot of people could be depending on. 

It breaks in MySQL 5.2.0 -> 5.2.1  which is minor version upgrade.



[2007-03-09 09:06:47] windeler at mediafinanz dot de

Here is another example of a problem with unpack on 64bit systems. It
worked in 5.1.6, but with 5.2.1 the results are bogus.

The expected value from the file content is 200, but PHP says
-2147483448 when I echo $a['i'].





[2007-03-07 17:12:58] ben at ateor dot com

Description:

This is a follow-up on #40543 (http://bugs.php.net/bug.php?id=40543,
since
that bug is closed, I can't add comments). 
Please note : it's not identical to #4053 (other weird behaviors 
are demonstrated).

Iliaa,
Not sure why you suggest to use little endian or host conversions
routines,
but in my standpoint if you reverse twice a number's byte ordering
then you should get the original number back (assuming the number
don't
overflows php's internals).

At least, that's the standard behavior for perl and python.

Beside, I can't see why php should handles those endianness
conversions
differently on an i386 (32 bits) and on an x86_64 (64 bits), both
having the same byte order.

The following on a 64bit, little endian host :
x86_64$ uname -mprsv
OpenBSD 4.0 GENERIC#0 amd64 AMD Sempron(tm) Processor 3400+

x86_64$ perl -e 'print unpack("N", pack("N", 41445)) ."\n"'
41445

x86_64$ python
Python 2.4.3 (#1, Sep  6 2006, 20:33:08)
[GCC 3.3.5 (propolice)] on openbsd4
Type "help", "copyright", "credits" or "license" for more information.
>>> from struct import *
>>> unpack('>L', pack('>L', 41445))
(41445L,)

And, indeed :
#include 
#include 
int main(void)
{
u_int32_t x, y, z; /* 32 bits unsigned longs */
x = 41445;
/* conv host (little) to network (big endian) long : pack("N",
41445) */
y = htonl(x);
/* conv network (big endian) to host (little) long :
unpack("N", ...) */
z = ntohl(y);
printf("Host : %li\nBig : %li\nHost : %li\n", x, y, z);
return 0;
}

x86_64$ gcc conv.c -o conv ; ./conv
Host : 41445
Big : -442433536
Host : 41445

But still (PHP 5.2.2-dev (cli) (built: Feb 27 2007 22:10:11)) :
x86_64$ php -r 'print_r(unpack("N", pack("N", 41445)));'
Array
(
[1] => -2147442203
)

While on a plain old x86 little endian host (PHP 4.4.0), we get
a different result :
i386_32$ uname -mprsv
OpenBSD 3.9 GENERIC#0 i386 Intel(R) Pentium(R) 4 CPU 1.70GHz
("GenuineIntel" 686-class)
i386_32$ php -r 'print_r(unpack("N", pack("N", 41445)));'
Array
(
[1] => 41445
)

Still on the 64 bits little endian host :
x86_64$ php -r '$a = unpack("N", pack("N", 65536));
printf("$a[1]\n");'
65536   # Ok
x86_64$ php -r '$a = unpack("N", pack("N", 65535));
printf("$a[1]\n");'
-2147418113 # Weird

x86_64$ php -r '$a = unpack("N", pack("N", 0x1234)); printf("0x%x\n",
$a[1]);'
0x1234 # Ok
x86_64$ php -r '$a = unpack("L", pack("N", 0x1234)); printf("0x%x\n",
$a[1]);'
0x3412 # Ok
x86_64$ php -r '$a = unpack("L", pack("L", 0x)); printf("0x%x\n",
$a[1]);'
0x # Ok
x86_64$ php -r '$a = unpack("N", pack("N", 0x)); printf("0x%x\n",
$a[1]);'
0x8000 # The doc says "N" gives you "always 32 bit", and we
get
   # 8 bytes. No wonder why we overflow.
x86_64$ php -r '$a = unpack("N", pack("N", 0xff )); printf("0x%x\n",
$a[1]);'
0x80ff # Same. Don't tell me 0xff is too large.

And now, all the following tests are on a 64 bits _big endian_ host
(sparc64, running php-5.2.1) :
sparc64$ uname -mprsv
OpenBSD 3.8 GENERIC#607 sparc64 SUNW,UltraSPARC-IIi @ 440 MHz, version
0 FPU
sparc64$ php -r '$a = unpack("N", pack("N", 0x)); printf("0x%x\n",
$a[1]);'
0x # Ok
# The same, but prefixing  to the argument :
sparc64$ php -

#40985 [Fbk]: CLI version crashes while trying to shutdown, using tsrm_shutdown()

2007-04-03 Thread fmk
 ID:   40985
 Updated by:   [EMAIL PROTECTED]
 Reported By:  charlie at lemurconsulting dot com
 Status:   Feedback
 Bug Type: Reproducible crash
 Operating System: Windows XP
 PHP Version:  5.2.1
 New Comment:

This seams to me like a problem outside of PHP. The xapian extension
create module globals but does not do any cleanup. Looks to me like it
can be solved with code like this:

PHP_MSHUTDOWN_FUNCTION(printer)
{
#ifdef ZTS
ts_free_id(printer_globals_id);
#else
php_printer_shutdown(&printer_globals TSRMLS_CC);
#endif
UNREGISTER_INI_ENTRIES();
return SUCCESS;
}

I have not tested anything, but just remembering the same type of
problem with the printer (and other) exntension in the past.


Previous Comments:


[2007-04-03 18:40:33] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.2-win32-latest.zip





[2007-04-03 15:00:21] daniel dot menard at bdsp dot tm dot fr

The same bug appear with the cgi version.

The only known workaround for now is to patch php_cgi.c in the same
way, removing any call to tsrm_shutdown()



[2007-04-03 14:00:47] charlie at lemurconsulting dot com

Description:

While trying to make the Xapian (www.xapian.org) PHP bindings work on
Windows using Visual C++, we found that the CLI version of PHP would
crash when unloading the bindings. The bindings are written using SWIG.
PHP appears to be trying to unload resources when the crash occurs. The
crash does not occur on earlier versions of PHP i.e. 4.4.6

Reproduce code:
---
The following patch fixes the problem and has been used as a
workaround:
  Patch php_cli.c as follows by commenting out line 1283:
#ifdef ZTS
/*tsrm_shutdown(); */
#endif

Expected result:

No crash :)

Actual result:
--
n/a





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


#40986 [Opn->Bgs]: mssql_field_name() retrieves only first 30 characters

2007-04-03 Thread fmk
 ID:   40986
 Updated by:   [EMAIL PROTECTED]
 Reported By:  Arne dot Heizmann at csr dot com
-Status:   Open
+Status:   Bogus
 Bug Type: MSSQL related
 Operating System: Windows 2000
 PHP Version:  5.2.1
 New Comment:

This is a limit in the MSSQL library (ntwdblib.dll) used to build the
extension. Use the php_dblib.dll version of the extension. This version
is build with FreeTDS and does not have these limitations.

This has been reported many times before. Please search the archives
before posting the same bugs over and over.


Previous Comments:


[2007-04-03 17:43:05] Arne dot Heizmann at csr dot com

Description:

The function mssql_field_name() appears to return only the first 30
characters of the field name.

Reproduce code:
---


Expected result:

'This is a field name that is longer than 30 characters'

Actual result:
--
'This is a field name that is l'





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


#40987 [NEW]: SVN PECL extension does not properly prototype all its functions

2007-04-03 Thread edwardzyang at thewritingpot dot com
From: edwardzyang at thewritingpot dot com
Operating system: 
PHP version:  6CVS-2007-04-03 (CVS)
PHP Bug Type: Unknown/Other Function
Bug description:  SVN PECL extension does not properly prototype all its 
functions

Description:

The svn extension does not properly prototype all of its PHP_FUNCTION
declarations. Thus, when xml_proto.php is run on it, it misses some of the
functions. Below is a patch that adds prototype declarations to:

svn_auth_get_parameter
svn_auth_set_parameter
svn_cat
svn_client_version
svn_import
svn_log

Index: svn.c
===
RCS file: /repository/pecl/svn/svn.c,v
retrieving revision 1.23
diff -u -r1.23 svn.c
--- svn.c   18 Apr 2006 03:11:52 -  1.23
+++ svn.c   3 Apr 2007 22:07:41 -
@@ -312,6 +312,8 @@
SVN_G(ctx)->auth_baton = ab;
 }
 
+/* {{{ proto string svn_auth_get_parameter(string key)
+   Retrieves authentication parameter at key */
 PHP_FUNCTION(svn_auth_get_parameter)
 {
char *key;
@@ -329,7 +331,10 @@
RETURN_STRING((char*)value, 1);
}
 }
+/* }}} */
 
+/* {{{ proto void svn_auth_set_parameter(string key, string value)
+   Sets authentication parameter at key to value */
 PHP_FUNCTION(svn_auth_set_parameter)
 {
char *key, *value;
@@ -342,7 +347,10 @@
 
svn_auth_set_parameter(SVN_G(ctx)->auth_baton, apr_pstrdup(SVN_G(pool),
key), apr_pstrdup(SVN_G(pool), value));
 }
+/* }}} */
 
+/* {{{ proto bool svn_import(string path, string url, bool nonrecursive)
+   Imports unversioned path into repository at url */
 PHP_FUNCTION(svn_import)
 {
svn_client_commit_info_t *commit_info_p = NULL;
@@ -379,6 +387,7 @@
svn_pool_destroy(subpool);
 
 }
+/* }}} */
 
 /* {{{ PHP_MINIT_FUNCTION */
 PHP_MINIT_FUNCTION(svn)
@@ -530,6 +539,8 @@
 /* }}} */
 
 
+/* {{{ proto string svn_cat(string repos_url[, int revision_no])
+   Returns the contents of repos_url, optionally at revision_no */
 PHP_FUNCTION(svn_cat)
 {
char *repos_url = NULL;
@@ -597,8 +608,11 @@
svn_pool_destroy(subpool);
if (retdata) efree(retdata);
 }
+/* }}} */
 
 
+/* {{{ proto array svn_ls(string repos_url[, int revision_no])
+   Returns list of directory contents in repos_url, optionally at
revision_no */
 PHP_FUNCTION(svn_ls)
 {
char *repos_url = NULL;
@@ -702,6 +716,7 @@
svn_pool_destroy(subpool);

 }
+/* }}} */
 
 static svn_error_t *
 php_svn_log_message_receiver ( void *baton,
@@ -779,7 +794,9 @@
add_next_index_zval(return_value, row); 
return SVN_NO_ERROR;
 }
- 
+
+/* {{{ proto array svn_log(string repos_url[, int revision_no])
+   Returns the commit log messages of repos_url, optionally at
revision_no */
 PHP_FUNCTION(svn_log)
 {
const char *repos_url = NULL, *utf8_repos_url = NULL; 
@@ -844,6 +861,7 @@
 
svn_pool_destroy(subpool);
 }
+/* }}} */
 
 static size_t php_apr_file_write(php_stream *stream, const char *buf,
size_t count TSRMLS_DC)
 {
@@ -1881,6 +1899,8 @@
snprintf(buf, buflen, "%d.%d.%d", vers->major, vers->minor,
vers->patch);
 }
 
+/* {{{ proto string svn_client_version()
+   Returns the version of the SVN client libraries */
 PHP_FUNCTION(svn_client_version)
 {
char vers[128];
@@ -1892,6 +1912,7 @@
php_svn_get_version(vers, sizeof(vers));
RETURN_STRING(vers, 1);
 }
+/* }}} */
 
 /* {{{ proto resource svn_repos_fs_begin_txn_for_commit(resource repos,
long rev, string author, string log_msg)
create a new transaction */


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

#40987 [Opn->Bgs]: SVN PECL extension does not properly prototype all its functions

2007-04-03 Thread tony2001
 ID:  40987
 Updated by:  [EMAIL PROTECTED]
 Reported By: edwardzyang at thewritingpot dot com
-Status:  Open
+Status:  Bogus
 Bug Type:Unknown/Other Function
 PHP Version: 6CVS-2007-04-03 (CVS)
 New Comment:

It would be better to upload this patch somewhere and put the link in
the report.
Also PECL bugs should be reported in PECL bug tracker:
http://pecl.php.net/bugs/search.php?cmd=display&status=Open&package_name[]=svn


Previous Comments:


[2007-04-03 22:14:59] edwardzyang at thewritingpot dot com

Description:

The svn extension does not properly prototype all of its PHP_FUNCTION
declarations. Thus, when xml_proto.php is run on it, it misses some of
the functions. Below is a patch that adds prototype declarations to:

svn_auth_get_parameter
svn_auth_set_parameter
svn_cat
svn_client_version
svn_import
svn_log

Index: svn.c
===
RCS file: /repository/pecl/svn/svn.c,v
retrieving revision 1.23
diff -u -r1.23 svn.c
--- svn.c   18 Apr 2006 03:11:52 -  1.23
+++ svn.c   3 Apr 2007 22:07:41 -
@@ -312,6 +312,8 @@
SVN_G(ctx)->auth_baton = ab;
 }
 
+/* {{{ proto string svn_auth_get_parameter(string key)
+   Retrieves authentication parameter at key */
 PHP_FUNCTION(svn_auth_get_parameter)
 {
char *key;
@@ -329,7 +331,10 @@
RETURN_STRING((char*)value, 1);
}
 }
+/* }}} */
 
+/* {{{ proto void svn_auth_set_parameter(string key, string value)
+   Sets authentication parameter at key to value */
 PHP_FUNCTION(svn_auth_set_parameter)
 {
char *key, *value;
@@ -342,7 +347,10 @@
 
svn_auth_set_parameter(SVN_G(ctx)->auth_baton,
apr_pstrdup(SVN_G(pool), key), apr_pstrdup(SVN_G(pool), value));
 }
+/* }}} */
 
+/* {{{ proto bool svn_import(string path, string url, bool
nonrecursive)
+   Imports unversioned path into repository at url */
 PHP_FUNCTION(svn_import)
 {
svn_client_commit_info_t *commit_info_p = NULL;
@@ -379,6 +387,7 @@
svn_pool_destroy(subpool);
 
 }
+/* }}} */
 
 /* {{{ PHP_MINIT_FUNCTION */
 PHP_MINIT_FUNCTION(svn)
@@ -530,6 +539,8 @@
 /* }}} */
 
 
+/* {{{ proto string svn_cat(string repos_url[, int revision_no])
+   Returns the contents of repos_url, optionally at revision_no */
 PHP_FUNCTION(svn_cat)
 {
char *repos_url = NULL;
@@ -597,8 +608,11 @@
svn_pool_destroy(subpool);
if (retdata) efree(retdata);
 }
+/* }}} */
 
 
+/* {{{ proto array svn_ls(string repos_url[, int revision_no])
+   Returns list of directory contents in repos_url, optionally at
revision_no */
 PHP_FUNCTION(svn_ls)
 {
char *repos_url = NULL;
@@ -702,6 +716,7 @@
svn_pool_destroy(subpool);

 }
+/* }}} */
 
 static svn_error_t *
 php_svn_log_message_receiver ( void *baton,
@@ -779,7 +794,9 @@
add_next_index_zval(return_value, row); 
return SVN_NO_ERROR;
 }
- 
+
+/* {{{ proto array svn_log(string repos_url[, int revision_no])
+   Returns the commit log messages of repos_url, optionally at
revision_no */
 PHP_FUNCTION(svn_log)
 {
const char *repos_url = NULL, *utf8_repos_url = NULL; 
@@ -844,6 +861,7 @@
 
svn_pool_destroy(subpool);
 }
+/* }}} */
 
 static size_t php_apr_file_write(php_stream *stream, const char *buf,
size_t count TSRMLS_DC)
 {
@@ -1881,6 +1899,8 @@
snprintf(buf, buflen, "%d.%d.%d", vers->major, vers->minor,
vers->patch);
 }
 
+/* {{{ proto string svn_client_version()
+   Returns the version of the SVN client libraries */
 PHP_FUNCTION(svn_client_version)
 {
char vers[128];
@@ -1892,6 +1912,7 @@
php_svn_get_version(vers, sizeof(vers));
RETURN_STRING(vers, 1);
 }
+/* }}} */
 
 /* {{{ proto resource svn_repos_fs_begin_txn_for_commit(resource
repos, long rev, string author, string log_msg)
create a new transaction */






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


#40987 [Bgs]: SVN PECL extension does not properly prototype all its functions

2007-04-03 Thread edwardzyang at thewritingpot dot com
 ID:  40987
 User updated by: edwardzyang at thewritingpot dot com
 Reported By: edwardzyang at thewritingpot dot com
 Status:  Bogus
 Bug Type:Unknown/Other Function
 PHP Version: 6CVS-2007-04-03 (CVS)
 New Comment:

I was wondering why there was no PECL category in this bugtracker!
Thanks for the pointer.


Previous Comments:


[2007-04-03 22:18:19] [EMAIL PROTECTED]

It would be better to upload this patch somewhere and put the link in
the report.
Also PECL bugs should be reported in PECL bug tracker:
http://pecl.php.net/bugs/search.php?cmd=display&status=Open&package_name[]=svn



[2007-04-03 22:14:59] edwardzyang at thewritingpot dot com

Description:

The svn extension does not properly prototype all of its PHP_FUNCTION
declarations. Thus, when xml_proto.php is run on it, it misses some of
the functions. Below is a patch that adds prototype declarations to:

svn_auth_get_parameter
svn_auth_set_parameter
svn_cat
svn_client_version
svn_import
svn_log

Index: svn.c
===
RCS file: /repository/pecl/svn/svn.c,v
retrieving revision 1.23
diff -u -r1.23 svn.c
--- svn.c   18 Apr 2006 03:11:52 -  1.23
+++ svn.c   3 Apr 2007 22:07:41 -
@@ -312,6 +312,8 @@
SVN_G(ctx)->auth_baton = ab;
 }
 
+/* {{{ proto string svn_auth_get_parameter(string key)
+   Retrieves authentication parameter at key */
 PHP_FUNCTION(svn_auth_get_parameter)
 {
char *key;
@@ -329,7 +331,10 @@
RETURN_STRING((char*)value, 1);
}
 }
+/* }}} */
 
+/* {{{ proto void svn_auth_set_parameter(string key, string value)
+   Sets authentication parameter at key to value */
 PHP_FUNCTION(svn_auth_set_parameter)
 {
char *key, *value;
@@ -342,7 +347,10 @@
 
svn_auth_set_parameter(SVN_G(ctx)->auth_baton,
apr_pstrdup(SVN_G(pool), key), apr_pstrdup(SVN_G(pool), value));
 }
+/* }}} */
 
+/* {{{ proto bool svn_import(string path, string url, bool
nonrecursive)
+   Imports unversioned path into repository at url */
 PHP_FUNCTION(svn_import)
 {
svn_client_commit_info_t *commit_info_p = NULL;
@@ -379,6 +387,7 @@
svn_pool_destroy(subpool);
 
 }
+/* }}} */
 
 /* {{{ PHP_MINIT_FUNCTION */
 PHP_MINIT_FUNCTION(svn)
@@ -530,6 +539,8 @@
 /* }}} */
 
 
+/* {{{ proto string svn_cat(string repos_url[, int revision_no])
+   Returns the contents of repos_url, optionally at revision_no */
 PHP_FUNCTION(svn_cat)
 {
char *repos_url = NULL;
@@ -597,8 +608,11 @@
svn_pool_destroy(subpool);
if (retdata) efree(retdata);
 }
+/* }}} */
 
 
+/* {{{ proto array svn_ls(string repos_url[, int revision_no])
+   Returns list of directory contents in repos_url, optionally at
revision_no */
 PHP_FUNCTION(svn_ls)
 {
char *repos_url = NULL;
@@ -702,6 +716,7 @@
svn_pool_destroy(subpool);

 }
+/* }}} */
 
 static svn_error_t *
 php_svn_log_message_receiver ( void *baton,
@@ -779,7 +794,9 @@
add_next_index_zval(return_value, row); 
return SVN_NO_ERROR;
 }
- 
+
+/* {{{ proto array svn_log(string repos_url[, int revision_no])
+   Returns the commit log messages of repos_url, optionally at
revision_no */
 PHP_FUNCTION(svn_log)
 {
const char *repos_url = NULL, *utf8_repos_url = NULL; 
@@ -844,6 +861,7 @@
 
svn_pool_destroy(subpool);
 }
+/* }}} */
 
 static size_t php_apr_file_write(php_stream *stream, const char *buf,
size_t count TSRMLS_DC)
 {
@@ -1881,6 +1899,8 @@
snprintf(buf, buflen, "%d.%d.%d", vers->major, vers->minor,
vers->patch);
 }
 
+/* {{{ proto string svn_client_version()
+   Returns the version of the SVN client libraries */
 PHP_FUNCTION(svn_client_version)
 {
char vers[128];
@@ -1892,6 +1912,7 @@
php_svn_get_version(vers, sizeof(vers));
RETURN_STRING(vers, 1);
 }
+/* }}} */
 
 /* {{{ proto resource svn_repos_fs_begin_txn_for_commit(resource
repos, long rev, string author, string log_msg)
create a new transaction */






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


#40841 [Fbk->Opn]: #38770/#40543 Not fixed on Solaris 10

2007-04-03 Thread lovan at lifesci dot ucsb dot edu
 ID:   40841
 User updated by:  lovan at lifesci dot ucsb dot edu
 Reported By:  lovan at lifesci dot ucsb dot edu
-Status:   Feedback
+Status:   Open
 Bug Type: Unknown/Other Function
 Operating System: Solaris 10
 PHP Version:  5.2.1
 Assigned To:  iliaa
 New Comment:

CVS snapshot 200704032230 is successful in unpacking the PEAR archive
file.


Previous Comments:


[2007-04-03 22:00:03] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.2-win32-latest.zip





[2007-03-30 01:35:24] brian at eng dot wayne dot edu

Sorry, I should have said - not exactly the same but similar:


Warning: unpack(): Type V: not enough input, need 4, have 0 in
/usr/people/brian
/php5.2-200703280830/pear/install-pear-nozlib.phar on line 290

Warning: unpack(): Type V: not enough input, need 4, have 0 in
/usr/people/brian
/php5.2-200703280830/pear/install-pear-nozlib.phar on line 302

Warning: array_values(): The argument should be an array in
/usr/people/brian/ph
p5.2-200703280830/pear/install-pear-nozlib.phar on line 302

Notice: Undefined offset:  5 in
/usr/people/brian/php5.2-200703280830/pear/insta
ll-pear-nozlib.phar on line 304

Notice: Undefined offset:  2 in
/usr/people/brian/php5.2-200703280830/pear/insta
ll-pear-nozlib.phar on line 311

Notice: Undefined offset:  5 in
/usr/people/brian/php5.2-200703280830/pear/insta
ll-pear-nozlib.phar on line 312

Fatal error: Error: "index.php" is not a file in phar
"install-pear-nozlib.phar"
 in /usr/people/brian/php5.2-200703280830/pear/install-pear-nozlib.phar
on line
543



[2007-03-30 01:32:02] brian at eng dot wayne dot edu

I'm seeing the same error message on SGI IRIX 6.5/64-bit using the
commercial IRIX MIPSPro C compiler.



[2007-03-20 16:41:24] lovan at lifesci dot ucsb dot edu

I'm saying that the 5.2.0 unpack core dumped under GCC 4.1.2 on Solaris
10 but worked on Solaris 10 if compiled using the Sun C compiler.

I'm also saying that the 5.2.1 unpack reports spurious errors instead
of core dumping (regardless of compiler) on Solaris 10.



[2007-03-20 14:57:41] [EMAIL PROTECTED]

so you are saying that PHP 5.2.0 worked fine on Solaris 10, but PHP 
5.2.1 doesn't?  The phar did not change between PHP 5.2.0 and PHP 
5.2.1.

That sounds like a regression in unpack(), not a phar issue.

Changing to feedback to confirm that I understand the user's last 
comment, and re-assigning to tony, with the assumption that it is an 
unpack() regression



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

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


#40841 [Opn->Csd]: #38770/#40543 Not fixed on Solaris 10

2007-04-03 Thread iliaa
 ID:   40841
 Updated by:   [EMAIL PROTECTED]
 Reported By:  lovan at lifesci dot ucsb dot edu
-Status:   Open
+Status:   Closed
 Bug Type: Unknown/Other Function
 Operating System: Solaris 10
 PHP Version:  5.2.1
 Assigned To:  iliaa
 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.




Previous Comments:


[2007-04-03 23:02:44] lovan at lifesci dot ucsb dot edu

CVS snapshot 200704032230 is successful in unpacking the PEAR archive
file.



[2007-04-03 22:00:03] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.2-win32-latest.zip





[2007-03-30 01:35:24] brian at eng dot wayne dot edu

Sorry, I should have said - not exactly the same but similar:


Warning: unpack(): Type V: not enough input, need 4, have 0 in
/usr/people/brian
/php5.2-200703280830/pear/install-pear-nozlib.phar on line 290

Warning: unpack(): Type V: not enough input, need 4, have 0 in
/usr/people/brian
/php5.2-200703280830/pear/install-pear-nozlib.phar on line 302

Warning: array_values(): The argument should be an array in
/usr/people/brian/ph
p5.2-200703280830/pear/install-pear-nozlib.phar on line 302

Notice: Undefined offset:  5 in
/usr/people/brian/php5.2-200703280830/pear/insta
ll-pear-nozlib.phar on line 304

Notice: Undefined offset:  2 in
/usr/people/brian/php5.2-200703280830/pear/insta
ll-pear-nozlib.phar on line 311

Notice: Undefined offset:  5 in
/usr/people/brian/php5.2-200703280830/pear/insta
ll-pear-nozlib.phar on line 312

Fatal error: Error: "index.php" is not a file in phar
"install-pear-nozlib.phar"
 in /usr/people/brian/php5.2-200703280830/pear/install-pear-nozlib.phar
on line
543



[2007-03-30 01:32:02] brian at eng dot wayne dot edu

I'm seeing the same error message on SGI IRIX 6.5/64-bit using the
commercial IRIX MIPSPro C compiler.



[2007-03-20 16:41:24] lovan at lifesci dot ucsb dot edu

I'm saying that the 5.2.0 unpack core dumped under GCC 4.1.2 on Solaris
10 but worked on Solaris 10 if compiled using the Sun C compiler.

I'm also saying that the 5.2.1 unpack reports spurious errors instead
of core dumping (regardless of compiler) on Solaris 10.



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

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


#40988 [NEW]: Can't use a sendmail_path with whitespace

2007-04-03 Thread webmaster at wiedmann-online dot de
From: webmaster at wiedmann-online dot de
Operating system: Windows_NT
PHP version:  5.2.1
PHP Bug Type: *Mail Related
Bug description:  Can't use a sendmail_path with whitespace 

Description:

If I have the sendmail binary in a path with a whitespace, PHP can't
open/find this program, because the path is not quotet in the popen call
(mail.c).

On *nix this is not a problem, because on *nix you escape a space with a
backslash (Program\ Files) and don't quote the hole path ("Program Files")
like on Windows. And a backslash I can add myself in php.ini.

BTW:
A 8.3 name (PROGRA~1) will still work on Windows, if it's not disabled in
the NTFS settings.


Reproduce code:
---
[php.ini]
sendmail_path = "C:\Pogram Files\sendmail\sendmail.exe -t"




Expected result:

Mail is send without problems.


Actual result:
--
'C:\Program' is not recognized as an internal or external command,
operable program or batch file.


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


#40858 [Asn->Fbk]: Thread safety issue in GD

2007-04-03 Thread pajoye
 ID:   40858
 Updated by:   [EMAIL PROTECTED]
 Reported By:  scottmacvicar at ntlworld dot com
-Status:   Assigned
+Status:   Feedback
 Bug Type: GD related
 Operating System: RHEL 4
 PHP Version:  5.2.1
 Assigned To:  pajoye
 New Comment:

Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.2-win32-latest.zip




Previous Comments:


[2007-03-23 12:39:34] scottmacvicar at ntlworld dot com

I don't have access to a Windows machine at the moment but the
following patch should fix the issues in libGD, I'll try and do a test
when I have access to the machine.

PHP 5.2 Patch: http://public.vbulletin.com/bugs/php/gd-mutex-patch.txt
libGD Patch:
http://public.vbulletin.com/bugs/php/libgd-mutex-patch.txt

Explanation:
* pthread now initialises the mutex only once
* win32 can set the mutex within DLLMain
* Race condition fix by locking prior to checking font cache

Problems not fixed:
* calling gdFontCacheSetup before obtaining a lock is going to cause
the race condition still, I know the ruby wrappers do this.
* Unusure about behaviour of using the non bundled GD library on
windows with PHP since DLLMain and gdFontCacheMutexSetup may setup the
critical section twice. Could make gdMutexSetup(x) a no-op for win32
too.



[2007-03-23 01:21:26] [EMAIL PROTECTED]

Hi Scott, Nuno,

"Regarding the patch to the bundled GD library and the php wrapper,
does it look reasonable? We've been running it for the past 2 days now
without issue on a production server. I'd rather see something put
into
5.2.2 "

Yes, the patch for php (and unix) looks good. I will apply it during
the weekend as well (or Nuno, you can do it if you have the time
before).

For the windows version, that's a good news, thanks to take the time to
work on it.



[2007-03-23 00:31:35] scottmacvicar at ntlworld dot com

I have some time to spare over the weekend and a copy of VC6 installed
now so I'll have a go at the win32 implementation.

Regarding the patch to the bundled GD library and the php wrapper, does
it look reasonable? We've been running it for the past 2 days now
without issue on a production server. I'd rather see something put into
5.2.2 and then fix libGD.



[2007-03-22 23:15:13] [EMAIL PROTECTED]

yep, having a statically declared mutex would fix the problems we are
having. I've a patch identical to yours
(http://mega.ist.utl.pt/~ncpl/libgd_mutexes.txt) for a while, but we are
still waiting for a win32 implementation to merge the patches (there is
another open bug report in the gd bugs db about a similar issue) to
definitely fix those nasty TS issues.



[2007-03-21 01:37:18] scottmacvicar at ntlworld dot com

Patch is available at
http://public.vbulletin.com/bugs/php/gd-mutex-patch.txt

Quick explanation:
* The mutex is created at module startup and destroyed at module
shutdown courtesy of two new helper functions within the libGD code
base.
* The mutex is no longer destroyed at request shutdown.
* Locking is performed prior to checking fontCache to prevent the race
condition we're seeing.

This can't be merged back into libGD at the moment since it breaks
backwards compatibility by assuming a mutex has been allocated, the way
to fix this for pthread is fairly easy.

#define gdMutexDeclare(x) pthread_mutex_t x
#define gdMutexDeclare(x) pthread_mutex_t x
becomes
#define gdMutexDeclare(x) static pthread_mutex_t x =
PTHREAD_MUTEX_INITIALIZER
#define gdMutexSetup(x)

That would just leave the win32 implementation to deal with via
DLLMain, a quick patch to add that would only take a few minutes though
I don't have VC6 installed yet.



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

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


#40989 [NEW]: PHPinfo output truncated

2007-04-03 Thread matt dot parrett at gmail dot com
From: matt dot parrett at gmail dot com
Operating system: RHEL-latest
PHP version:  5.2.1
PHP Bug Type: Unknown/Other Function
Bug description:  PHPinfo output truncated

Description:

php 5.2.1 compiled with: 

'./configure' '--prefix=/usr/local/php-5.2.1'
'--with-apxs2=/usr/local/apache2.2/bin/apxs' '--with-mysql' '--with-mysqli'
'--with-gd' '--with-pear' '--with-zlib-dir=/usr' '--with-mysql=/opt'
'--with-jpeg-dir=/opt' '--with-png-dir=/opt'

 seems to give truncated output when viewed in a
browser. Using wget to retrieve the page gives the expected result. php -i
gives proper output. 

It seems like PHP or our configuration of PHP is doing something wacky
with the headers. Not really sure what to look at though. I've configured
everything by the book, and have used the same configuration on another
server without trouble. 

Additionally, IE attempts to display the page, then has second thoughts
and says 'page cannot be displayed'. We are having similar weird issues
with some of our scripts, and found that the simple phpinfo page does the
same thing.

This is a brand new server with fresh compiles of Apache 2.2 and PHP 5.2.1
- I've tested with PHP 4.4.4 (similar compilation options) and get the same
result. 

Reproduce code:
---


Expected result:

Full PHPinfo with PHP Variables section at the bottom.

Actual result:
--
Output ends prior to HTTP Headers Information. 

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