[PHP-DEV] foreach

2002-04-25 Thread Rose, Billy

Environment:

  Apache 2.0.35
  PHP 4.2.0RC2
  FreeTDS used in place of Sybase libraries to connect to MS SQL 2000
  RedHat Linux 7.1
  PII 233

Problem:

  Using foreach retrieves a duplicate of each database column.

Code tested:

html
head
titleTest/title
/head
body
?
$link = sybase_connect($dbhost,$dbuser,$dbpass)
  or die(Error connecting);
sybase_select_db($dbname)
  or die(Error selecting database);
$result = sybase_query($query)
  or die(Error running query);
print(table border='0' width='100%' cellpadding='0' cellspacing='4'\n);
while ($row = sybase_fetch_array($result)) {
  print(tr\n);
  foreach ($row as $col) {
print(td.$col./td\n);
  }
  print(/tr\n);
}
print(/table\n);
sybase_free_result($result);
sybase_close($link);
?
/body
/html

Is this a PHP issue, or a FreeTDS problem?

Billy Rose 
[EMAIL PROTECTED]

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php




RE: [PHP-DEV] foreach

2002-04-25 Thread Rose, Billy

I feel like an idiot, I overlooked the *_fetch__array(). It's been a long
week...

Billy Rose 
[EMAIL PROTECTED]

 -Original Message-
 From: Gabriel Ricard [mailto:[EMAIL PROTECTED]]
 Sent: Thursday, April 25, 2002 11:53 AM
 To: Rose, Billy
 Cc: [EMAIL PROTECTED]
 Subject: Re: [PHP-DEV] foreach
 
 
 This is neither a problem with PHP nor FreeTDS. From the manual:
 
  sybase_fetch_array() is an extended version of 
 sybase_fetch_row(). In 
 addition to storing the data in the numeric indices of the 
 result array, 
 it also stores the data in associative indices, using the 
 field names as 
 keys. 
 
 Therefore each row contains duplicates of each value. Use 
 sybase_fetch_row() instead.
 
 And, btw, this question really belongs on the php-general list. ;)
 
 - Gabriel
 
 Rose, Billy wrote:
  Environment:
  
Apache 2.0.35
PHP 4.2.0RC2
FreeTDS used in place of Sybase libraries to connect to 
 MS SQL 2000
RedHat Linux 7.1
PII 233
  
  Problem:
  
Using foreach retrieves a duplicate of each database column.
  
  Code tested:
  
  html
  head
  titleTest/title
  /head
  body
  ?
  $link = sybase_connect($dbhost,$dbuser,$dbpass)
or die(Error connecting);
  sybase_select_db($dbname)
or die(Error selecting database);
  $result = sybase_query($query)
or die(Error running query);
  print(table border='0' width='100%' cellpadding='0' 
 cellspacing='4'\n);
  while ($row = sybase_fetch_array($result)) {
print(tr\n);
foreach ($row as $col) {
  print(td.$col./td\n);
}
print(/tr\n);
  }
  print(/table\n);
  sybase_free_result($result);
  sybase_close($link);
  ?
  /body
  /html
  
  Is this a PHP issue, or a FreeTDS problem?
  
  Billy Rose 
  [EMAIL PROTECTED]
  
 
 
 
 -- 
 Gabriel Ricard
 [EMAIL PROTECTED]
 

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php




RE: [PHP-DEV] PHP 4.2.0 Release Announcement

2002-04-23 Thread Rose, Billy

I have Apache 2.0.25 with PHP 4.2.0RC2 running in production now. Been
running since it was released.

