#44340 [Bgs]: Openbasedir and symlinks

2008-03-06 Thread nahuel dot angelinetti at revues dot org
 ID:   44340
 User updated by:  nahuel dot angelinetti at revues dot org
 Reported By:  nahuel dot angelinetti at revues dot org
 Status:   Bogus
 Bug Type: Safe Mode/open_basedir
 Operating System: Debian etch
 PHP Version:  5.2.5
 New Comment:

No, the link IS in the open_basedir. The link created create this link
:
/www/something/mysite/yourstuff/another/mylink = ../../mytarget.html

And not :
/www/something/mysite/mylink = ../../mytarget.html


And the problem is it works well without open_basedir(and no link is
pointing outside the open_basedir).


Previous Comments:


[2008-03-05 23:43:12] [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

The link itself is outside of the allowable dir, hence the error.



[2008-03-05 16:44:38] nahuel dot angelinetti at revues dot org

Description:

When we have an openbasedir like :
/www/something/mysite/

and subdirs like :
/www/something/mysite/yourstuff/another/

When my script is running in /www/something/mysite/ and I want to
create a link in the another directory to a file in mysite
(../../myfile.html)

Reproduce code:
---
execute in /www/something/mysite/
?php

symlink(../../mytarget.html,yourstuff/another/mylink);

?

my target is in :
/www/something/mysite/mytarget.html

and mylink is in :
www/something/mysite/yourstuff/another/mylink


Expected result:

Just to create links that source and destination ARE in the openbasedir
!

Actual result:
--
It say I'm out of the openbasedir, but the link isn't.





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



#44047 [Com]: IIS Worker Process stopped working

2008-03-06 Thread satan at dclxvi dot nl
 ID:   44047
 Comment by:   satan at dclxvi dot nl
 Reported By:  matthew dot horner at redprairie dot com
 Status:   Open
 Bug Type: IIS related
 Operating System: Windows Vista
 PHP Version:  5.2.5
 New Comment:

to be clear, these are my settings:

Recycle time is set to the default every 1740 minutes.
Idle timeout is set to '0'
Disable Overlapped Recycle is set to 'True'

never had the error again...
no horrible workarround whatsoever.. it's just that IIS7 is defaultly
configured to run MS stuff like ASP.NET etc..


Previous Comments:


[2008-03-06 10:13:01] satan at dclxvi dot nl

Also, I found out the solution that it won't error on recycle...

go to the advanced settings of the appPool you are using and set
Disable Overlapped Recycle to True. 

PHP5 can't seam to run multiple instances so it errors out when it
starts a new instance before it recycles the old..

And again with the idle timeout set to 0, it will still recycle..



[2008-03-06 09:39:53] satan at dclxvi dot nl

it will still recycle if you set it to 0, it just won't time out.. on
higher traffic servers it will will never timeout and there's no problem
there, is there? the recycling is another setting..

besides, this has little or nothing to do with php, as it also occurs
after running asp..



[2008-03-04 15:25:29] nick at databasedevelopments dot com

Same issue here on Vista Ultimate and PHP5.2.5 with IIS7



[2008-03-04 00:57:46] nonya at spam dot this

Yea, that is a horrible idea.  You are literally telling IIS to never
clean it's caches or do garbage collection on the AppPools.  I am sure
that there are more critical consequences on high-volume web servers if
you decide to do this.

PHP just fix it



[2008-03-03 13:52:11] matthew dot horner at redprairie dot com

Setting the recycle time to 0 would not be considered a solution, but
rather a workaround.  The solution to the problem would require a code
change.  That change would resolve the issue, so that the workaround
would not have to be applied.  This change to standard code would also
avoid changing standard configuration of the IIS server for _every_
instance that has a PHP 5 installation.



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

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



#44293 [Fbk-Opn]: realpath does not follow Virtual directory

2008-03-06 Thread mmichel at chez dot com
 ID:   44293
 User updated by:  mmichel at chez dot com
 Reported By:  mmichel at chez dot com
-Status:   Feedback
+Status:   Open
 Bug Type: Filesystem function related
 Operating System: Win2003
 PHP Version:  5.2.5
 New Comment:

yes there is.

Elsewhere could be accessed with ../../Elsewhere from the root
directory of the website.

Virtual Directories in IIS try to mimic symlinks, but they are not real
files that can be tracked down like symlinks. This may be the problem
determining the realpath.


Previous Comments:


[2008-03-05 09:28:21] [EMAIL PROTECTED]

So is there some path in your filesystem called Elsewhere which is
relative to the current working directory? If there is, then this is a
bug, but if there isn't, then it's not a bug.



[2008-03-03 15:03:10] mmichel at chez dot com

 Try adding the trailing slash in the directory..

No change.



[2008-03-03 14:48:34] [EMAIL PROTECTED]

Try adding the trailing slash in the directory..



[2008-03-03 14:31:58] mmichel at chez dot com

Addendum from my 3 Mar 1:56pm UTC comment:
Whilst php is able to give me the realpath of the script
http://localhost/elsewhere/test.php , asking for the realpath of
http://localhost/elsewhere in the http://localhost/local/test.php script
fails.



[2008-03-03 14:17:37] mmichel at chez dot com

@jani: typo was in the comment, not in my code. I checked :-)



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

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



#44047 [Com]: IIS Worker Process stopped working

2008-03-06 Thread satan at dclxvi dot nl
 ID:   44047
 Comment by:   satan at dclxvi dot nl
 Reported By:  matthew dot horner at redprairie dot com
 Status:   Open
 Bug Type: IIS related
 Operating System: Windows Vista
 PHP Version:  5.2.5
 New Comment:

it will still recycle if you set it to 0, it just won't time out.. on
higher traffic servers it will will never timeout and there's no problem
there, is there? the recycling is another setting..

besides, this has little or nothing to do with php, as it also occurs
after running asp..


Previous Comments:


[2008-03-04 15:25:29] nick at databasedevelopments dot com

Same issue here on Vista Ultimate and PHP5.2.5 with IIS7



[2008-03-04 00:57:46] nonya at spam dot this

Yea, that is a horrible idea.  You are literally telling IIS to never
clean it's caches or do garbage collection on the AppPools.  I am sure
that there are more critical consequences on high-volume web servers if
you decide to do this.

PHP just fix it



[2008-03-03 13:52:11] matthew dot horner at redprairie dot com

Setting the recycle time to 0 would not be considered a solution, but
rather a workaround.  The solution to the problem would require a code
change.  That change would resolve the issue, so that the workaround
would not have to be applied.  This change to standard code would also
avoid changing standard configuration of the IIS server for _every_
instance that has a PHP 5 installation.



[2008-03-02 12:27:34] satan at dclxvi dot nl

lol, your test is the solution... where you set it idle time out to 1
to test it earlier, just set it to '0'. it will error out once more and
the next time it starts it will stay on.. there is no problem with
leaving it on..



[2008-02-29 04:37:22] nonya at spam dot this

To elaborate on Matthew, (Every PHP5\Vista\IIS7 machine I have every
worked on does this; 20+ machines)

The same error can be achieved back-to-back simply by running any PHP,
which in turn will add 1 active application to the DefaultAppPool.  This
is visible in the IIS7 Manager.  You can select the DefaultAppPool and
click Recycle..., wait 3-5 secs (because WerFault.exe kicks in,
Windows Error Reporting Service) and you have a IIS Worker Process has
failed message with the event in the windows event log the way Matt
described which says the fault came from c:\windows\system32\ntdll.dll

If the PHP dev guys are trying to recreate this issue, you need to be
using Latest PHP5/IIS7/ISAPI-Configuration/Vista

This has been going on since Vista RC1.  Everyone who is not getting
this error may not be complaining because the error doesn't seem to do
major damage.

The closest thing to a resolution I have seen since the release of
Vista is to just adjust the timing of the automated recycle cycle. 
Since the error is only occurring during recycling, they have been
scheduling 1 recycle per day, hence 1 crash per day.

There are many, many, many, MANY forums and support threads with people
having the same problem, they just aren't posting here.
Here are a few:
forums.techarena.in/showthread.php?t=686723
www.developersdex.com/asp/message.asp?p=592r=6057007
www.issociate.de/board/post/468636/IIS_+_PHP_--_Worker_Process_alert__w3wp.exe_crash?.html
forums.techarena.in/showthread.php?t=821723
groups.google.com/group/comp.lang.php/browse_thread/thread/93aef1ff2f0ba3b0
www.thescripts.com/forum/thread742344.html



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

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



#44047 [Com]: IIS Worker Process stopped working

2008-03-06 Thread satan at dclxvi dot nl
 ID:   44047
 Comment by:   satan at dclxvi dot nl
 Reported By:  matthew dot horner at redprairie dot com
 Status:   Open
 Bug Type: IIS related
 Operating System: Windows Vista
 PHP Version:  5.2.5
 New Comment:

Also, I found out the solution that it won't error on recycle...

go to the advanced settings of the appPool you are using and set
Disable Overlapped Recycle to True. 

PHP5 can't seam to run multiple instances so it errors out when it
starts a new instance before it recycles the old..

And again with the idle timeout set to 0, it will still recycle..


Previous Comments:


[2008-03-06 09:39:53] satan at dclxvi dot nl

it will still recycle if you set it to 0, it just won't time out.. on
higher traffic servers it will will never timeout and there's no problem
there, is there? the recycling is another setting..

besides, this has little or nothing to do with php, as it also occurs
after running asp..



[2008-03-04 15:25:29] nick at databasedevelopments dot com

Same issue here on Vista Ultimate and PHP5.2.5 with IIS7



[2008-03-04 00:57:46] nonya at spam dot this

Yea, that is a horrible idea.  You are literally telling IIS to never
clean it's caches or do garbage collection on the AppPools.  I am sure
that there are more critical consequences on high-volume web servers if
you decide to do this.

PHP just fix it



[2008-03-03 13:52:11] matthew dot horner at redprairie dot com

Setting the recycle time to 0 would not be considered a solution, but
rather a workaround.  The solution to the problem would require a code
change.  That change would resolve the issue, so that the workaround
would not have to be applied.  This change to standard code would also
avoid changing standard configuration of the IIS server for _every_
instance that has a PHP 5 installation.



[2008-03-02 12:27:34] satan at dclxvi dot nl

lol, your test is the solution... where you set it idle time out to 1
to test it earlier, just set it to '0'. it will error out once more and
the next time it starts it will stay on.. there is no problem with
leaving it on..



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

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



#40163 [Com]: UNC Path not working

2008-03-06 Thread brianelley at gmail dot com
 ID:   40163
 Comment by:   brianelley at gmail dot com
 Reported By:  coyle at washpenn dot com
 Status:   No Feedback
 Bug Type: Directory function related
 Operating System: Windows 2003
 PHP Version:  5.2.0
 New Comment:

I don't know why this is was not continued by Coyle, but, this bug is
still persisting even today. I am bound with this setup because of some
other packages but I am unable to create folders or files on a network.
This is really critical for the application. 

Can some one please reopen this bug as this is really urgent and its
been a week that I am struggling with this. 

Brian.. [EMAIL PROTECTED]


Previous Comments:


[2007-01-28 01:00:01] php-bugs at lists dot php dot net

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



[2007-01-20 22:48:58] [EMAIL PROTECTED]

You do need to escape \ even under single quotes, so your first example
is fine:

$path = 'server\\share\\directory\\';

Are you running PHP under a web server? This sounds to me like
permissions issue? Could you try running php.exe from command line and
see if the result is any different.



[2007-01-19 14:33:54] coyle at washpenn dot com

Above:
$path = '\\server\share\directory'; 
Should be:
$path = 'server\share\directory';

I am running out of things to try here.  When I print $path, I get a
valid UNC path with no spaces anywhere but I still get the error above.



[2007-01-19 14:27:23] coyle at washpenn dot com

$path = server\\share\\directory;
or
$path = '\\server\share\directory';

Doesn't matter which I try ... I've tried many different combinations
to produce the path in both 5.2.0 or 5.2.1 RC4-dev and none of them
work.  Everything was fine in php = 5.1.6



[2007-01-19 14:09:15] [EMAIL PROTECTED]

Double slashes are needed only with double quotes, because  \x means
an escape character.



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

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



#44047 [Opn]: IIS Worker Process stopped working

2008-03-06 Thread matthew dot horner at redprairie dot com
 ID:   44047
 User updated by:  matthew dot horner at redprairie dot com
 Reported By:  matthew dot horner at redprairie dot com
 Status:   Open
 Bug Type: IIS related
 Operating System: Windows Vista
 PHP Version:  5.2.5
 New Comment:

I would still consider this a workaround, as this is not standard
procedure for installing ISAPI modules in IIS7.  Furthermore, this issue
is not an issue with PHP 4.  Which to me, would indicate there is
something coded differently with PHP 5 to cause the crash when recycling
the process.  Also, reconfiguring the Application Pool, affects more
than just your pool hosting PHP driven applications.  What side effects 
there are, is unclear to me, but certainly not something I would like to
find out about once a site is in production.

I posted this bug because I would like to have the PHP developers debug
this issue and determine if there is indeed a code problem or a problem
with IIS7.  Not to have a workaround to avoid crashes on IIS7.

I am not disputing the fact that your solution works.  However, this
appears to be an issue and should be addressed at the PHP level first. 


Thank you for your suggestions.


Previous Comments:


[2008-03-06 10:36:54] satan at dclxvi dot nl

to be clear, these are my settings:

Recycle time is set to the default every 1740 minutes.
Idle timeout is set to '0'
Disable Overlapped Recycle is set to 'True'

never had the error again...
no horrible workarround whatsoever.. it's just that IIS7 is defaultly
configured to run MS stuff like ASP.NET etc..



[2008-03-06 10:13:01] satan at dclxvi dot nl

Also, I found out the solution that it won't error on recycle...

go to the advanced settings of the appPool you are using and set
Disable Overlapped Recycle to True. 

PHP5 can't seam to run multiple instances so it errors out when it
starts a new instance before it recycles the old..

And again with the idle timeout set to 0, it will still recycle..



[2008-03-06 09:39:53] satan at dclxvi dot nl

it will still recycle if you set it to 0, it just won't time out.. on
higher traffic servers it will will never timeout and there's no problem
there, is there? the recycling is another setting..

besides, this has little or nothing to do with php, as it also occurs
after running asp..



[2008-03-04 15:25:29] nick at databasedevelopments dot com

Same issue here on Vista Ultimate and PHP5.2.5 with IIS7



[2008-03-04 00:57:46] nonya at spam dot this

Yea, that is a horrible idea.  You are literally telling IIS to never
clean it's caches or do garbage collection on the AppPools.  I am sure
that there are more critical consequences on high-volume web servers if
you decide to do this.

PHP just fix 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/44047

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



#44350 [NEW]: Problem 10GB

2008-03-06 Thread markers at mail333 dot com
From: markers at mail333 dot com
Operating system: Win XP  Win 2k3
PHP version:  5.2.5
PHP Bug Type: Scripting Engine problem
Bug description:  Problem 10GB

Description:

ENGLISH:
php.ini
; Maximum allowed size for uploaded files.
upload_max_filesize = 10G
Result: -x

 input type=hidden name=MAX_FILE_SIZE value=100

Uploading file size 2mb
Result: $_FILES[upload_file]['error'] = 2 (The file is bigger than this
form allows)

RUSSIAN:
#1050;#1086;#1075;#1076;#1072;
#1079;#1072;#1076;#1072;#1105;#1084;
#1084;#1072;#1082;#1089;#1080;#1084;#1072;#1083;#1100;#1085;#1099;#1081;
#1088;#1072;#1079;#1084;#1077;#1088;
#1092;#1072;#1081;#1083;#1072; #1074; php.ini 10
#1075;#1080;#1075;#1072;#1073;#1072;#1081;#1090;:
; Maximum allowed size for uploaded files.
upload_max_filesize = 10G
#1080;/#1080;#1083;#1080; #1089;#1090;#1072;#1074;#1080;#1084;
#1086;#1075;#1088;#1072;#1085;#1080;#1095;#1077;#1085;#1080;#1077;
#1085;#1072; #1088;#1072;#1079;#1084;#1077;#1088;
#1092;#1072;#1081;#1083;#1072;
#1080;#1089;#1087;#1086;#1083;#1100;#1079;#1091;#1103;
#1087;#1086;#1083;#1077; MAX_FILE_SIZE:
 input type=hidden name=MAX_FILE_SIZE value=100