Billy Rose 
[EMAIL PROTECTED]

 -Original Message-
 From: Rasmus Lerdorf [mailto:[EMAIL PROTECTED]]
 Sent: Tuesday, April 23, 2002 5:06 AM
 To: Brian Foddy
 Cc: PHP Developers Mailing List
 Subject: Re: [PHP-DEV] PHP 4.2.0 Release Announcement
 
 
 You make it sound like it will core dump immediately for 
 everyone.  That's
 obviously not the case.  It does work for most people.  Well, for some
 anyway.  Works fine on my test server, for example.
 
 On Tue, 23 Apr 2002, Brian Foddy wrote:
  So they download both and start building.  What do they get?
  Core dump.  Usually before people will start opening trouble
  records or searching bug databases people will spend several
  hours re-rebuilding, double checking proceedures, etc, etc, etc.
  They've done everything correct.  Its supposed to work, says right
  on the web page.  Why does this core dump?
 
 
 -- 
 PHP Development Mailing List http://www.php.net/
 To unsubscribe, visit: http://www.php.net/unsub.php
 

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php




RE: [PHP-DEV] PHP 4.2.0 Release Announcement

2002-04-23 Thread Rose, Billy

Correction, 2.0.35 (typo)

Billy Rose 
[EMAIL PROTECTED]

 -Original Message-
 From: Rose, Billy [mailto:[EMAIL PROTECTED]]
 Sent: Tuesday, April 23, 2002 6:20 AM
 To: 'Rasmus Lerdorf'; Brian Foddy
 Cc: PHP Developers Mailing List
 Subject: RE: [PHP-DEV] PHP 4.2.0 Release Announcement
 
 
 I have Apache 2.0.25 with PHP 4.2.0RC2 running in production now. Been
 running since it was released.
 
 Billy Rose 
 [EMAIL PROTECTED]
 
  -Original Message-
  From: Rasmus Lerdorf [mailto:[EMAIL PROTECTED]]
  Sent: Tuesday, April 23, 2002 5:06 AM
  To: Brian Foddy
  Cc: PHP Developers Mailing List
  Subject: Re: [PHP-DEV] PHP 4.2.0 Release Announcement
  
  
  You make it sound like it will core dump immediately for 
  everyone.  That's
  obviously not the case.  It does work for most people.  
 Well, for some
  anyway.  Works fine on my test server, for example.
  
  On Tue, 23 Apr 2002, Brian Foddy wrote:
   So they download both and start building.  What do they get?
   Core dump.  Usually before people will start opening trouble
   records or searching bug databases people will spend several
   hours re-rebuilding, double checking proceedures, etc, etc, etc.
   They've done everything correct.  Its supposed to work, says right
   on the web page.  Why does this core dump?
  
  
  -- 
  PHP Development Mailing List http://www.php.net/
  To unsubscribe, visit: http://www.php.net/unsub.php
  
 
 -- 
 PHP Development Mailing List http://www.php.net/
 To unsubscribe, visit: http://www.php.net/unsub.php
 

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php




RE: [PHP-DEV] PHP 4.2.0 Release Announcement

2002-04-23 Thread Rose, Billy

Apache 2.0.35:
./configure --with-so --prefix=/opt/apache-2.0.35

PHP 4.2.0RC2:
./configure --with-apxs2=/opt/apache-2.0.35/bin/apxs --with-mysql=/usr

RedHat 7.1
HP LPr Dual PIII-850

RedHat 7.2
HP LPr Dual PIII-550

Billy Rose 
[EMAIL PROTECTED]

 -Original Message-
 From: Aaron Bannert [mailto:[EMAIL PROTECTED]]
 Sent: Tuesday, April 23, 2002 10:16 AM
 To: Rose, Billy
 Cc: PHP Developers Mailing List
 Subject: Re: [PHP-DEV] PHP 4.2.0 Release Announcement
 
 
 On Tue, Apr 23, 2002 at 06:20:18AM -0500, Rose, Billy wrote:
  I have Apache 2.0.25 with PHP 4.2.0RC2 running in 
 production now. Been
  running since it was released.
 
 Can you please describe your architecture (platform, os rev, etc...)
 and tell us what configure parameters you gave to both apache and
 php?
 
 Also, for anyone who has had problems getting this to work, please
 do the same.
 
 The two prevailing theories right now are:
 - php is tickling a broken pthread implementation.
 - there are some php/apache configure parameters that when 
 combined can
 cause this.
 
 -aaron
 

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php