PHP #1074;#1086;#1079;#1074;#1088;#1072;#1097;#1072;#1077;#1090;
#1086;#1096;#1080;#1073;#1082;#1091;
($_FILES[upload_file]['error'])
#1088;#1072;#1074;#1085;#1099;#1084; 2
(#1056;#1072;#1079;#1084;#1077;#1088;
#1092;#1072;#1081;#1083;#1072;
#1073;#1086;#1083;#1100;#1096;#1077;
#1086;#1075;#1088;#1072;#1085;#1080;#1095;#1077;#1085;#1080;#1103;
#1092;#1086;#1088;#1084;#1099;)
#1042;#1086;#1079;#1084;#1086;#1078;#1085;#1086; #1083;#1080;
#1088;#1077;#1096;#1077;#1085;#1080;#1077;?




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



#43053 [Com]: Scientific notation

2008-03-06 Thread rbro at hotmail dot com
 ID:   43053
 Comment by:   rbro at hotmail dot com
 Reported By:  owner at dragon-hearts dot net
 Status:   Verified
 Bug Type: Scripting Engine problem
 Operating System: Centos4
 PHP Version:  5CVS-2007-10-25
 New Comment:

I agree - to me, this is a BC break that wasn't listed on any changelog
or announcement.  I have been holding off on upgrading my PHP version to
anything later than 5.2.1 because of this issue.


Previous Comments:


[2008-03-04 23:07:43] tech at dragonara dot net

We have the same bug, and really - cPanel does not support 5.1 anymore,
so we are really in stupid situation.



[2008-02-09 13:20:23] lhfagundes at gmail dot com

This gets bad if the float is casted to string (which happens if it
goes through requests):

$x = 12.00;
echo $x . \n;
echo (int)$x . \n;
$x = $x;
echo (int) $x . \n;

In PHP 4.4.2 (I guess in earlier php5 too)

12
12
12

now:

1.2E+9
12
1



[2008-01-28 13:39:47] gcleaves at yahoo dot com dot au

Same problem:

PHP Version 5.2.4
Windows NT HGCT-SQL 5.2 build 3790
Apache 2.0 Handler



[2008-01-26 02:18:38] [EMAIL PROTECTED]

This issue is still present in PHP 5.2.5 (FreeBSD). It only happens on
some floats. 

If there is a reason for using E-notation in this case - which could be
argued, although I feel changing past behavior is not necessary,
especially as MySQL has trouble handling these values in common
scenarios - it should be made consistent so people can depend on it and
prevent problems by testing.

?php

echo phpversion() . \n;
echo 270.0;
echo \n;
echo 280.0;
echo \n;
echo 290.0;
echo \n;

?

devwh:~ php floats.php
5.2.1
270
280
290

test:~ php floats.php
5.2.4
270
2.8E+6
290

toms1:~ php floats.php
5.2.5
270
2.8E+6
290



[2008-01-18 21:42:38] nate at recoverydatabase dot net

We just got bit by this on one of our servers running Fedora 7 and PHP
5.2.4 installed via yum.  The others not causing any headaches are
running Fedora 6 and PHP 5.1.6.

It's not just a display problem - we have a mysql database with very
large values in the primary keys, and when this server tries to insert
data, or display, or lookup information based on those values it fails
miserably.

A php.ini option to disable the notation behavior would be nice.  As
for right now I must get back to downgrading.  :(



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

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



#44351 [NEW]: PHP 5.2.6RC1 mysqli fails to build with mysql 5.1.23, gcc 4.3.0

2008-03-06 Thread bero at arklinux dot org
From: bero at arklinux dot org
Operating system: Ark Linux
PHP version:  5.2.6RC1
PHP Bug Type: Compile Failure
Bug description:  PHP 5.2.6RC1  mysqli fails to build with mysql 5.1.23, gcc 
4.3.0

Description:

/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c: In function
'zif_mysqli_change_user':
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c:420: error:
'NET' has no member named 'last_errno'
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c:420: error:
'NET' has no member named 'last_errno'
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c:420: error:
'NET' has no member named 'last_error'
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c: In function
'zif_mysqli_kill':
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c:1152: error:
'NET' has no member named 'last_errno'
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c:1152: error:
'NET' has no member named 'last_errno'
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c:1152: error:
'NET' has no member named 'last_error'
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c: In function
'zif_mysqli_ping':
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c:1333: error:
'NET' has no member named 'last_errno'
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c:1333: error:
'NET' has no member named 'last_errno'
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c:1333: error:
'NET' has no member named 'last_error'
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c: In function
'zif_mysqli_prepare':
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c:1376: error:
'NET' has no member named 'last_errno'
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c:1377: error:
'NET' has no member named 'last_error'
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c:1383: error:
'NET' has no member named 'last_errno'
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c:1383: error:
'NET' has no member named 'last_errno'
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c:1383: error:
'NET' has no member named 'last_error'
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c: In function
'zif_mysqli_real_connect':
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c:1456: error:
'NET' has no member named 'last_errno'
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c:1457: error:
'NET' has no member named 'last_error'
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c: In function
'zif_mysqli_real_query':
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c:1495: error:
'NET' has no member named 'last_errno'
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c:1495: error:
'NET' has no member named 'last_errno'
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c:1495: error:
'NET' has no member named 'last_error'
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c: In function
'zif_mysqli_select_db':
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c:1764: error:
'NET' has no member named 'last_errno'
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c:1764: error:
'NET' has no member named 'last_errno'
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c:1764: error:
'NET' has no member named 'last_error'
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c: In function
'zif_mysqli_store_result':
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c:2061: error:
'NET' has no member named 'last_errno'
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c:2061: error:
'NET' has no member named 'last_errno'
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c:2061: error:
'NET' has no member named 'last_error'
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c: In function
'zif_mysqli_use_result':
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c:2115: error:
'NET' has no member named 'last_errno'
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c:2115: error:
'NET' has no member named 'last_errno'
/usr/src/ark/BUILD/php-5.2.6RC1/ext/mysqli/mysqli_api.c:2115: error:
'NET' has no member named 'last_error'



-- 
Edit bug report at http://bugs.php.net/?id=44351edit=1
-- 
Try a CVS snapshot (PHP 5.2): 
http://bugs.php.net/fix.php?id=44351r=trysnapshot52
Try a CVS snapshot (PHP 5.3): 
http://bugs.php.net/fix.php?id=44351r=trysnapshot53
Try a CVS snapshot (PHP 6.0): 
http://bugs.php.net/fix.php?id=44351r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=44351r=fixedcvs
Fixed in release: 
http://bugs.php.net/fix.php?id=44351r=alreadyfixed
Need backtrace:   http://bugs.php.net/fix.php?id=44351r=needtrace
Need Reproduce Script:http://bugs.php.net/fix.php?id=44351r=needscript
Try newer version:http://bugs.php.net/fix.php?id=44351r=oldversion
Not developer issue:  http://bugs.php.net/fix.php?id=44351r=support
Expected behavior:http://bugs.php.net/fix.php?id=44351r=notwrong
Not enough info:  

#44351 [Opn]: PHP 5.2.6RC1 mysqli fails to build with mysql 5.1.23, gcc 4.3.0

2008-03-06 Thread bero at arklinux dot org
 ID:   44351
 User updated by:  bero at arklinux dot org
 Reported By:  bero at arklinux dot org
 Status:   Open
 Bug Type: Compile Failure
 Operating System: Ark Linux
 PHP Version:  5.2.6RC1
 New Comment:

last_error and last_errno have been renamed to client_last_error and
client_last_errno respectively in current mysql 5.1.x builds, causing
this.

Here's a fix:

--- php-5.2.6RC1/ext/mysqli/mysqli_api.c.ark2008-03-06
17:47:10.0 +
+++ php-5.2.6RC1/ext/mysqli/mysqli_api.c2008-03-06
17:57:43.0 +
@@ -1373,8 +1373,13 @@
stmt-stmt = NULL;

/* restore error messages */
+#if MYSQL_VERSION_ID = 50123
+   mysql-mysql-net.client_last_errno =
last_errno;
+   memcpy(mysql-mysql-net.client_last_error,
last_error, MYSQL_ERRMSG_SIZE);
+#else
mysql-mysql-net.last_errno = last_errno;
memcpy(mysql-mysql-net.last_error,
last_error, MYSQL_ERRMSG_SIZE);
+#endif
memcpy(mysql-mysql-net.sqlstate, sqlstate,
SQLSTATE_LENGTH+1);
}
}
@@ -1453,8 +1458,13 @@