RE: [PHP-DEV] The PHP Platform

2002-04-15 Thread Rose, Billy

Have you buried your head into the source code to see how it works? If not,
I suggest looking at what they have done before making the statement over
performance. There is nothing I have seen that suggests they are
implementing slowness (on purpose, by mistake, or for lack of time). These
guys _know_ what the hell there're doing. The fact that Zend goes one step
further to make PHP really smoke by offering their products, tells me PHP is
a solid platform they must really trust. Further still, that they really
trust open source. Everyone has had problems with a credit card at times,
that does not reflect on the base product, or the guys that have developed,
built, maintained, and enhanced it. 

Billy Rose 
[EMAIL PROTECTED]

 -Original Message-
 From: medvitz [mailto:[EMAIL PROTECTED]]
 Sent: Saturday, April 13, 2002 10:57 AM
 To: [EMAIL PROTECTED]
 Subject: Re: [PHP-DEV] The PHP Platform
 
 
 
 I don't really have an issue with the Zend people making 
 money from their 
 products.  
 
 The concern I have is that they sell perfoamance enhancing products.  
 Because they are selling these, I worry that performance in 
 the base Zend 
 engine will not be / is not a primary concern.  I think that 
 performance 
 should be a top priority for the 'base' engine.  People 
 outside of Zend are 
 contributing a good amount of time to creating extensions, 
 writing PEAR 
 modules, and promoting PHP, and , in my opinion , these 
 efforts are being 
 used by Zend who are holding back on performance.  
 
 Yes... the optimizer is free.  But it doesn't always have to be.
 
 I like PHP, I use PHP, I use PHP for clients work, so yes 
 I make money 
 off of PHP.  I expect that the Zend psople can as well, 
 without holding 
 back on the community that helped them get where they are today.
 
 
 I've got some biases here.  I was a subscriber, for a time to the 
 developer's pachage that they had towards the beginning.  For 
 $600 a year I 
 got the Encoder, the debug server and 2 client licenses.  
 They had a pay by 
 month option and I selected this, as my company wasn't going 
 to reimburse 
 me for this expense.  When my bank got bought and I had to 
 get use a new 
 card to keep up on the payments no one could do it.  I 
 emailed the people 
 who handled the credit card transactiosn, and I emailed Zend. 
  I got no 
 responsse what-so-ever, but a lot of emails telling me they 
 couldn't bill 
 my card (all of which I replied to asking how to change my 
 card info).  I'm 
 glad you have had good expeirience with them, 'cause I 
 haven't.  And the 
 package that made the mose sense to me, they no longer offer.  
 
 
 Medvitz
 
 
 Dave Mertens wrote:
 
  On Fri, Apr 12, 2002 at 07:32:47PM -0400, medvitz wrote:
  The issue I have with PHP is that the people in charge 
 have reasons for
  not
  implementing performance enhancements in the base code.  
 They charge a
  fair
  amount for add-ons that increases performance drastically.  I could
  actually argue that extensibility and performance on the 
 back end aren't
  what they should be for this reason.
  
  Not that I want to make enemies here, but I think this is 
 a realistic
  criticism.  Not to mention that the Qt license that is 
 used prevents
  anyone from making extensions and selling them w/o an 
 additional license
  from the
  Zend people.  So they are able to make money off of the 
 hard work of all
  of the module contributors, which I think really blows.
  
  So if i understand what your saying you don't like that 
 fact the Zend had
  write an (very) good engine for PHP4 and now is making some 
 money with
  it??
  
  Don't forget Zend is a commercial company that is doing a 
 lot for the open
  source community. Without them you didn't had PHP4!
  
  Without all the Zend optimalisations (but with the free 
 Zend Optimzer
  (You've installed it, right?!)) PHP4 has a good 
 performance. With the
  money they make with their products like Zend Encoder, Zend 
 Cache, etc
  they can continue developing on the Zend Engine.
  
  They don't force you to but their products. They only say 
 that they can
  really speed up your code.
  Companies where i work (a official gold microsoft partner  
 ;-(  ) has also
  bought the Zend products.
  
  My boss thinks the Zend products are very cheap in comparisment with
  Microsoft products.
  
  Microsoft is doing the same thing. They provide you with a 
 'free' IIS
  webserver, but they have also products that enhance IIS 
 like Commerce
  Server, Content Server, etc.
  
  The fact that a commercial company like Zend is working on 
 PHP is for a
  large number of companies very important. Most open-source 
 projects don't
  have a proper helpdesk. Zend is providing a very good helpdesk.
  
  But all this have two sides. While we (PHP developers) 
 build upon PHP4,
  and make money with the applications we write with it. And 
 Zend is making
  money with other Zend products and they make sure PHP is 
 good enough 

RE: [PHP-DEV] Re: [PHP-QA] Supporting Apache 2 with PHP 4.2.0

2002-04-09 Thread Rose, Billy

Which mysql functions are causing the segfault? I currently have PHP
4.2.0RC2 + Apache 2.0.35 running on my test machine and PHP 4.1.2 + Apache
2.0.32 running on a production machine with 1.3.22 on it in case things go
sour.

Billy Rose 
[EMAIL PROTECTED]

-Original Message-
From: Stanislav Malyshev [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, April 09, 2002 5:10 AM
To: Derick Rethans
Cc: PHP Quality Assurance Team Mailing List; PHP Developers Mailing List
Subject: [PHP-DEV] Re: [PHP-QA] Supporting Apache 2 with PHP 4.2.0


DR after a little discussion on IRC, we came to the conclusion that it
DR is not a good idea to say that php 4.2.0 supports apache 2. The
DR reasoning behind is that we are not even 50% sure if apache 2(.0.35)
DR works correctly, or that the filter works correctly. This is because

Actually, I complied CVS apache2filter with 2.0.35, and it segfaults on 
some mysql functions. I don't know the reason yet, but what is clear that 
it's not in the 'working' stage as of now.

-- 
Stanislav Malyshev, Zend Products Engineer   
[EMAIL PROTECTED]  http://www.zend.com/ +972-3-6139665 ext.115



-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php




RE: [PHP-DEV] Re: [PHP-QA] Supporting Apache 2 with PHP 4.2.0

2002-04-09 Thread Rose, Billy

Which client library are you using?

Billy Rose 
[EMAIL PROTECTED]

-Original Message-
From: Stanislav Malyshev [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, April 09, 2002 9:20 AM
To: Rose, Billy
Cc: PHP Developers Mailing List
Subject: RE: [PHP-DEV] Re: [PHP-QA] Supporting Apache 2 with PHP 4.2.0


RB Which mysql functions are causing the segfault? I currently have PHP
RB 4.2.0RC2 + Apache 2.0.35 running on my test machine and PHP 4.1.2 +
RB Apache 2.0.32 running on a production machine with 1.3.22 on it in
RB case things go sour.

for me, mysql_connect segfaults in gethostname, but I strongly suspect the 
cause is elsewhere, because the code in question looks completely 
innocent. I didn't have time yet to investigate it further. 

-- 
Stanislav Malyshev, Zend Products Engineer   
[EMAIL PROTECTED]  http://www.zend.com/ +972-3-6139665 ext.115


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php




RE: [PHP-DEV] Supporting Apache 2 with PHP 4.2.0

2002-04-09 Thread Rose, Billy

PHP-DEV-Apache2 mailing list?

Billy Rose 
[EMAIL PROTECTED]

 -Original Message-
 From: Stig S. Bakken [mailto:[EMAIL PROTECTED]]
 Sent: Tuesday, April 09, 2002 11:14 AM
 To: James Cox
 Cc: Stig S. Bakken; Jani Taskinen; Derick Rethans; PHP 
 Quality Assurance
 TeamMailing List; PHP Developers Mailing List
 Subject: RE: [PHP-DEV] Supporting Apache 2 with PHP 4.2.0
 
 
 The point here is that delta stability = 0.  It didn't work before,
 it's not worse now.  The worst thing that could happen is 
 that we get a
 bunch of useful bug reports (or even patches) amidst the hailstorm of
 complains or bogus reports we get either way.
 
  - Stig
 
 On Tue, 2002-04-09 at 18:02, James Cox wrote:
  because it's broken?
  
  -Original Message-
  From: Stig S. Bakken [mailto:[EMAIL PROTECTED]]
  Sent: Tuesday, April 09, 2002 4:45 PM
  To: Jani Taskinen
  Cc: Derick Rethans; PHP Quality Assurance TeamMailing List; PHP
  Developers Mailing List
  Subject: Re: [PHP-DEV] Supporting Apache 2 with PHP 4.2.0
  
  
  We include apache2 support in a bunch of releases while 
 Apache 2 is in
  alpha, but when it's GA-released, we drop the support?  
 What's the sense
  in that? :-)
  
   - Stig
  
  On Tue, 2002-04-09 at 12:12, Jani Taskinen wrote:
  
   +1 for dropping it from 4.2.0
  
   --Jani
  
  
   On Tue, 9 Apr 2002, Derick Rethans wrote:
  
   Hello,
   
   after a little discussion on IRC, we came to the 
 conclusion that it is
  not
   a good idea to say that php 4.2.0 supports apache 2. The 
 reasoning behind
   is that we are not even 50% sure if apache 2(.0.35) 
 works correctly, or
   that the filter works correctly. This is because no 
 single QA was done on
   it and we wont be able to do that before the release. I 
 do not want to
   postpone the release because the apache dudes released their new
  workhorse
   on a very short notice while rushing it to release. I am 
 not confident
   that apache 2 / PHP 4.2.0 is stable enough for 
 production yet, and
   therefore recommend to drop the apache2filter from the 
 release branch.
  If
   you can't do it properly, don't do it is my motto here. 
 I hope this is
   the same with you.
   
   regards,
   Derick
   
   
   
  
   --
  
  
   --
   PHP Development Mailing List http://www.php.net/
   To unsubscribe, visit: http://www.php.net/unsub.php
  
  
  --
  PHP Development Mailing List http://www.php.net/
  To unsubscribe, visit: http://www.php.net/unsub.php
 
 
 -- 
 PHP Development Mailing List http://www.php.net/
 To unsubscribe, visit: http://www.php.net/unsub.php
 

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php




RE: [PHP-DEV] zend questions and bug #15333

2002-04-09 Thread Rose, Billy

Is this using the Microsoft libraries? If so, I have encountered similar
string function problems while creating an NT service. In the MS libs,
strings are handled as 32 bit integers with any odd bytes masked off at the
end of the string. The rep counter increments 4 times per iteration until
odd bytes are encountered. I worked around this by writing my own string
copy function.

Billy Rose 
[EMAIL PROTECTED]

 -Original Message-
 From: Joseph Tate [mailto:[EMAIL PROTECTED]]
 Sent: Tuesday, April 09, 2002 1:41 PM
 To: Php-Dev List
 Subject: [PHP-DEV] zend questions and bug #15333
 
 
 http://bugs.php.net/15333
 
 I've narrowed down the problem, but can't seem to get 
 anywhere with it.
 
 The state of the server when the problem occurrs:
 
 All serviceable threads have been killed or have timed out.
 A request is received prompting the spawning of a new thread.
 The new thread then goes through and copies the 
 global_constants_table, but
 that has been corrupted somewhere causing an access violation 
 when trying to
 dereference uninitialized memory.
 
 This happens every time the server has been idle for ~10 minutes after
 serving up php pages.
 
 Here are my questions that I haven't been able to track down 
 yet.  Hopefully
 someone can save me some time.
 
 1.What code is executed when a thread times out?  
 zend_shutdown never seems
 to run (or at least my breakpoints there never fire).
 
 2.It appears that global_constants_table is not global 
 nor constant, each
 thread has a separate copy.  Why is this the case?  And if it 
 is meant to
 be, where is the original global_constants_table.  What could 
 be modifying
 it so that it cannot be copied when a new thread is started?
 
 3.Where would be a good place to start to find the 
 answers to the zend
 questions that I have as I track this down.
 
 
 -- 
 PHP Development Mailing List http://www.php.net/
 To unsubscribe, visit: http://www.php.net/unsub.php
 

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php




RE: [PHP-DEV] zend questions and bug #15333

2002-04-09 Thread Rose, Billy

Forgot to mention, the algorithm in the MS lib is what is faulty. It
overruns the buffer at times.

Billy Rose 
[EMAIL PROTECTED]

 -Original Message-
 From: Joseph Tate [mailto:[EMAIL PROTECTED]]
 Sent: Tuesday, April 09, 2002 1:41 PM
 To: Php-Dev List
 Subject: [PHP-DEV] zend questions and bug #15333
 
 
 http://bugs.php.net/15333
 
 I've narrowed down the problem, but can't seem to get 
 anywhere with it.
 
 The state of the server when the problem occurrs:
 
 All serviceable threads have been killed or have timed out.
 A request is received prompting the spawning of a new thread.
 The new thread then goes through and copies the 
 global_constants_table, but
 that has been corrupted somewhere causing an access violation 
 when trying to
 dereference uninitialized memory.
 
 This happens every time the server has been idle for ~10 minutes after
 serving up php pages.
 
 Here are my questions that I haven't been able to track down 
 yet.  Hopefully
 someone can save me some time.
 
 1.What code is executed when a thread times out?  
 zend_shutdown never seems
 to run (or at least my breakpoints there never fire).
 
 2.It appears that global_constants_table is not global 
 nor constant, each
 thread has a separate copy.  Why is this the case?  And if it 
 is meant to
 be, where is the original global_constants_table.  What could 
 be modifying
 it so that it cannot be copied when a new thread is started?
 
 3.Where would be a good place to start to find the 
 answers to the zend
 questions that I have as I track this down.
 
 
 -- 
 PHP Development Mailing List http://www.php.net/
 To unsubscribe, visit: http://www.php.net/unsub.php
 

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php




RE: [PHP-DEV] zend questions and bug #15333

2002-04-09 Thread Rose, Billy

In your stack dump, the function call that bombed was memcpy in the MS lib.
Looking at the source in zend_alloc.c, I find that the lib's memcpy function
is used. The way I finally tracked down my problem was tedious as hell, but
I put the MS debug macro just before the function that was failing (in this
case zend_strndup). Then I single stepped into the MS function that was
failing. This method was required because I was running a service. I bet if
you write an adhoc my_memcpy function in C and byte for byte copy over the
string, the problem goes away. memcpy uses the same 32 bit algorothm as the
string functions. I sent in a bug report to MS about a year ago, but was
blown off (swept under the rug rather perhaps?). The algorithm seems to blow
up only under weird circumstances.

Billy Rose 
[EMAIL PROTECTED]

 -Original Message-
 From: Joseph Tate [mailto:[EMAIL PROTECTED]]
 Sent: Tuesday, April 09, 2002 2:05 PM
 To: Rose, Billy; Php-Dev List
 Subject: RE: [PHP-DEV] zend questions and bug #15333
 
 
 zend_strndup is a php implementation.  It does not use the 
 strndup function
 available through MS's library.  The problem occurs because a 
 length of
 100 or more is passed in, signifying to me that the source of that
 length has become corrupted or not initialized.  I've traced 
 that back to
 the global_constants_table structure.  I no longer get the 
 specific error
 mentioned in the bug report, but get an error in the same 
 location under the
 same circumstances.  My error looks like the following:
 
 The HTTP server encountered an unhandled exception while 
 processing the
 ISAPI Application '
 msvcrt!memcpy + 0x33
 php4ts!zend_strndup + 0x38
 php4ts!zend_get_extension + 0xA0
 php4ts!zend_hash_copy + 0x7B
 php4ts!zend_get_extension + 0xFB
 php4ts!zend_print_zval_r_ex + 0x999
 php4ts!ts_resource_ex + 0x21F
 php4ts!ts_resource_ex + 0x98
 php4isapi!HttpExtensionProc + 0x37
 wam + 0x7A91
 wam + 0x8634
 RPCRT4!NdrServerInitialize + 0x45B
 RPCRT4!NdrStubCall2 + 0x1A5
 RPCRT4!CStdStubBuffer_Invoke + 0x82
 ole32!StgGetIFillLockBytesOnFile + 0xA270
 ole32!StgGetIFillLockBytesOnFile + 0xA21F
 ole32!CoImpersonateClient + 0x1B8
  + 0xFF6C8BE0
  + 0x1132AE13
 '.
 
 Of course I'm using the Release_TSDbg version of php4isapi 
 rather than a
 release, so that's why I have a stack trace.  All of this is with the
 current PHP_4_2_0 release branch.
 
 Joseph
 
  -Original Message-
  From: Rose, Billy [mailto:[EMAIL PROTECTED]]
  Sent: Tuesday, April 09, 2002 2:54 PM
  To: 'Joseph Tate'; Php-Dev List
  Subject: RE: [PHP-DEV] zend questions and bug #15333
 
 
  Forgot to mention, the algorithm in the MS lib is what is faulty. It
  overruns the buffer at times.
 
  Billy Rose
  [EMAIL PROTECTED]
 
   -Original Message-
   From: Joseph Tate [mailto:[EMAIL PROTECTED]]
   Sent: Tuesday, April 09, 2002 1:41 PM
   To: Php-Dev List
   Subject: [PHP-DEV] zend questions and bug #15333
  
  
   http://bugs.php.net/15333
  
   I've narrowed down the problem, but can't seem to get
   anywhere with it.
  
   The state of the server when the problem occurrs:
  
   All serviceable threads have been killed or have timed out.
   A request is received prompting the spawning of a new thread.
   The new thread then goes through and copies the
   global_constants_table, but
   that has been corrupted somewhere causing an access violation
   when trying to
   dereference uninitialized memory.
  
   This happens every time the server has been idle for ~10 
 minutes after
   serving up php pages.
  
   Here are my questions that I haven't been able to track down
   yet.  Hopefully
   someone can save me some time.
  
   1.What code is executed when a thread times out?
   zend_shutdown never seems
   to run (or at least my breakpoints there never fire).
  
   2.It appears that global_constants_table is not global
   nor constant, each
   thread has a separate copy.  Why is this the case?  And if it
   is meant to
   be, where is the original global_constants_table.  What could
   be modifying
   it so that it cannot be copied when a new thread is started?
  
   3.Where would be a good place to start to find the
   answers to the zend
   questions that I have as I track this down.
  
  
   --
   PHP Development Mailing List http://www.php.net/
   To unsubscribe, visit: http://www.php.net/unsub.php
  
 

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php




[PHP-DEV] diff for 4.2.0RC2 to compile against Apache 2.0.35-dev

2002-04-08 Thread Rose, Billy

Here's a context diff of changes needed to compile against Apache 2.0.35-dev
(or newer I assume).

Billy Rose

*** php-4.2.0RC2/sapi/apache2filter/sapi_apache2.c  Thu Mar 14 04:57:00
2002
--- ../php-4.2.0RC2/sapi/apache2filter/sapi_apache2.c   Mon Apr  8 09:21:46
2002
***
*** 55,64 
  
if (str_length == 0) return 0;

!   bb = apr_brigade_create(ctx-f-r-pool);
while (str_length  0) {
now = MIN(str_length, 4096);
!   b = apr_bucket_transient_create(str, now);
APR_BRIGADE_INSERT_TAIL(bb, b);
str += now;
str_length -= now;
--- 55,64 
  
if (str_length == 0) return 0;

!   bb = apr_brigade_create(ctx-f-r-pool,ctx-f-c-bucket_alloc);
while (str_length  0) {
now = MIN(str_length, 4096);
!   b = apr_bucket_transient_create(str,
now,ctx-f-c-bucket_alloc);
APR_BRIGADE_INSERT_TAIL(bb, b);
str += now;
str_length -= now;
***
*** 171,178 
 * all further flush buckets.
 */

!   bb = apr_brigade_create(ctx-f-r-pool);
!   b = apr_bucket_flush_create();
APR_BRIGADE_INSERT_TAIL(bb, b);
if (ap_pass_brigade(ctx-f-next, bb) != APR_SUCCESS) {
php_handle_aborted_connection();
--- 171,178 
 * all further flush buckets.
 */

!   bb = apr_brigade_create(ctx-f-r-pool,ctx-f-c-bucket_alloc);
!   b = apr_bucket_flush_create(ctx-f-c-bucket_alloc);
APR_BRIGADE_INSERT_TAIL(bb, b);
if (ap_pass_brigade(ctx-f-next, bb) != APR_SUCCESS) {
php_handle_aborted_connection();
***
*** 234,240 
if (ctx == NULL) { \
/* Initialize filter context */ \
SG(server_context) = ctx = apr_pcalloc(f-r-pool,
sizeof(*ctx));  \
!   ctx-bb = apr_brigade_create(f-c-pool); \
}
  
  static int php_input_filter(ap_filter_t *f, apr_bucket_brigade *bb, 
--- 234,240 
if (ctx == NULL) { \
/* Initialize filter context */ \
SG(server_context) = ctx = apr_pcalloc(f-r-pool,
sizeof(*ctx));  \
!   ctx-bb = apr_brigade_create(f-c-pool,f-c-bucket_alloc);
\
}
  
  static int php_input_filter(ap_filter_t *f, apr_bucket_brigade *bb, 
***
*** 383,389 

  #define PHP_NO_DATA The PHP Filter did not receive suitable input data

!   eos =
apr_bucket_transient_create(PHP_NO_DATA, sizeof(PHP_NO_DATA)-1);
APR_BRIGADE_INSERT_HEAD(bb, eos);
}
}
--- 383,389 

  #define PHP_NO_DATA The PHP Filter did not receive suitable input data

!   eos =
apr_bucket_transient_create(PHP_NO_DATA,
sizeof(PHP_NO_DATA)-1,ctx-f-c-bucket_alloc);
APR_BRIGADE_INSERT_HEAD(bb, eos);
}
}
***
*** 392,398 
  
SG(server_context) = 0;
/* Pass EOS bucket to next filter to signal end of request
*/
!   eos = apr_bucket_eos_create();
APR_BRIGADE_INSERT_TAIL(bb, eos);

return ap_pass_brigade(f-next, bb);
--- 392,398 
  
SG(server_context) = 0;
/* Pass EOS bucket to next filter to signal end of request
*/
!   eos = apr_bucket_eos_create(ctx-f-c-bucket_alloc);
APR_BRIGADE_INSERT_TAIL(bb, eos);

return ap_pass_brigade(f-next, bb);

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP-DEV] multiselects and arrays

2001-05-10 Thread Rose, Billy

You can iterate through document.FORMNAME.elements if you need to access
them. Changing the bracket notation would not be needed.

Colin [EMAIL PROTECTED] wrote in message
news:9dec79$aa9$[EMAIL PROTECTED]...
  Example:
  I have a page with multiselect, which name is SEL1
  (I cannot use square brackets because I need to use a JavaScript on the
  page, so, it's not allowed in variable names to contain [ ]  ).
 
 
 Sure it is allowed: http://ca.php.net/FAQ.php#7.14
 
 - Colin
 
 
 
 -- 
 PHP Development Mailing List http://www.php.net/
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 To contact the list administrators, e-mail: [EMAIL PROTECTED]
 

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]