if
(mysql_real_connect(mysql-mysql,hostname,username,passwd,dbname,port,socket,flags)
== NULL) {
php_mysqli_set_error(mysql_errno(mysql-mysql), (char
*) mysql_error(mysql-mysql) TSRMLS_CC);
+#if MYSQL_VERSION_ID = 50123
+   php_mysqli_throw_sql_exception(
mysql-mysql-net.sqlstate, mysql-mysql-net.client_last_errno
TSRMLS_CC,
+  
%s, mysql-mysql-net.client_last_error);
+#else
php_mysqli_throw_sql_exception(
mysql-mysql-net.sqlstate, mysql-mysql-net.last_errno TSRMLS_CC,
   
%s, mysql-mysql-net.last_error);
+#endif

/* change status */
MYSQLI_SET_STATUS(mysql_link,
MYSQLI_STATUS_INITIALIZED);
--- php-5.2.6RC1/ext/mysqli/mysqli_nonapi.c.ark 2008-03-06
17:58:00.0 +
+++ php-5.2.6RC1/ext/mysqli/mysqli_nonapi.c 2008-03-06
17:59:37.0 +
@@ -106,8 +106,13 @@
if
(mysql_real_connect(mysql-mysql,hostname,username,passwd,dbname,port,socket,CLIENT_MULTI_RESULTS)
== NULL) {
/* Save error messages */

+#if MYSQL_VERSION_ID = 50123
+   php_mysqli_throw_sql_exception(
mysql-mysql-net.sqlstate, mysql-mysql-net.client_last_errno
TSRMLS_CC,
+  
%s, mysql-mysql-net.client_last_error);
+#else
php_mysqli_throw_sql_exception(
mysql-mysql-net.sqlstate, mysql-mysql-net.last_errno TSRMLS_CC,
   
%s, mysql-mysql-net.last_error);
+#endif

php_mysqli_set_error(mysql_errno(mysql-mysql), (char
*) mysql_error(mysql-mysql) TSRMLS_CC);

@@ -212,9 +217,14 @@
MYSQLI_DISABLE_MQ;

/* restore error information */
+#if MYSQL_VERSION_ID = 50123
+   strcpy(mysql-mysql-net.client_last_error, s_error);
+   mysql-mysql-net.client_last_errno = s_errno;
+#else
strcpy(mysql-mysql-net.last_error, s_error);
-   strcpy(mysql-mysql-net.sqlstate, s_sqlstate);
mysql-mysql-net.last_errno = s_errno;
+#endif
+   strcpy(mysql-mysql-net.sqlstate, s_sqlstate);

RETURN_FALSE;
}
@@ -266,8 +276,13 @@
result = (resultmode == MYSQLI_USE_RESULT) ?
mysql_use_result(mysql-mysql) : mysql_store_result(mysql-mysql);

if (!result) {
+#if MYSQL_VERSION_ID = 50123
+  
php_mysqli_throw_sql_exception(mysql-mysql-net.sqlstate,
mysql-mysql-net.client_last_errno TSRMLS_CC,
+  
%s, mysql-mysql-net.client_last_error);
+#else
   
php_mysqli_throw_sql_exception(mysql-mysql-net.sqlstate,
mysql-mysql-net.last_errno TSRMLS_CC,
   
%s, mysql-mysql-net.last_error);
+#endif
RETURN_FALSE;
}

--- php-5.2.6RC1/ext/mysqli/php_mysqli.h.ark2008-03-06
17:53:55.0 +
+++ php-5.2.6RC1/ext/mysqli/php_mysqli.h2008-03-06
17:55:42.0 +
@@ -291,10 +291,17 @@
 #define MYSQLI_REPORT_CLOSE8
 #define MYSQLI_REPORT_ALL255

+#if MYSQL_VERSION_ID = 50123
+#define MYSQLI_REPORT_MYSQL_ERROR(mysql) \
+if ((MyG(report_mode)  MYSQLI_REPORT_ERROR) 
mysql-net.client_last_errno) { \
+   php_mysqli_report_error(mysql-net.sqlstate,
mysql-net.client_last_errno, mysql-net.client_last_error TSRMLS_CC);
\
+}
+#else
 #define MYSQLI_REPORT_MYSQL_ERROR(mysql) \
 if ((MyG(report_mode)  MYSQLI_REPORT_ERROR)  mysql-net.last_errno)
{ \

#44352 [NEW]: mysqli_connect_error() false negative for host errors

2008-03-06 Thread stein at visibone dot com
From: stein at visibone dot com
Operating system: Windows 2000
PHP version:  5.2.5
PHP Bug Type: MySQLi related
Bug description:  mysqli_connect_error() false negative for host errors

Description:

If you don't like this cramming of 4 bugs in 1, please consider this
solely a report of bug #1 which is the most serious.  Fix the first two
assert()'s in the reproduce code and call it a solved.

I think the mysqli connect-time error handling has a lot of bugs.  I hope
you'll bear with this report of 4 separate bugs.  They all contribute to a
very difficult time for PHP code to detect connection failure (as opposed
humans detecting it from warning messages in the output).  I hope someone
will find this a useful analysis of what goes wrong when connections go
wrong. 

Bug #1: a bad host (misspelled domain, server down) can't be detected by
mysqli_connect_error() or mysqli_connect_errno() -- they return empty
string and zero.  I have a hunch that in bug #30051 he actually detected
this problem at first, but then he brought up his server on localhost and
it went away so he closed his submission.  I think bug #31163 reported this
problem and then died of neglect.  Bug #31745 may have suffered from it,
but it seems to be more about exceptions versus error messages. 

Again, bug 1 is the most serious.  It breaks Example#1 on
http://www.php.net/manual/en/function.mysqli-connect.php when there's no
MySQL server running on localhost.  Bugs 2,3,4 make workarounds hard.

Bug #2: the object oriented constructor new mysqli never returns FALSE. 
This was reported in bug #32818 but waived off as a non-bug without
explanation.  The documentation for this constructor is smooshed in with
that of mysqli_connect(), where it states Returns ... FALSE if the
connection failed.  So I believe bug #32818 was not bogus, or the
documentation is.

Bug #3 $mysqli-error member never passes the isset() nor
property_exists() tests.  Not when the connection fails, nor when it works,
nor after a good query, nor a bad.  Maybe all mysqli properties suffer from
this.  The reproduce code demonstrates the same lapse for mysqli::error,
mysqli::errno, and mysqli_result::num_rows.  So this may be a defect of
mysqli or some faux pas of the PHP5 object model itself.  I could find no
existing bug that described it.

Bug #4 mysqli object limbo.  Connection failure is undetectable without
generating a warning.  new mysql returns what is by every diagnostic a
mysqli object. (get_class(), instanceof, and is_a() all say it is.)  But if
the connection failed, doing anything with the instance will give you the
ubiquitous and inscrutible Couldn't fetch mysqli warning.

Drastic workaround for object oriented (works around all four bugs):

 $mysqli = @new mysqli(...);
 if (NULL === @$mysqli-error) {
  die('connect fail: ' . mysqli_connect_error());
 }

This may break someday.  It's undocumented what the error member should do
if the connection succeeds, but it acually does become the empty string.

Gentle workaround for procedural, same as Example #2 in mysqli_connect()
manual page:

 $link = @mysqli_connect(...);
 if (FALSE === $link) {
  die('connect fail: ' . mysqli_connect_error());
 }

Although in either case the message will be blank for host errors.

I believe bug 1 is the serious one.  Classic mysql_connect() doesn't make
this mistake.  Bugs 2,3,4 are relatively minor quirks of the object model. 
All four bugs together make connection errors difficult to detect in the
code.

Reproduce code:
---
http://www.visibone.com/php/mysqli_connect_bugs.php.txt

If you find this too verbose, please concentrate on the first two
assert()'s.  Fix them and I'd call this issue closed.

Expected result:

Many of the assert()'s should fail, especially the ones commented // BUG

Actual result:
--
Testing... 2 tables ...Done.

(or a different number of tables)

I.e. no warnings, all assert()'s pass.

-- 
Edit bug report at http://bugs.php.net/?id=44352edit=1
-- 
Try a CVS snapshot (PHP 5.2): 
http://bugs.php.net/fix.php?id=44352r=trysnapshot52
Try a CVS snapshot (PHP 5.3): 
http://bugs.php.net/fix.php?id=44352r=trysnapshot53
Try a CVS snapshot (PHP 6.0): 
http://bugs.php.net/fix.php?id=44352r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=44352r=fixedcvs
Fixed in release: 
http://bugs.php.net/fix.php?id=44352r=alreadyfixed
Need backtrace:   http://bugs.php.net/fix.php?id=44352r=needtrace
Need Reproduce Script:http://bugs.php.net/fix.php?id=44352r=needscript
Try newer version:http://bugs.php.net/fix.php?id=44352r=oldversion
Not developer issue:  http://bugs.php.net/fix.php?id=44352r=support
Expected behavior:http://bugs.php.net/fix.php?id=44352r=notwrong
Not enough info:  
http://bugs.php.net/fix.php?id=44352r=notenoughinfo
Submitted twice:  

#44353 [NEW]: https loads in apache, fails on cli. http fine

2008-03-06 Thread jmatthies at townleyandassociates dot com
From: jmatthies at townleyandassociates dot com
Operating system: hp/ux 11.11
PHP version:  5.2.5
PHP Bug Type: CGI related
Bug description:  https loads in apache, fails on cli. http fine

Description:

simple php file:

?echo  file_get_contents('https://www.google.co.uk/ig?hl=en'); ?

works fine when loaded in apache 2.0.58. When i run it via the cli, I
get:

Warning: file_get_contents(): SSL: No such file or directory in file
Warning: file_get_contents(): Failed to enable crypto in file

If I change it to http://, it works in apache and the cli

Configure Command =  './configure'  '--prefix=/opt/hpws/apache/php'
'--enable-soap' '--with-libxml-dir=/usr/local' '--with-openssl=/usr/local'
'--with-openssl-dir=/usr/local' '--enable-ipv6'
'--with-apxs2=/opt/hpws/apache/bin/apxs' 
'--with -unixODBC=shared,/opt/unixODBC'

php -m shows the openssl module loaded. php -i shows similar output to
phpinfo() through apache in regards to openssl info.


Reproduce code:
---
?echo  file_get_contents('https://www.google.co.uk/ig?hl=en'); ?

Expected result:

load the web page in question

Actual result:
--
Warning: file_get_contents(): SSL: No such file or directory in
/opt/hpws/apache /htdocs/t.php on line 2
Warning: file_get_contents(): Failed to enable crypto in
/opt/hpws/apache/htdocs /t.php on line 2
Warning: file_get_contents(https://www.google.co.uk/ig?hl=en): failed to
open stream: Invalid argument in /opt/hpws/apache/htdocs/t.php on line 2


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



#44223 [Com]: round() sometimes returns value in E notation

2008-03-06 Thread a dot u dot savchuk at gmail dot com
 ID:   44223
 Comment by:   a dot u dot savchuk at gmail dot com
 Reported By:  kjohnson at zootweb dot com
 Status:   Open
 Bug Type: Math related
 Operating System: Linux 2.6.20.2
 PHP Version:  5.2.5
 New Comment:

bug is not fixed yet in php-5.2.5

$ ./sapi/cli/php ./test1.php | grep 'E+'
1.2E+6
1.4E+6
2.3E+6
2.4E+6
2.8E+6
3.3E+6
3.4E+6
3.8E+6
4.1E+6
4.3E+6
4.6E+6
4.8E+6
5.1E+6
5.3E+6
5.6E+6
5.8E+6
6.1E+6
6.3E+6
6.6E+6
6.8E+6
7.1E+6
7.3E+6
7.6E+6
7.8E+6
8.1E+6
8.2E+6
8.6E+6
8.7E+6
9.1E+6
9.2E+6
9.6E+6
9.7E+6

test script is:

$ cat ./test1.php
?php
for( $tmp = 0, $i = 0; $i  100; $i++ ) {
$tmp += 10;
echo round($tmp),\n;
}
?

php version is:

$ ./sapi/cli/php -v
PHP 5.2.5 (cli) (built: Mar  2 2008 02:27:40) (DEBUG)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies


Previous Comments:


[2008-02-25 16:08:01] kjohnson at zootweb dot com

Thanks for your response!

Sorry, I am not able to change my PHP version, so I can't try the CVS
snapshot.



[2008-02-24 19:51:06] [EMAIL PROTECTED]

Please try using this CVS snapshot:

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

For Windows (installer):

  http://snaps.php.net/win32/php5.2-win32-installer-latest.msi





[2008-02-22 22:20:33] kjohnson at zootweb dot com

Description:

For certain values, not necessarily large numbers, round() returns the
value in exponential notation instead of the usual decimal format. Some
of these special values are 120, 140, 230, 240.

It seems to be just certain multiples of 100,000. Generate your own
list with the code below. I suggest you start with input of:
Start = 100
Increment = 10
Iterations = 100 to 200

Reproduce code:
---
htmlheadtitle/title/headbody
form method=post action=?=$_SERVER['PHP_SELF']?
!-- some recommended values for next fields: 100, 10, 200 --
Start value:input type=text name=start nbsp;nbsp;
Increment: input type=text name=increment nbsp;nbsp;
Iterations: input type=text name=iterations
input type=submit
/form
?
if(count($_POST)) {
  echo pStart: , $_POST['start'], ; Increment: ,
$_POST['increment'], /p;

  $tmp = $_POST['start'];
  echo round($tmp),br;
  for($i = 0; $i  $_POST['iterations']; $i++ ) {
$tmp += $_POST['increment'];
echo round($tmp),br;
  }
}
?
/body/html

Expected result:

All values to be returned in standard decimal format, e.g., 120.

Actual result:
--
Certain values are returned in exponential format, e.g., 1.2E+6.





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



#34784 [Com]: Changed database context error when SELECT 33 columns

2008-03-06 Thread arn_schw at yahoo dot com
 ID:   34784
 Comment by:   arn_schw at yahoo dot com
 Reported By:  jwall at webpeak dot com
 Status:   Assigned
 Bug Type: MSSQL related
 Operating System: Windows XP
 PHP Version:  5CVS-2005-10-08 (snap)
 Assigned To:  fmk
 New Comment:

Hi , 
I've written this code to use the data stored in the data-base named
moviesite. The result is supposed to print the names of three different
movies each one time.But,I get each 51 times I couldn't get where the
error is present.So,please help me in rectifying my mistake..



?php

//connecting to mysql
$connect = mysql_connect ( localhost , root , ) 
   or die (  You can't be connected to the server  )
;
 
mysql_select_db (moviesite) ; 

$result = SELECT movie_name , movie_year  . 
FROM movie  . 
WHERE movie_year  1900  . 
ORDER BY movie_name  ; 

$res = mysql_query ( $result ) 
 or die ( mysql_error ( ) ) ; 


$st = 0 ; 

while( $ress = mysql_fetch_assoc ( $res ) )
{
 extract ( $ress ) ;
  echo $movie_name ; 
  echo br ; 
 $st = $st+1 ; 
}

echo Finally the number of times it is printed is.$st ; 

?


Previous Comments:


[2007-09-05 17:18:22] php at blazemonger dot com

I am seeing this error on *every* MSSQL query under PHP 5.2.2, on
Windows 2003 Server x64, in the apache 2.2.4 error log file.



[2007-07-03 23:39:38] vollmer at ampache dot org

I'm running into this same issue with large result sets. 

I am running a Debian ETCH server with Apache2/PHP5.2
dpkg --list | grep php 
ii  libapache2-mod-php5   5.2.0-8+etch4  
server-side, HTML-embedded scripting languag
ii  php-pear  5.2.0-8+etch4  
PEAR - PHP Extension and Application Reposit
ii  php5-cli  5.2.0-8+etch4  
command-line interpreter for the php5 script
ii  php5-common   5.2.0-8+etch4  
Common files for packages built from the php
ii  php5-curl 5.2.0-8+etch4  
CURL module for php5
ii  php5-gd   5.2.0-8+etch4  
GD module for php5
ii  php5-ldap 5.2.0-8+etch4  
LDAP module for php5
ii  php5-mcrypt   5.2.0-8+etch4  
MCrypt module for php5
ii  php5-mysql5.2.0-8+etch4  
MySQL module for php5
ii  php5-snmp 5.2.0-8+etch4  
SNMP module for php5
ii  php5-sybase   5.2.0-8+etch4  
Sybase / MS SQL Server module for php5

The exact error I am seeing is
Query: SELECT * FROM L_U_t_State WHERE Status='1' (51 Rows returned)
Error: Changed database context to 'RMS'.

Complexity or speed of query doesn't appear to matter, my larger
multi-table selects/joins/unions do not produce the same error. 

PHP Code that is producing the error message
?php
/* Run the query*/
$result = mssql_fetch_assoc($result_resource);

if (!$result) { 
debug_event('num_rows','Failed: ' . $sql . 
mssql_get_last_message(),'1'); 
} 

?


-Karl Vollmer



[2006-08-07 20:25:47] haunw at spcollege dot edu

I have this same issue on PHP 4.3.11(running as CGI) on Windows2000
server.

Happens intermittently.  Only pattern seems to be that it is when SQL
Server is running a bit slower.



[2006-06-16 14:14:51] hectorjazz at hotmail dot com

Corrected



[2006-06-16 14:13:21] hectprjazz at hotmail dot com

extension of PHP 4.4.x (mssql.dll) = SQL Server 2000

extension of PHP 4.3.x (mssql.dll) = SQL Server 7



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

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



#44354 [NEW]: php build fails due to permissions on /tmp/pear/cache from existing install

2008-03-06 Thread cos at aaaaa dot org
From: cos at a dot org
Operating system: RedHat Linux - RHEL 4
PHP version:  5.2.5
PHP Bug Type: Compile Failure
Bug description:  php build fails due to permissions on /tmp/pear/cache from 
existing install

Description:

I am trying to build PHP 5.2.5 for an RPM, on a system which already 
has PHP 5.2.4 installed (I built that RPM several months ago).  In 
order to build the RPM, I need to make and install into a temporary 
local directory, as an unprivileged user.  The build fails with this 
error:

Installing PEAR environment:  /hlg/rpmbuild/buildroot/php-5.2.5-1-
manual/usr/local/lib/php/download directory /tmp/pear/cache is not 
writeable.  Change download_dir config variable to a writeable dir
 ...

... followed by a series of related errors, and resulting in an 
incomplete install tree.

I think this bug someone filed with debian.org is the same problem:
  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=463979


Note: php.net directed me to file PEAR-related bugs on the PEAR web 
site; however, their bug system seems to only want bugs about to 
specific pear packages, so this problem did not seem to fit there.

Reproduce code:
---
Unpack PHP tarfile.
Configure it with the --with-pear option.

# mkdir -p /rpmbuild/buildroot/php-5.2.5-1-manual/etc/httpd/conf/
# cp -p /etc/httpd/conf/httpd.conf
/rpmbuild/buildroot/php-5.2.5-1-manual/etc/httpd/conf/
# make INSTALL_ROOT=/rpmbuild/buildroot/php-5.2.4-4-manual install



Expected result:

I expect a complete PHP install tree, with PEAR, in 
/rpmbuild/buildroot/php-5.2.5-1-manual/

Actual result:
--
Installing PHP SAPI module:   apache2handler
/usr/lib/httpd/build/instdso.sh SH_LIBTOOL='/bin/sh 
/usr/lib/apr/build/libtool' libphp5.la /rpmbuild/buildroot/php-5.2.4-
4-manual/usr/lib/httpd/modules
/bin/sh /usr/lib/apr/build/libtool --mode=install cp libphp5.la 
/rpmbuild/buildroot/php-5.2.4-4-manual/usr/lib/httpd/modules/
cp .libs/libphp5.so /rpmbuild/buildroot/php-5.2.4-4-
manual/usr/lib/httpd/modules/libphp5.so
cp .libs/libphp5.lai /rpmbuild/buildroot/php-5.2.4-4-
manual/usr/lib/httpd/modules/libphp5.la
libtool: install: warning: remember to run `libtool --finish 
/home/cos/php-5.2.4/libs'
chmod 755 /rpmbuild/buildroot/php-5.2.4-4-
manual/usr/lib/httpd/modules/libphp5.so
[activating module `php5' in /rpmbuild/buildroot/php-5.2.4-4-
manual/etc/httpd/conf/httpd.conf]
Installing PHP CLI binary:/rpmbuild/buildroot/php-5.2.4-4-
manual/usr/local/bin/
Installing PHP CLI man page:  /rpmbuild/buildroot/php-5.2.4-4-
manual/usr/local/man/man1/
Installing build environment: /rpmbuild/buildroot/php-5.2.4-4-
manual/usr/local/lib/php/build/
Installing header files:  /rpmbuild/buildroot/php-5.2.4-4-
manual/usr/local/include/php/
Installing helper programs:   /rpmbuild/buildroot/php-5.2.4-4-
manual/usr/local/bin/
  program: phpize
  program: php-config
Installing man pages: /rpmbuild/buildroot/php-5.2.4-4-
manual/usr/local/man/man1/
  page: phpize.1
  page: php-config.1
Installing PEAR environment:  /rpmbuild/buildroot/php-5.2.4-4-
manual/usr/local/lib/php/
download directory /tmp/pear/cache is not writeable.  Change 
download_dir config variable to a writeable dir
[PEAR] Console_Getopt: Cannot initialize 'phar://install-pear-
nozlib.phar/Console_Getopt-1.2.3.tar', invalid or missing package file
download directory /tmp/pear/cache is not writeable.  Change 
download_dir config variable to a writeable dir
[PEAR] Archive_Tar: Cannot initialize 'phar://install-pear-
nozlib.phar/Archive_Tar-1.3.2.tar', invalid or missing package file
download directory /tmp/pear/cache is not writeable.  Change 
download_dir config variable to a writeable dir
[PEAR] Structures_Graph: Cannot initialize 'phar://install-pear-
nozlib.phar/Structures_Graph-1.0.2.tar', invalid or missing package 
file
download directory /tmp/pear/cache is not writeable.  Change 
download_dir config variable to a writeable dir
[PEAR] PEAR: Cannot initialize 'phar://install-pear-nozlib.phar/PEAR-
1.6.1.tar', invalid or missing package file
Installing PDO headers:  /rpmbuild/buildroot/php-5.2.4-4-
manual/usr/local/include/php/ext/pdo/

(also at http://pastebin.com/f5c6ff39a )

-- 
Edit bug report at http://bugs.php.net/?id=44354edit=1
-- 
Try a CVS snapshot (PHP 5.2): 
http://bugs.php.net/fix.php?id=44354r=trysnapshot52
Try a CVS snapshot (PHP 5.3): 
http://bugs.php.net/fix.php?id=44354r=trysnapshot53
Try a CVS snapshot (PHP 6.0): 
http://bugs.php.net/fix.php?id=44354r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=44354r=fixedcvs
Fixed in release: 
http://bugs.php.net/fix.php?id=44354r=alreadyfixed
Need backtrace:   http://bugs.php.net/fix.php?id=44354r=needtrace
Need Reproduce Script:http://bugs.php.net/fix.php?id=44354r=needscript
Try newer version:http://bugs.php.net/fix.php?id=44354r=oldversion
Not developer 

#44354 [Opn]: php build fails due to permissions on /tmp/pear/cache from existing install

2008-03-06 Thread cos at aaaaa dot org
 ID:   44354
 User updated by:  cos at a dot org
 Reported By:  cos at a dot org
 Status:   Open
 Bug Type: Compile Failure
 Operating System: RedHat Linux - RHEL 4
 PHP Version:  5.2.5
 New Comment:

The key, I think, is the INSTALL_ROOT I defined for php's make.

In the past, I believe this affected the pear build as well; now, it 
seems the pear build done by the php Makefile does not look at this,
and 
instead uses the same temp dir and subdirectories as it would use at 
runtime, which is what puts it in conflict with what's already
installed 
and in use on the system.

However, I can't figure out what changed in PHP such that INSTALL_ROOT

used to be honored but now isn't.


Previous Comments:


[2008-03-06 21:41:29] cos at a dot org

Description:

I am trying to build PHP 5.2.5 for an RPM, on a system which already 
has PHP 5.2.4 installed (I built that RPM several months ago).  In 
order to build the RPM, I need to make and install into a temporary 
local directory, as an unprivileged user.  The build fails with this 
error:

Installing PEAR environment:  /hlg/rpmbuild/buildroot/php-5.2.5-1-
manual/usr/local/lib/php/download directory /tmp/pear/cache is not 
writeable.  Change download_dir config variable to a writeable dir
 ...

... followed by a series of related errors, and resulting in an 
incomplete install tree.

I think this bug someone filed with debian.org is the same problem:
  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=463979


Note: php.net directed me to file PEAR-related bugs on the PEAR web 
site; however, their bug system seems to only want bugs about to 
specific pear packages, so this problem did not seem to fit there.

Reproduce code:
---
Unpack PHP tarfile.
Configure it with the --with-pear option.

# mkdir -p /rpmbuild/buildroot/php-5.2.5-1-manual/etc/httpd/conf/
# cp -p /etc/httpd/conf/httpd.conf
/rpmbuild/buildroot/php-5.2.5-1-manual/etc/httpd/conf/
# make INSTALL_ROOT=/rpmbuild/buildroot/php-5.2.4-4-manual install



Expected result:

I expect a complete PHP install tree, with PEAR, in 
/rpmbuild/buildroot/php-5.2.5-1-manual/

Actual result:
--
Installing PHP SAPI module:   apache2handler
/usr/lib/httpd/build/instdso.sh SH_LIBTOOL='/bin/sh 
/usr/lib/apr/build/libtool' libphp5.la /rpmbuild/buildroot/php-5.2.4-
4-manual/usr/lib/httpd/modules
/bin/sh /usr/lib/apr/build/libtool --mode=install cp libphp5.la 
/rpmbuild/buildroot/php-5.2.4-4-manual/usr/lib/httpd/modules/
cp .libs/libphp5.so /rpmbuild/buildroot/php-5.2.4-4-
manual/usr/lib/httpd/modules/libphp5.so
cp .libs/libphp5.lai /rpmbuild/buildroot/php-5.2.4-4-
manual/usr/lib/httpd/modules/libphp5.la
libtool: install: warning: remember to run `libtool --finish 
/home/cos/php-5.2.4/libs'
chmod 755 /rpmbuild/buildroot/php-5.2.4-4-
manual/usr/lib/httpd/modules/libphp5.so
[activating module `php5' in /rpmbuild/buildroot/php-5.2.4-4-
manual/etc/httpd/conf/httpd.conf]
Installing PHP CLI binary:/rpmbuild/buildroot/php-5.2.4-4-
manual/usr/local/bin/
Installing PHP CLI man page:  /rpmbuild/buildroot/php-5.2.4-4-
manual/usr/local/man/man1/
Installing build environment: /rpmbuild/buildroot/php-5.2.4-4-
manual/usr/local/lib/php/build/
Installing header files:  /rpmbuild/buildroot/php-5.2.4-4-
manual/usr/local/include/php/
Installing helper programs:   /rpmbuild/buildroot/php-5.2.4-4-
manual/usr/local/bin/
  program: phpize
  program: php-config
Installing man pages: /rpmbuild/buildroot/php-5.2.4-4-
manual/usr/local/man/man1/
  page: phpize.1
  page: php-config.1
Installing PEAR environment:  /rpmbuild/buildroot/php-5.2.4-4-
manual/usr/local/lib/php/
download directory /tmp/pear/cache is not writeable.  Change 
download_dir config variable to a writeable dir
[PEAR] Console_Getopt: Cannot initialize 'phar://install-pear-
nozlib.phar/Console_Getopt-1.2.3.tar', invalid or missing package file
download directory /tmp/pear/cache is not writeable.  Change 
download_dir config variable to a writeable dir
[PEAR] Archive_Tar: Cannot initialize 'phar://install-pear-
nozlib.phar/Archive_Tar-1.3.2.tar', invalid or missing package file
download directory /tmp/pear/cache is not writeable.  Change 
download_dir config variable to a writeable dir
[PEAR] Structures_Graph: Cannot initialize 'phar://install-pear-
nozlib.phar/Structures_Graph-1.0.2.tar', invalid or missing package 
file
download directory /tmp/pear/cache is not writeable.  Change 
download_dir config variable to a writeable dir
[PEAR] PEAR: Cannot initialize 'phar://install-pear-nozlib.phar/PEAR-
1.6.1.tar', invalid or missing package file
Installing PDO headers:  /rpmbuild/buildroot/php-5.2.4-4-
manual/usr/local/include/php/ext/pdo/

(also at http://pastebin.com/f5c6ff39a )





-- 
Edit 

#44355 [NEW]: compilation breaks due illegal const usage

2008-03-06 Thread gk at gknw dot de
From: gk at gknw dot de
Operating system: NetWare
PHP version:  5.2CVS-2008-03-06 (CVS)
PHP Bug Type: EXIF related
Bug description:  compilation breaks due illegal const usage

Description:

The NetWare compiler we use is very strict and breaks when const is used
where not expected. The commit:
http://cvs.php.net/viewvc.cgi/php-src/ext/exif/exif.c?r1=1.196r2=1.197
breaks the NetWare compile due to the line:
static const zend_module_dep exif_module_deps[] = {

exif.c:258: illegal implicit conversion from 'const struct 
exif.c:258: _zend_module_dep[2]' to
exif.c:258: 'struct _zend_module_dep *'

the patch below fixes this and also adds ifdefs as used with other
extensions f.e. pdp_*; not sure if these are really needed, but this
change:
-static const zend_module_dep exif_module_deps[] = {
+static zend_module_dep exif_module_deps[] = {
is definetely required.

--- exif.c.orig Mon Dec 31 08:33:29 2007
+++ exif.c  Thu Mar 06 23:15:31 2008
@@ -242,19 +242,25 @@
 /* }}} */
 
 /* {{{ exif dependencies */
-static const zend_module_dep exif_module_deps[] = {
+#if ZEND_MODULE_API_NO = 20050922
+static zend_module_dep exif_module_deps[] = {
ZEND_MOD_REQUIRED(standard)
 #if EXIF_USE_MBSTRING
ZEND_MOD_REQUIRED(mbstring)
 #endif
{NULL, NULL, NULL}
 };
+#endif
 /* }}} */
 
 /* {{{ exif_module_entry
  */
 zend_module_entry exif_module_entry = {
+#if ZEND_MODULE_API_NO = 20050922
STANDARD_MODULE_HEADER_EX, NULL,
+#else
+   STANDARD_MODULE_HEADER,
+#endif
exif_module_deps,
exif,
exif_functions,





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



#16263 [Com]: session.start() create new empty session file and not resume existing session

2008-03-06 Thread smola85 at o2 dot pl
 ID:   16263
 Comment by:   smola85 at o2 dot pl
 Reported By:  kur at natur dot cuni dot cz
 Status:   No Feedback
 Bug Type: Session related
 Operating System: ANY
 PHP Version:  4.3.0-dev
 New Comment:

Same problem here.

Debian 4.0
Apache 2.0 Handler
PHP 4.3.10

It works only if I'm not using session_regenerate_id(). When I put
session_regenerate_id() before $_SESSION... it doesn't work.


Previous Comments:


[2008-02-20 04:22:24] snakk at inet dot co dot th

My same code is work fine on following system.

FreeBSD 5.4-RELEASE
Apache 2.0 Handler
PHP 4.3.10



[2008-02-20 04:18:32] snakk at inet dot co dot th

I'm facing the same problem. Waiting for solution or suggestion,
please.

FreeBSD 6.0-RELEASE
Apache 2.0.59
PHP 5.2.4



[2008-01-22 11:51:12] costa_brava at gmx dot net

I think that part of the problem is, at least on Windows, that the
session.save_path (and upload_tmp_dir) are being created within the
user's 'Temp' area.  (By the Windows msi installer?)
But this directory is occasionally cleaned out (either manually or by
system / 3rd party disk cleaners). This BTW, is the idea of a temp area,
that you may delete old data without regrets.

Well, since php does not re-create the sub directories structure as
needed, it would be better to change these paths to a less temporary
place, like user\application data\php. Or store the files directly in
the temp folder, not in subdirectories therein.



[2007-12-13 11:42:17] tonterias at cosmos dot selfip dot com

has anyone solved this issue??

I cannot find any solution for this... it is unbelievable



[2007-08-22 13:36:51] peter at 3p1 dot net

hELLo i use php 5.1 and still experience this bug



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

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



#44222 [Com]: tempnam $prefix parameter limitation

2008-03-06 Thread a dot u dot savchuk at gmail dot com
 ID:   44222
 Comment by:   a dot u dot savchuk at gmail dot com
 Reported By:  c dot d dot brengel at att dot net
 Status:   Open
 Bug Type: Filesystem function related
 Operating System: Windows XP
 PHP Version:  5.2.5
 New Comment:

As i understand it is not bug but described behavior of windows
GetTempFileName() function.
So it is not possible to fix that (in easy manner).

From MSDN http://msdn2.microsoft.com/en-us/library/aa364991.aspx :
...
lpPrefixString
The null-terminated prefix string. The function uses up to the
first three characters of this string as the prefix of the file name.
...

Other possible solution is to create own version of GetTempFileName()
under Windows
but i think  htta more simple and correct solution is to describe it in
docu as Windows-specific issue...

Also there are some possible problems can occur with this function
under Windows:
1. if temp directory path length more than MAXPATH-14 :
...
lpPathName
The directory path for the file name. Applications typically
specify a period (.) for the current directory or the result of the
GetTempPath function. The string cannot be longer than MAX_PATH–14
characters or GetTempFileName will fail. If this parameter is NULL, the
function fails.
...

so if templ directory will have (MAXPATHLEN-13) symbols
then PHP check of length will successfully pass
but GetTempFileName() will fail.

There is patch for fix this problem:

$ diff -upd /home/sawoy/source/php-5.2.5/main/php_open_temporary_file.c
./main/php_open_temporary_file.c
--- /home/sawoy/source/php-5.2.5/main/php_open_temporary_file.c
2007-08-10 03:13:15.0 -0700
+++ ./main/php_open_temporary_file.c2008-03-06 15:00:22.0
-0800
@@ -131,7 +131,11 @@ static int php_do_open_temporary_file(co
trailing_slash = /;
}

+#ifdef PHP_WIN32
+   if (spprintf(opened_path, 0, %s, new_state.cwd) 
(MAXPATHLEN - 14)) {
+#else
if (spprintf(opened_path, 0, %s%s%sXX, new_state.cwd,
trailing_slash, pfx) = MAXPATHLEN) {
+#endif
efree(opened_path);
free(new_state.cwd);
return -1;


2. due algo of GetTempFileName() it will be not possible to create more
than 65535 temporary files in on temp directory. 
On box where i tested it it can create only 65324 files and on next
script hangs...

Also for info: time of creation 65xxx-th file in one temp directory is
encreased in ~10-15 times :)


Previous Comments:


[2008-02-22 21:41:45] c dot d dot brengel at att dot net

Description:

It appears that when using tempnam the $prefix parameter only accepts
3 characters.  I used tempnam(getcwd(),'ADR'.date(Y.m.d).'_')
and the resulting file name ended up as ADRBA.tmp not the 
ADR2008222_BA.tmp that it should have given.

I then tried tempnam(getcwd(), 'ADR123') and stil got only ADRXX.tmp.

Not sure but would appreciate it if you could determine if this is in
fact correct behavior.



Reproduce code:
---
?php
echo getcwd() . \n\r;
chdir('tmp');
echo getcwd() . \n\r;
$file=tempnam(getcwd(),'ADR'.date(Y.m.d).'_');
echo $file;
?

Expected result:

C:\Inetpub\wwwroot\ADRAL 
C:\Inetpub\wwwroot\ADRAL\tmp 
C:\WINDOWS\Temp\ADR2008222_C2.tmp 


Actual result:
--
C:\Inetpub\wwwroot\ADRAL 
C:\Inetpub\wwwroot\ADRAL\tmp 
C:\WINDOWS\Temp\ADRC2.tmp 






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



#27814 [Com]: Multiple small packets send for HTTP request

2008-03-06 Thread a dot u dot savchuk at gmail dot com
 ID:   27814
 Comment by:   a dot u dot savchuk at gmail dot com
 Reported By:  Olaf at XCC dot TMFWeb dot NL
 Status:   Assigned
 Bug Type: Feature/Change Request
 Operating System: *
 PHP Version:  5.1*
 Assigned To:  wez
 New Comment:

Problem still exists.

tcpdump shows during execution test example
that 'GET ...' and 'Host ...' are sent by multiple packets:
-
000110 IP (tos 0x0, ttl  64, id 62602, offset 0, flags [DF], proto 6,
length: 68) x.x.x.x.42720  69.147.83.197.80: P [tcp
 sum ok] 1:17(16) ack 1 win 1460 nop,nop,timestamp 339227911
3473916863
[EMAIL PROTECTED]@...
.   FE.SP.,.D...
.85.GET / HTTP/1.0

101682 IP (tos 0x0, ttl  57, id 8438, offset 0, flags [DF], proto 6,
length: 52) 69.147.83.197.80  x.x.x.x.42720: . [tcp
sum ok] 1:1(0) ack 17 win 33296 nop,nop,timestamp 3473916965
339227911
E..4 [EMAIL PROTECTED]
.   F.P...,.D,z.

...%.85.
24 IP (tos 0x0, ttl  64, id 62603, offset 0, flags [DF], proto 6,
length: 69) x.x.x.x.42720  69.147.83.197.80: P [tcp
 sum ok] 17:34(17) ack 1 win 1460 nop,nop,timestamp 339227937
3473916965
[EMAIL PROTECTED]@...
.   FE.SP.,.D...
.85!...%Host: php.net



013718 IP (tos 0x0, ttl  57, id 61609, offset 0, flags [DF], proto 6,
length: 1500) 69.147.83.197.80  x.x.x.x.42720: . 1:
1449(1448) ack 34 win 33304 nop,nop,timestamp 3473916977 339227937
[EMAIL PROTECTED]
.   F.P...,.D,_.
...1.85!HTTP/1.1 200 OK
D
ate: Fri, 07
-


Previous Comments:


[2005-07-29 18:21:26] [EMAIL PROTECTED]

Still considering after over a year or is this fixed by now?
(should this actually be a feature request?)




[2004-04-19 06:38:09] [EMAIL PROTECTED]

It's too late for the 5.0 branch (which is in final RC stage), but it's
under consideration for the 5.1 branch.



[2004-04-19 03:02:02] OvdSpek at LIACS dot NL

Will a buffer be added?



[2004-03-31 17:55:02] [EMAIL PROTECTED]

You're correct; there is no write buffering for the http
request.



[2004-03-31 14:48:37] Olaf at XCC dot TMFWeb dot NL

Description:

This code sends two packets, one of 16 bytes and one of 17 bytes.

I guess this is caused by multiple calls to php_stream_write in
http_fopen_wrapper.c: php_stream_url_wrap_http_ex

Preparing the entire request in one buffer and sending it via one call
should produce less packets (and be faster).

Reproduce code:
---
?php
echo strlen(file_get_contents(http://php.net/;));
?

Expected result:

One packet of 33 bytes.

Actual result:
--
Two packets.





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



#44222 [Opn]: tempnam $prefix parameter limitation

2008-03-06 Thread c dot d dot brengel at att dot net
 ID:   44222
 User updated by:  c dot d dot brengel at att dot net
 Reported By:  c dot d dot brengel at att dot net
 Status:   Open
 Bug Type: Filesystem function related
 Operating System: Windows XP
 PHP Version:  5.2.5
 New Comment:

Thank You.  I just needed to know if was a problem with my system, PHP
or Windows.  Thank You for confirming it is a Windows problem.

I have used another work around so I do not need to use tempnam.

It would be a good idea to update the PHP documentation to let others
know of this behavior on WIndows.  

Keep up the good work


Previous Comments:


[2008-03-06 23:08:23] a dot u dot savchuk at gmail dot com

As i understand it is not bug but described behavior of windows
GetTempFileName() function.
So it is not possible to fix that (in easy manner).

From MSDN http://msdn2.microsoft.com/en-us/library/aa364991.aspx :
...
lpPrefixString
The null-terminated prefix string. The function uses up to the
first three characters of this string as the prefix of the file name.
...

Other possible solution is to create own version of GetTempFileName()
under Windows
but i think  htta more simple and correct solution is to describe it in
docu as Windows-specific issue...

Also there are some possible problems can occur with this function
under Windows:
1. if temp directory path length more than MAXPATH-14 :
...
lpPathName
The directory path for the file name. Applications typically
specify a period (.) for the current directory or the result of the
GetTempPath function. The string cannot be longer than MAX_PATH–14
characters or GetTempFileName will fail. If this parameter is NULL, the
function fails.
...

so if templ directory will have (MAXPATHLEN-13) symbols
then PHP check of length will successfully pass
but GetTempFileName() will fail.

There is patch for fix this problem:

$ diff -upd /home/sawoy/source/php-5.2.5/main/php_open_temporary_file.c
./main/php_open_temporary_file.c
--- /home/sawoy/source/php-5.2.5/main/php_open_temporary_file.c
2007-08-10 03:13:15.0 -0700
+++ ./main/php_open_temporary_file.c2008-03-06 15:00:22.0
-0800
@@ -131,7 +131,11 @@ static int php_do_open_temporary_file(co
trailing_slash = /;
}

+#ifdef PHP_WIN32
+   if (spprintf(opened_path, 0, %s, new_state.cwd) 
(MAXPATHLEN - 14)) {
+#else
if (spprintf(opened_path, 0, %s%s%sXX, new_state.cwd,
trailing_slash, pfx) = MAXPATHLEN) {
+#endif
efree(opened_path);
free(new_state.cwd);
return -1;


2. due algo of GetTempFileName() it will be not possible to create more
than 65535 temporary files in on temp directory. 
On box where i tested it it can create only 65324 files and on next
script hangs...

Also for info: time of creation 65xxx-th file in one temp directory is
encreased in ~10-15 times :)



[2008-02-22 21:41:45] c dot d dot brengel at att dot net

Description:

It appears that when using tempnam the $prefix parameter only accepts
3 characters.  I used tempnam(getcwd(),'ADR'.date(Y.m.d).'_')
and the resulting file name ended up as ADRBA.tmp not the 
ADR2008222_BA.tmp that it should have given.

I then tried tempnam(getcwd(), 'ADR123') and stil got only ADRXX.tmp.

Not sure but would appreciate it if you could determine if this is in
fact correct behavior.



Reproduce code:
---
?php
echo getcwd() . \n\r;
chdir('tmp');
echo getcwd() . \n\r;
$file=tempnam(getcwd(),'ADR'.date(Y.m.d).'_');
echo $file;
?

Expected result:

C:\Inetpub\wwwroot\ADRAL 
C:\Inetpub\wwwroot\ADRAL\tmp 
C:\WINDOWS\Temp\ADR2008222_C2.tmp 


Actual result:
--
C:\Inetpub\wwwroot\ADRAL 
C:\Inetpub\wwwroot\ADRAL\tmp 
C:\WINDOWS\Temp\ADRC2.tmp 






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



#44349 [Opn]: Parse error with installer generated php.ini

2008-03-06 Thread jcs at austin dot rr dot com
 ID:   44349
 User updated by:  jcs at austin dot rr dot com
 Reported By:  jcs at austin dot rr dot com
 Status:   Open
 Bug Type: PHP options/info functions
 Operating System: Windows XP
 PHP Version:  5.2.5
 New Comment:

OK,

SOME PROGRESS:

1) I THINK THE ERROR THAT WAS GIVEN WAS BOGUS...THERE ARE MANY
POSTS ON THE WEB THAT SHOW PARSE ERRORS TO LINES THAT DON'T EXIST
IN PHI.INI FILES

2) GOT IT TO WORK BY:

- COPYING THE ZIP INSTALL TO THE C:\PHP DIRECTORY.

   problem: could not figure out how to tell windows that
   PHP was there so every time I loaded a page it didn't know
   how to interpret a .php file.

so:

- WITHOUT ERASING, WROTE OVER THIS WITH THE INSTALL VERSION.
  this configured windows correctly but left the correct
  configuration in place.

3) in my opinion the installer is buggy.

4) The ZIP version is OK but maybe you should make it more
   clear to folks how to hook into Windows.

5) Why not have pay as you go tech support for install problems.

   I would have very happily PayPal-ed you guys $100 bucks to help 
   me through this...it has been several nights to figure this out
   and read through all the postings out there. 

I STILL DON'T KNOW WHY IT WORKED OR WHAT WAS WRONG BUT I WILL TAKE
THE WIN FOR NOW.

Regards.


Previous Comments:


[2008-03-06 04:19:05] jcs at austin dot rr dot com

Description:

Hi,

I am having a hard time getting PHP to read the phi.ini file which
I want to enable MySQL extensions with. If I run phpinfo(), I see it
is lookong in C:\WINDOWS for the file but there is no loaded file.
Copying the php.ini file to C:\WINDOWS does not help.

OK:

PHP installed to:

1) C:\PHP
2) extensions in:

   C:\PHP\ext

3) php.ini file in C:\PHP

   This was the installer generated file.

4) In a command window at the command line in C:\PHP

   I run php -c . php.ini

I get the following:

PHP Parse error: syntax error, unexpected T_LOGICAL_AND in
C:\PHP\php.ini on line 126

The line is just a comment...I don't get it (see below).

; NOTE: Using short tags should be avoided when developing applications
or


Please help, I have wasted so much time on this.

I think the loading of the php.ini is failing which is why
my extensions don't work.

Regards.



Reproduce code:
---
; since short tags may not be supported on the target server.


; Language Options ;


; Enable the PHP scripting language engine under Apache.
engine = On

; Enable compatibility mode with Zend Engine 1 (PHP 4.x)
 zend.ze1_compatibility_mode = Off

; Allow the ? tag.  Otherwise, only ?php and script tags are
recognized.

; NOTE: Using short tags should be avoided when developing applications
or
; libraries that are meant for redistribution, or deployment on PHP
; servers which are not under your control, because short tags may not
; be supported on the target server. For portable, redistributable
code,
; be sure not to use short tags.
short_open_tag = Off

; Allow ASP-style % % tags.
asp_tags = Off

; The number of significant digits displayed in floating point
numbers.
precision=  14

; Enforce year 2000 compliance (will cause problems with non-compliant
browsers)
y2k_compliance = On

; Output buffering allows you to send header lines (including cookies)
even






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