[PHP-DEV] XML_Parser and php

2002-11-20 Thread Robin Ericsson
Is there any known problems with php 4.2.3 and the latest pear
xml_parser?

I have a class that extends XML_Parser, and I have several problems.

One problem is that variables is emptied without notice, and another
problem that is that memory seems to be overwridden.

I've attached my local functions, and this is the like that causes the
problem:

$this-aCurrentProduct[category] .= $data./;

The right category should be:
DATORKOMPONENTER/MINNEN/VIKING COMPONENTS/

but I see things like this:
DATORKOMPON/ENTER/MINNEN/VIKING COMPONENTS/
DATORKOMPONENTER/MINNE/N/VIKING COMPONENTS/
DATORKOMPONE/NTER/MINNEN/VIKING COMPONENTS/
DATORKOMPONENTER/M/INNEN/VIKING COMPONENTS/
DATOR/KOMPONENTER/MINNEN/VIKING COMPONENTS/
DATORKOMPONENTER/MINNEN/VIKIN/G COMPONENTS/
DATORKOMPONEN/TER/MINNEN/VIKING COMPONENTS/
DATORKOMPONENT/ER/MINNEN/VIKING COMPONENTS/
DATO/RKOMPONENTER/MINNEN/VIKING COMPONENTS/
DATORKOMPONENTE/R/MINNEN/VIKING COMPONENTS/
DATORKOM/PONENTER/MINNEN/VIKING COMPONENTS/

-- 
Robin Ericsson [EMAIL PROTECTED]

function cDataHandler($xp, $data)
{
switch($this-sCurrentNode)
{
case PARTNUMBER:  $use = anr;   
break;
case DESCRIPTION: $use = name;  
break;
case PRICEWITHTAX:$use = price; 
break;
case MANUFACTURER:$use = manufacturer;  
break;
case MANUF_PARTNUMBER:$use = manufacturer.anr;  
break;
case PRODUCTURL:  $use = product.url;   
break;
}

if ($use != )
{
$this-aCurrentProduct[$use] = $data;
}

if (stristr($this-sCurrentNode, PRODUCTGROUP_)  $data != )
{
$this-aCurrentProduct[category] .= $data./;
}
}

function StartHandler($xp, $elem, $attribs)
{
$this-sCurrentNode = $elem;
}

function EndHandler($xp, $elem)
{
global $tempProducts;

if ($elem == ITEMADD)
{
$this-aCurrentProduct[category] = 
$this-translateCategory($this-aCurrentProduct[category]);
$tempProducts[] = $this-aCurrentProduct;
$this-aCurrentProduct = array();
}

$this-sCurrentNode = ;
}


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


Re: [PHP-DEV] XML_Parser and php

2002-11-20 Thread Pierre-Alain Joye
On 20 Nov 2002 09:54:59 +0100
Robin Ericsson [EMAIL PROTECTED] wrote:

Can you forward your mail on peardev mailing and/or post a bug report on
bugs.php.net (PEAR related).

tia

pa

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




Re: [PHP-DEV] leak() crash()

2002-11-20 Thread Derick Rethans
On Tue, 19 Nov 2002, Marcus Börger wrote:

 As far as i can tell from the source there is ZEND_TEST_EXCEPTIONS
 to guard crash() but leak() isa allways there. Without debug leak() doesn't
 report anything but it produces a leak.

hmm, you're right. I would vote to remove this function when not 
compiling in debug mode.

Derick

-- 

---
 Derick Rethans   http://derickrethans.nl/ 
 JDI Media Solutions
--[ if you hold a unix shell to your ear, do you hear the c? ]-


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




Re: [PHP-DEV] leak() crash()

2002-11-20 Thread Marcus Börger
At 14:04 20.11.2002, Derick Rethans wrote:

On Tue, 19 Nov 2002, Marcus Börger wrote:

 As far as i can tell from the source there is ZEND_TEST_EXCEPTIONS
 to guard crash() but leak() isa allways there. Without debug leak() doesn't
 report anything but it produces a leak.

hmm, you're right. I would vote to remove this function when not
compiling in debug mode.

Derick


+1

marcus


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




[PHP-DEV] GIF support

2002-11-20 Thread Carsten Gehling
A question popped into my mind. I know GD doesn't support GIF because of
Unisys' license on the LZW compression format.

Then how can ImageMagick support it?

It would sure be nice with an API to ImageMagick (PHPMagick?) as found in
Perl. Has anyone started on this before, then I would like to know about it.
I could give it a go myself, but would rather not start from scratch.

- Carsten


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




Re: [PHP-DEV] GIF support

2002-11-20 Thread Markus Fischer
A project exists already:
http://pear.php.net/package-info.php?pacid=76

On Wed, Nov 20, 2002 at 02:01:06PM +0100, Carsten Gehling wrote : 
 A question popped into my mind. I know GD doesn't support GIF because of
 Unisys' license on the LZW compression format.
 
 Then how can ImageMagick support it?
 
 It would sure be nice with an API to ImageMagick (PHPMagick?) as found in
 Perl. Has anyone started on this before, then I would like to know about it.
 I could give it a go myself, but would rather not start from scratch.
 
 - Carsten
 
 
 -- 
 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] GIF support

2002-11-20 Thread Derick Rethans
On Wed, 20 Nov 2002, Carsten Gehling wrote:

 A question popped into my mind. I know GD doesn't support GIF because of
 Unisys' license on the LZW compression format.
 
 Then how can ImageMagick support it?
 
 It would sure be nice with an API to ImageMagick (PHPMagick?) as found in
 Perl. Has anyone started on this before, then I would like to know about it.
 I could give it a go myself, but would rather not start from scratch.

There is an extension for that in PEAR/PECL:
http://cvs.php.net/cvs.php/pear/PECL/imagick?login=2

and one for imlib:
http://mmcc.cx/php_imlib/

Derick

-- 

---
 Derick Rethans   http://derickrethans.nl/ 
 JDI Media Solutions
--[ if you hold a unix shell to your ear, do you hear the c? ]-


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




Re: [PHP-DEV] GIF support

2002-11-20 Thread Pierre-Alain Joye
On Wed, 20 Nov 2002 14:01:06 +0100
Carsten Gehling [EMAIL PROTECTED] wrote:

 A question popped into my mind. I know GD doesn't support GIF because
 of Unisys' license on the LZW compression format.
 
 Then how can ImageMagick support it?

afaik, it supports uncompressed GIF, which is useless :). PHP bundled GD
supports read support for GIF, as far as you do not need to output GIF
images (mobiles) try to use png or others formats instead.

 It would sure be nice with an API to ImageMagick (PHPMagick?) as found
 in Perl. Has anyone started on this before, then I would like to know
 about it. I could give it a go myself, but would rather not start from
 scratch.

imagick extension for php:
http://pear.php.net/package-info.php?pacid=76


hth

pa


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




Re: [PHP-DEV] RFC: ZE2 and abstract

2002-11-20 Thread Marcus Börger
At 06:32 20.11.2002, Andi Gutmans wrote:

Hi,

I'm a bit behind my Email but I'll give you a quick answer.
I think we can do abstract method's but I wouldn't want to do it the way 
you did because it adds an additional check in the method calling.
It should create a function which will bailout.

Yes that was my first attempt and yes it is a bit complicated (more than 
the rest of the patch)

This might be a bit complicated to do so I'll put it on my TODO.
Andi

At 04:55 PM 11/19/2002 +0100, Marcus Börger wrote:

The link below contain a patch that allows abstract functions in ZE2.
http://marcus-boerger.de/php/ext/ze2

abstract [static] function '(' parameters ')' ';'

it would be possible to make the ';' optional.

When an abstract method is called a fatal error is generated and
execution stops. Another way of handling abstract would be to
generate an E_WARNING or throw an exception. I experimented
with the second one already but do not like it. I favor the first
over the third but haven't tried that yet.

The thinks i did:
introduce T_ABSTRACT = abstract and modified the parser.
added is_abstract after is_static in zend_function (and such)
emit an E_ERROR when is_abstract is set in 
zend_init_static_method_call_handler  zend_init_method_call_handler

marcus



--- mailto:[EMAIL PROTECTED] --
We are animals among animals, all children of matter,
save that we are the more disarmed. But since, unlike animals,
we know that we must die, let us prepare for that moment
by enjoying the life that has been given us by chance and for chance.
   Umberto Eco, The island of the day before
- http://marcus-boerger.de -




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




Re: [PHP-DEV] RFC: ZE2 and abstract

2002-11-20 Thread Marcus Börger
Added final now: http://marcus-boerger.de/php/ext/ze2

So we have:
abstract [static] function '(' parameters ')' ';'
[ final ] [ static ] function '(' parameters ')' '{' code '}'

There is a check that you cannot overwrite a final function of cause
and i also added a check that you cannot redeclare a function abstract.
See test files on this.

marcus


At 16:55 19.11.2002, Marcus Börger wrote:

The link below contain a patch that allows abstract functions in ZE2.
http://marcus-boerger.de/php/ext/ze2

abstract [static] function '(' parameters ')' ';'

it would be possible to make the ';' optional.

When an abstract method is called a fatal error is generated and
execution stops. Another way of handling abstract would be to
generate an E_WARNING or throw an exception. I experimented
with the second one already but do not like it. I favor the first
over the third but haven't tried that yet.

The thinks i did:
introduce T_ABSTRACT = abstract and modified the parser.
added is_abstract after is_static in zend_function (and such)
emit an E_ERROR when is_abstract is set in 
zend_init_static_method_call_handler  zend_init_method_call_handler

marcus



--- mailto:[EMAIL PROTECTED] --
We are animals among animals, all children of matter,
save that we are the more disarmed. But since, unlike animals,
we know that we must die, let us prepare for that moment
by enjoying the life that has been given us by chance and for chance.
   Umberto Eco, The island of the day before
- http://marcus-boerger.de -


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




Re: [PHP-DEV] RFC: ZE2 and abstract

2002-11-20 Thread Andrei Zmievski
On Wed, 20 Nov 2002, Marcus Börger wrote:
 Added final now: http://marcus-boerger.de/php/ext/ze2
 
 So we have:
 abstract [static] function '(' parameters ')' ';'
 [ final ] [ static ] function '(' parameters ')' '{' code '}'
 
 There is a check that you cannot overwrite a final function of cause
 and i also added a check that you cannot redeclare a function abstract.
 See test files on this.

Please, please, please, please... please! Use the word 'method', not
'function', when referring to class methods. It will help avoid further
confusion. Please.

-Andrei   http://www.gravitonic.com/

In My Egotistical Opinion, most people's C programs should be indented
six feet downward and covered with dirt. -- Blair P. Houghton

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




[PHP-DEV] CVS Account Request: almanar

2002-11-20 Thread Saleh Nabeel Al-Saffar
To work with the php manual in Arabic in the site http://www.php4arab.info/

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




Re: [PHP-DEV] RFC: ZE2 and abstract

2002-11-20 Thread Marcus Börger
Yes your're right. I mixed it up while writing the error messages
which use the word function since we have no 'method' in the parser.

At 14:54 20.11.2002, Andrei Zmievski wrote:

On Wed, 20 Nov 2002, Marcus Börger wrote:
 Added final now: http://marcus-boerger.de/php/ext/ze2

 So we have:
 abstract [static] function '(' parameters ')' ';'
 [ final ] [ static ] function '(' parameters ')' '{' code '}'

 There is a check that you cannot overwrite a final function of cause
 and i also added a check that you cannot redeclare a function abstract.
 See test files on this.

Please, please, please, please... please! Use the word 'method', not
'function', when referring to class methods. It will help avoid further
confusion. Please.

-Andrei   http://www.gravitonic.com/

In My Egotistical Opinion, most people's C programs should be indented
six feet downward and covered with dirt. -- Blair P. Houghton



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




RE: [PHP-DEV] GIF support

2002-11-20 Thread Joseph Tate


 -Original Message-
 From: Pierre-Alain Joye [mailto:[EMAIL PROTECTED]]
 On Wed, 20 Nov 2002 14:01:06 +0100
 Carsten Gehling [EMAIL PROTECTED] wrote:
 
  A question popped into my mind. I know GD doesn't support GIF because
  of Unisys' license on the LZW compression format.
  
  Then how can ImageMagick support it?
 
 afaik, it supports uncompressed GIF, which is useless :). PHP bundled GD
 supports read support for GIF, as far as you do not need to output GIF
 images (mobiles) try to use png or others formats instead.
 
It'll support LZW compression if you recompile it and the tiff libraries.


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




Re: [PHP-DEV] RFC: ZE2 and abstract

2002-11-20 Thread Andi Gutmans
Hi,

The way you implemented it isn't what I meant *and* I never remember 
agreeing to final.
I don't see any need for final. If you really want Java then it already exists.

Andi

At 02:24 PM 11/20/2002 +0100, Marcus Börger wrote:
Added final now: http://marcus-boerger.de/php/ext/ze2

So we have:
abstract [static] function '(' parameters ')' ';'
[ final ] [ static ] function '(' parameters ')' '{' code '}'

There is a check that you cannot overwrite a final function of cause
and i also added a check that you cannot redeclare a function abstract.
See test files on this.

marcus


At 16:55 19.11.2002, Marcus Börger wrote:

The link below contain a patch that allows abstract functions in ZE2.
http://marcus-boerger.de/php/ext/ze2

abstract [static] function '(' parameters ')' ';'

it would be possible to make the ';' optional.

When an abstract method is called a fatal error is generated and
execution stops. Another way of handling abstract would be to
generate an E_WARNING or throw an exception. I experimented
with the second one already but do not like it. I favor the first
over the third but haven't tried that yet.

The thinks i did:
introduce T_ABSTRACT = abstract and modified the parser.
added is_abstract after is_static in zend_function (and such)
emit an E_ERROR when is_abstract is set in 
zend_init_static_method_call_handler  zend_init_method_call_handler

marcus



--- mailto:[EMAIL PROTECTED] --
We are animals among animals, all children of matter,
save that we are the more disarmed. But since, unlike animals,
we know that we must die, let us prepare for that moment
by enjoying the life that has been given us by chance and for chance.
   Umberto Eco, The island of the day before
- http://marcus-boerger.de -


--
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] RFC: ZE2 and abstract

2002-11-20 Thread Sebastian Bergmann
Andi Gutmans wrote:
 I don't see any need for final.

  A ZendEncoder customer could want to declare an encoded class final
  so that his users can't extend that class :-)

-- 
  Sebastian Bergmann
  http://sebastian-bergmann.de/ http://phpOpenTracker.de/

  Did I help you? Consider a gift: http://wishlist.sebastian-bergmann.de/

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




Re: [PHP-DEV] RFC: ZE2 and abstract

2002-11-20 Thread Andi Gutmans
At 06:43 PM 11/20/2002 +0100, Sebastian Bergmann wrote:

Andi Gutmans wrote:
 I don't see any need for final.

  A ZendEncoder customer could want to declare an encoded class final
  so that his users can't extend that class :-)


A proxy object would do the trick! Very quick hack :)

Andi


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




Re: [PHP-DEV] RFC: ZE2 and abstract

2002-11-20 Thread Sebastian Bergmann
Andi Gutmans wrote:
 A proxy object would do the trick!

  I know, and it wasn't meant as all that serious an argument :)

-- 
  Sebastian Bergmann
  http://sebastian-bergmann.de/ http://phpOpenTracker.de/

  Did I help you? Consider a gift: http://wishlist.sebastian-bergmann.de/

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




Re: [PHP-DEV] RFC: ZE2 and abstract

2002-11-20 Thread Andi Gutmans
At 06:53 PM 11/20/2002 +0100, Sebastian Bergmann wrote:

Andi Gutmans wrote:
 A proxy object would do the trick!

  I know, and it wasn't meant as all that serious an argument :)


I know you weren't serious, neither was I :)

Andi


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




[PHP-DEV] Pear::db and odbc issue

2002-11-20 Thread Chandler, Jacob R
We are querying two different odbc databases using the Pear::DB library.
When we try to print out the number of Rows ($result-numRows()), the
output is 'Object'. We tried the same thing using odbc and we are
getting '-1' as the number of rows. This appears to be an error because
there are results in the database and if we attempt to get data, we can
do this in a while loop with the fetchRow function and we get valid
data. Can anyone give any suggestions?

Jacob Chandler




[PHP-DEV] Re: [Zend Engine 2] Re: [PHP-DEV] leak() crash()

2002-11-20 Thread Andi Gutmans
At 02:04 PM 11/20/2002 +0100, Derick Rethans wrote:

On Tue, 19 Nov 2002, Marcus Börger wrote:

 As far as i can tell from the source there is ZEND_TEST_EXCEPTIONS
 to guard crash() but leak() isa allways there. Without debug leak() doesn't
 report anything but it produces a leak.

hmm, you're right. I would vote to remove this function when not
compiling in debug mode.


That's probably reasonable.

Andi


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




Re: [PHP-DEV] error handling

2002-11-20 Thread Ivan Ristic
John Coggeshall wrote:

|I know this is possible now, but not within the error handling 
|function of PHP, or without setting a custom error handler.

Well, it's not really possible now -- a E_PARSE won't get thrown to a
custom PHP handler, it'll just die with a parse error. 

  It is possible. Not pretty but still possible :) You
  can use a series of hacks to make PHP behave and allow
  you to intercept an fatal error, and extract the error
  message.

  In short:

  * You use auto_append to append a short PHP file that
only sets a flag to true

  * You install a custom error handle to handle normal
errors.

  * You need to turn the output buffering on.

  * You register a shutdown function the checks the flag;
if the flag is set to false - you have a fatal error
on your hands. In that case you need to clear the
output buffer but not before you extract the fatal error
message (you need to have display_errors set to on).
Then you can forward the fatal error to your normal
error handler for processing.

  The full explanation is available here:

http://www.webkreator.com/php/configuration/foolproof-php-handling-2.html

  I do not recall the version I used and I haven't checked
  whether this still works with recent releases. It did work
  at the time.

Bye,
Ivan



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




[PHP-DEV] Re: [Zend Engine 2] Re: [PHP-DEV] leak() crash()

2002-11-20 Thread Derick Rethans
On Wed, 20 Nov 2002, Andi Gutmans wrote:

 At 02:04 PM 11/20/2002 +0100, Derick Rethans wrote:
 On Tue, 19 Nov 2002, Marcus Börger wrote:
 
   As far as i can tell from the source there is ZEND_TEST_EXCEPTIONS
   to guard crash() but leak() isa allways there. Without debug leak() doesn't
   report anything but it produces a leak.
 
 hmm, you're right. I would vote to remove this function when not
 compiling in debug mode.
 
 That's probably reasonable.

I'm going to do that right away.

Derick

-- 

---
 Derick Rethans   http://derickrethans.nl/ 
 JDI Media Solutions
--[ if you hold a unix shell to your ear, do you hear the c? ]-


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




Re: [PHP-DEV] Pear::db and odbc issue

2002-11-20 Thread Maxim Maletsky

You can be helped by mailing to [EMAIL PROTECTED] or by
submitting a bug report at http://bugs.php.net.


--
Maxim Maletsky
[EMAIL PROTECTED]



Chandler, Jacob R [EMAIL PROTECTED] wrote... :

 We are querying two different odbc databases using the Pear::DB library.
 When we try to print out the number of Rows ($result-numRows()), the
 output is 'Object'. We tried the same thing using odbc and we are
 getting '-1' as the number of rows. This appears to be an error because
 there are results in the database and if we attempt to get data, we can
 do this in a while loop with the fetchRow function and we get valid
 data. Can anyone give any suggestions?
 
 Jacob Chandler
 


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




Re: [PHP-DEV] error handling

2002-11-20 Thread Ivan Ristic


Create a configuration directive error_handler which accepts one of
Two values... Either a PHP script (like auto_prepend) which is


  And how about that we change PHP so that it changes
  the status of the response to 500 on a fatal error? Then
  you would be able to use the Apache directive

  ErrorDocument 500 /handle-my-errors.php

  to deal with them. You would have to use output buffering,
  of course, but using output buffering is the only way to
  shield your users from errors anyway.

Bye,
Ivan



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




RE: [PHP-DEV] Pear::db and odbc issue

2002-11-20 Thread Chandler, Jacob R
If you would have read the entire message, you would have seen that this
is further reaching than just the PEAR libraries. This occurs with the
odbc functions as well.

-Original Message-
From: Maxim Maletsky [mailto:[EMAIL PROTECTED]] 
Sent: Wednesday, November 20, 2002 1:41 PM
To: Chandler, Jacob R
Cc: [EMAIL PROTECTED]
Subject: Re: [PHP-DEV] Pear::db and odbc issue



You can be helped by mailing to [EMAIL PROTECTED] or by
submitting a bug report at http://bugs.php.net.


--
Maxim Maletsky
[EMAIL PROTECTED]



Chandler, Jacob R [EMAIL PROTECTED] wrote... :

 We are querying two different odbc databases using the Pear::DB 
 library. When we try to print out the number of Rows 
 ($result-numRows()), the output is 'Object'. We tried the same thing 
 using odbc and we are getting '-1' as the number of rows. This appears

 to be an error because there are results in the database and if we 
 attempt to get data, we can do this in a while loop with the fetchRow 
 function and we get valid data. Can anyone give any suggestions?
 
 Jacob Chandler
 


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




[PHP-DEV] Fwd: [PHP-CVS] cvs: php4 /ext/bcmath bcmath.c/ext/bcmath/libbcmath/src bcmath.h init.c output.c raise.c raisemod.c recmul.csqrt.c str2num.c zero.c

2002-11-20 Thread Andi Gutmans
There seems to be some bug in CVS. After I reverted this patch number.c and 
number.h from within ext/bcmath are missing. If I erase them and do a cvs 
update I don't get them anymore. I definitely didn't remove them.
Anyone have any idea?

Andi

From: Andi Gutmans [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Date: Wed, 20 Nov 2002 19:48:13 -
Subject: [PHP-CVS] cvs: php4 /ext/bcmath 
bcmath.c  /ext/bcmath/libbcmath/src bcmath.h init.c output.c raise.c 
raisemod.c recmul.c sqrt.c str2num.c zero.c
X-Bogosity: No, tests=bogofilter, spamicity=0.255710, version=0.8.0

andiWed Nov 20 14:48:13 2002 EDT

  Modified files:
/php4/ext/bcmathbcmath.c
/php4/ext/bcmath/libbcmath/src  bcmath.h init.c output.c raise.c
raisemod.c recmul.c sqrt.c str2num.c
zero.c
  Log:
  - Intermediate commit which works on making bcmath thread-safe.


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
Index: php4/ext/bcmath/bcmath.c
diff -u php4/ext/bcmath/bcmath.c:1.39 php4/ext/bcmath/bcmath.c:1.40
--- php4/ext/bcmath/bcmath.c:1.39   Sun Aug 18 00:33:10 2002
+++ php4/ext/bcmath/bcmath.cWed Nov 20 14:48:12 2002
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: bcmath.c,v 1.39 2002/08/18 04:33:10 kalowsky Exp $ */
+/* $Id: bcmath.c,v 1.40 2002/11/20 19:48:12 andi Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -65,9 +65,9 @@
 #endif
 
 /* Storage used for special numbers. */
-extern bc_num _zero_;
-extern bc_num _one_;
-extern bc_num _two_;
+extern bc_num BCG(_zero_);
+extern bc_num BCG(_one_);
+extern bc_num BCG(_two_);
 
 
 /* Make a copy of a number!  Just increments the reference count! */
@@ -81,15 +81,15 @@
 /* Initialize a number NUM by making it a copy of zero. */
 void init_num (bc_num *num)
 {
-   *num = copy_num (_zero_);
+   *num = copy_num (BCG(_zero_));
 }
 
 
 PHP_RSHUTDOWN_FUNCTION(bcmath)
 {
-   bc_free_num(_zero_);
-   bc_free_num(_one_);
-   bc_free_num(_two_);
+   bc_free_num(BCG(_zero_));
+   bc_free_num(BCG(_one_));
+   bc_free_num(BCG(_two_));
 
return SUCCESS;
 }
Index: php4/ext/bcmath/libbcmath/src/bcmath.h
diff -u php4/ext/bcmath/libbcmath/src/bcmath.h:1.2 
php4/ext/bcmath/libbcmath/src/bcmath.h:1.3
--- php4/ext/bcmath/libbcmath/src/bcmath.h:1.2  Sat Aug 11 12:38:18 2001
+++ php4/ext/bcmath/libbcmath/src/bcmath.h  Wed Nov 20 14:48:12 2002
@@ -80,11 +80,11 @@
 #define LONG_MAX 0x7ff
 #endif
 
-
+#define BCG(s) s##a
 /* Global numbers. */
-extern bc_num _zero_;
-extern bc_num _one_;
-extern bc_num _two_;
+extern bc_num BCG(_zero_);
+extern bc_num BCG(_one_);
+extern bc_num BCG(_two_);
 
 
 /* Function Prototypes */
Index: php4/ext/bcmath/libbcmath/src/init.c
diff -u php4/ext/bcmath/libbcmath/src/init.c:1.1 
php4/ext/bcmath/libbcmath/src/init.c:1.2
--- php4/ext/bcmath/libbcmath/src/init.c:1.1Wed Nov 22 15:20:02 2000
+++ php4/ext/bcmath/libbcmath/src/init.cWed Nov 20 14:48:12 2002
@@ -39,9 +39,9 @@
 #include private.h
 
 /* Storage used for special numbers. */
-bc_num _zero_;
-bc_num _one_;
-bc_num _two_;
+bc_num BCG(_zero_);
+bc_num BCG(_one_);
+bc_num BCG(_two_);
 
  bc_num _bc_Free_list = NULL;
 
@@ -105,11 +105,11 @@
 void
 bc_init_numbers ()
 {
-  _zero_ = bc_new_num (1,0);
-  _one_  = bc_new_num (1,0);
-  _one_-n_value[0] = 1;
-  _two_  = bc_new_num (1,0);
-  _two_-n_value[0] = 2;
+  BCG(_zero_) = bc_new_num (1,0);
+  BCG(_one_)  = bc_new_num (1,0);
+  BCG(_one_)-n_value[0] = 1;
+  BCG(_two_)  = bc_new_num (1,0);
+  BCG(_two_)-n_value[0] = 2;
 }
 
 
@@ -130,6 +130,6 @@
 bc_init_num (num)
  bc_num *num;
 {
-  *num = bc_copy_num (_zero_);
+  *num = bc_copy_num (BCG(_zero_));
 }
 
Index: php4/ext/bcmath/libbcmath/src/output.c
diff -u php4/ext/bcmath/libbcmath/src/output.c:1.2 
php4/ext/bcmath/libbcmath/src/output.c:1.3
--- php4/ext/bcmath/libbcmath/src/output.c:1.2  Sun Nov 26 04:34:01 2000
+++ php4/ext/bcmath/libbcmath/src/output.c  Wed Nov 20 14:48:12 2002
@@ -138,7 +138,7 @@
/* The number is some other base. */
digits = NULL;
bc_init_num (int_part);
-   bc_divide (num, _one_, int_part, 0);
+   bc_divide (num, BCG(_one_), int_part, 0);
bc_init_num (frac_part);
bc_init_num (cur_dig);
bc_init_num (base);
@@ -185,7 +185,7 @@
  {
(*out_char) ('.');
pre_space = 0;
-   t_num = bc_copy_num (_one_);
+   t_num = bc_copy_num (BCG(_one_));
while (t_num-n_len = num-n_scale) {
  bc_multiply (frac_part, base, frac_part, num-n_scale);
  fdigit = bc_num2long (frac_part);
Index: php4/ext/bcmath/libbcmath/src/raise.c
diff -u php4/ext/bcmath/libbcmath/src/raise.c:1.1 
php4/ext/bcmath/libbcmath/src/raise.c:1.2
--- php4/ext/bcmath/libbcmath/src/raise.c:1.1   Wed Nov 22 15:20:02 2000
+++ 

Re: [PHP-DEV] Fwd: [PHP-CVS] cvs: php4 /ext/bcmath bcmath.c/ext/bcmath/libbcmath/src bcmath.h init.c output.c raise.c raisemod.c recmul.csqrt.c str2num.c zero.c

2002-11-20 Thread Andi Gutmans
I have backups of number.c and number.h but I see them in Attic/ so it 
might be better to restore them so that we keep the history. Anyone know 
how to do it? mv Attic/number* . doesn't seem to work.

Andi

At 10:08 PM 11/20/2002 +0200, Andi Gutmans wrote:
There seems to be some bug in CVS. After I reverted this patch number.c 
and number.h from within ext/bcmath are missing. If I erase them and do a 
cvs update I don't get them anymore. I definitely didn't remove them.
Anyone have any idea?

Andi

From: Andi Gutmans [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Date: Wed, 20 Nov 2002 19:48:13 -
Subject: [PHP-CVS] cvs: php4 /ext/bcmath 
bcmath.c  /ext/bcmath/libbcmath/src bcmath.h init.c output.c raise.c 
raisemod.c recmul.c sqrt.c str2num.c zero.c
X-Bogosity: No, tests=bogofilter, spamicity=0.255710, version=0.8.0

andiWed Nov 20 14:48:13 2002 EDT

  Modified files:
/php4/ext/bcmathbcmath.c
/php4/ext/bcmath/libbcmath/src  bcmath.h init.c output.c raise.c
raisemod.c recmul.c sqrt.c str2num.c
zero.c
  Log:
  - Intermediate commit which works on making bcmath thread-safe.


--
PHP CVS 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] Pear::db and odbc issue

2002-11-20 Thread Andreas Karajannis
See:
 http://www.php.net/manual/en/function.odbc-num-rows.php

For a SELECT clause this _can_ be the number of rows available.

Note: Using odbc_num_rows() to determine the number of rows available after 
a SELECT will return -1 with many drivers.

-Andreas
--
Andreas Karajannis
mediaworx berlin  AG

Fon (0 30) 2 75 80 - 266
Fax (0 30) 2 75 80 - 200


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



RE: [PHP-DEV] Fwd: [PHP-CVS] cvs: php4 /ext/bcmath bcmath.c /ext/bcmath/libbcmath/src bcmath.h init.c output.c raise.c raisemod.c recmul.c sqrt.c str2num.c zero.c

2002-11-20 Thread James Cox
well.

the cvs log for these files show Zeev deleted them 3 years ago (after
removing the content). They were GPL'ed, so clearly deleting them was the
only option...

  number.c   1.7   zeev3 yearsWe'll have to live without these files
somehow.
  number.h   1.5   zeev3 yearsWe'll have to live without these files
somehow.

http://cvs.php.net/cvs.php/php4/ext/bcmath?login=2sa=1

obviously your commit  revert caused the files to diseapear from your
checkout -- but i noticed them in my checkouts, and they were still present.
more cvs wierdness, and more reason to look for an alternative.

 -- james

 -Original Message-
 From: Andi Gutmans [mailto:[EMAIL PROTECTED]]
 Sent: Wednesday, November 20, 2002 8:14 PM
 To: [EMAIL PROTECTED]
 Subject: Re: [PHP-DEV] Fwd: [PHP-CVS] cvs: php4 /ext/bcmath bcmath.c
 /ext/bcmath/libbcmath/src bcmath.h init.c output.c raise.c raisemod.c
 recmul.c sqrt.c str2num.c zero.c


 I have backups of number.c and number.h but I see them in Attic/ so it
 might be better to restore them so that we keep the history. Anyone know
 how to do it? mv Attic/number* . doesn't seem to work.

 Andi

 At 10:08 PM 11/20/2002 +0200, Andi Gutmans wrote:
 There seems to be some bug in CVS. After I reverted this patch number.c
 and number.h from within ext/bcmath are missing. If I erase them
 and do a
 cvs update I don't get them anymore. I definitely didn't remove them.
 Anyone have any idea?
 
 Andi
 
 From: Andi Gutmans [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Date: Wed, 20 Nov 2002 19:48:13 -
 Subject: [PHP-CVS] cvs: php4 /ext/bcmath
 bcmath.c  /ext/bcmath/libbcmath/src bcmath.h init.c output.c raise.c
 raisemod.c recmul.c sqrt.c str2num.c zero.c
 X-Bogosity: No, tests=bogofilter, spamicity=0.255710, version=0.8.0
 
 andiWed Nov 20 14:48:13 2002 EDT
 
Modified files:
  /php4/ext/bcmathbcmath.c
  /php4/ext/bcmath/libbcmath/src  bcmath.h init.c
 output.c raise.c
  raisemod.c recmul.c
 sqrt.c str2num.c
  zero.c
Log:
- Intermediate commit which works on making bcmath thread-safe.
 
 
 --
 PHP CVS 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] Fwd: [PHP-CVS] cvs: php4 /ext/bcmath bcmath.c/ext/bcmath/libbcmath/src bcmath.h init.c output.c raise.c raisemod.c recmul.csqrt.c str2num.c zero.c

2002-11-20 Thread Andi Gutmans
Yeah. Well they definitely existed because the author removed the GPL 
restriction and I was building it two hours ago :)

Andi

At 08:40 PM 11/20/2002 +, James Cox wrote:
well.

the cvs log for these files show Zeev deleted them 3 years ago (after
removing the content). They were GPL'ed, so clearly deleting them was the
only option...

  number.c   1.7   zeev3 yearsWe'll have to live without these files
somehow.
  number.h   1.5   zeev3 yearsWe'll have to live without these files
somehow.

http://cvs.php.net/cvs.php/php4/ext/bcmath?login=2sa=1

obviously your commit  revert caused the files to diseapear from your
checkout -- but i noticed them in my checkouts, and they were still present.
more cvs wierdness, and more reason to look for an alternative.

 -- james

 -Original Message-
 From: Andi Gutmans [mailto:[EMAIL PROTECTED]]
 Sent: Wednesday, November 20, 2002 8:14 PM
 To: [EMAIL PROTECTED]
 Subject: Re: [PHP-DEV] Fwd: [PHP-CVS] cvs: php4 /ext/bcmath bcmath.c
 /ext/bcmath/libbcmath/src bcmath.h init.c output.c raise.c raisemod.c
 recmul.c sqrt.c str2num.c zero.c


 I have backups of number.c and number.h but I see them in Attic/ so it
 might be better to restore them so that we keep the history. Anyone know
 how to do it? mv Attic/number* . doesn't seem to work.

 Andi

 At 10:08 PM 11/20/2002 +0200, Andi Gutmans wrote:
 There seems to be some bug in CVS. After I reverted this patch number.c
 and number.h from within ext/bcmath are missing. If I erase them
 and do a
 cvs update I don't get them anymore. I definitely didn't remove them.
 Anyone have any idea?
 
 Andi
 
 From: Andi Gutmans [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Date: Wed, 20 Nov 2002 19:48:13 -
 Subject: [PHP-CVS] cvs: php4 /ext/bcmath
 bcmath.c  /ext/bcmath/libbcmath/src bcmath.h init.c output.c raise.c
 raisemod.c recmul.c sqrt.c str2num.c zero.c
 X-Bogosity: No, tests=bogofilter, spamicity=0.255710, version=0.8.0
 
 andiWed Nov 20 14:48:13 2002 EDT
 
Modified files:
  /php4/ext/bcmathbcmath.c
  /php4/ext/bcmath/libbcmath/src  bcmath.h init.c
 output.c raise.c
  raisemod.c recmul.c
 sqrt.c str2num.c
  zero.c
Log:
- Intermediate commit which works on making bcmath thread-safe.
 
 
 --
 PHP CVS 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] RFC: ZE2 and abstract

2002-11-20 Thread Stig S. Bakken
On Tue, 19 Nov 2002, Marcus Börger wrote:

 The link below contain a patch that allows abstract functions in ZE2.
 http://marcus-boerger.de/php/ext/ze2
 
 abstract [static] function '(' parameters ')' ';'
 
 it would be possible to make the ';' optional.
 
 When an abstract method is called a fatal error is generated and
 execution stops. Another way of handling abstract would be to
 generate an E_WARNING or throw an exception. I experimented
 with the second one already but do not like it. I favor the first
 over the third but haven't tried that yet.
 
 The thinks i did:
 introduce T_ABSTRACT = abstract and modified the parser.
 added is_abstract after is_static in zend_function (and such)
 emit an E_ERROR when is_abstract is set in 
 zend_init_static_method_call_handler  zend_init_method_call_handler
 
 marcus

I like abstract, it provides a good alternative to interfaces.  If we
make it interact right with aggregate and overloaded objects, we're
starting to have a very powerful OO platform, even for the Java buffs. :)

We need to figure out what happens with abstract methods if the object
aggregates a class that defines this method, and if/how __call should be
invoked if you try calling an abstract method (instead of just bailing out
with E_ERROR).

Andi and I agreed on how we wanted aggregate to work in Frankfurt, I'll 
write another followup tomorrow describing our conclusions on that and 
more in detail the problems we must solve related to abstract (too busy 
tonight).

 - Stig


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




Re: [PHP-DEV] error handling

2002-11-20 Thread Stig S. Bakken
On Wed, 20 Nov 2002, Ivan Ristic wrote:

  Create a configuration directive error_handler which accepts one of
  Two values... Either a PHP script (like auto_prepend) which is
 
And how about that we change PHP so that it changes
the status of the response to 500 on a fatal error? Then
you would be able to use the Apache directive
 
ErrorDocument 500 /handle-my-errors.php
 
to deal with them. You would have to use output buffering,
of course, but using output buffering is the only way to
shield your users from errors anyway.

+1 !!

Why didn't anyone think of this before? :)

 - Stig


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




Re: [PHP-DEV] Pear::db and odbc issue

2002-11-20 Thread Stig S. Bakken
On Wed, 20 Nov 2002, Chandler, Jacob R wrote:

 We are querying two different odbc databases using the Pear::DB library.
 When we try to print out the number of Rows ($result-numRows()), the
 output is 'Object'. We tried the same thing using odbc and we are
 getting '-1' as the number of rows. This appears to be an error because
 there are results in the database and if we attempt to get data, we can
 do this in a while loop with the fetchRow function and we get valid
 data. Can anyone give any suggestions?

Try var_dump()ing the object you get from numRows(), it could be a PEAR
error object.

In general numRows is not something you can rely on, at least not if you
want your code to be portable to other databases.

 - Stig


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




RE: [PHP-DEV] error handling

2002-11-20 Thread John Coggeshall
|And how about that we change PHP so that it changes
|the status of the response to 500 on a fatal error? Then
|you would be able to use the Apache directive
| 
|ErrorDocument 500 /handle-my-errors.php
| 
|to deal with them. You would have to use output buffering,
|of course, but using output buffering is the only way to
|shield your users from errors anyway.
|
|+1 !!
|
|Why didn't anyone think of this before? :)

A couple of problems with that:

1) No way for handle-my-errors.php to know the details of the error such
as errorcode, file, etc)
2) Relies on the web server (not PHP) to re-direct the user to another
script

If we are willing to do this, think we're better off creating a
directive error_url which requires output buffering enabled and
re-directs the user to another URL with GET parameters containing the
error messages.

John



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




[PHP-DEV] RE: error handling

2002-11-20 Thread Dan Hardiker
PLEASE use  to signify portions of previous messages. Consult your mail
reader's manual if nessesary. Its making following this thread
irritatingly messy.

Thankyou (note - this is the 3rd time this request as been made)

- Dan

 |And how about that we change PHP so that it changes
 |the status of the response to 500 on a fatal error? Then
 |you would be able to use the Apache directive
 |
 |ErrorDocument 500 /handle-my-errors.php
 |
 |to deal with them. You would have to use output buffering,
 |of course, but using output buffering is the only way to
 |shield your users from errors anyway.
 |
 |+1 !!
 |
 |Why didn't anyone think of this before? :)


-- 
Dan Hardiker [[EMAIL PROTECTED]]
ADAM Software  Systems Engineer
First Creative



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




Re: [PHP-DEV] GIF support

2002-11-20 Thread Stefan Esser
Question...

Would it be illegal (patent violation) to add a compile switch to php...

--enable-gif-support-and-violate-the-unisys-patent

which activates the GIF support? We cleary say, that using it is a
violation...
As far as i know, only using the LZW Algo violates the patent, but not
having it on your harddisk, or?

Stefan Esser


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




RE: [PHP-DEV] error handling

2002-11-20 Thread John Coggeshall

true...

i'd like to see a 500 error though, and some persistent vars...

See, the problem that I'm seeing here is that I don't believe PHP is
reponsible for setting the error code returned by PHP.. For instance, a
404 error isn't handle by PHP at all. Likewise, I don't think PHP can
say turn this into a 500 error to Apache. 

John



 -- james

 -Original Message-
 From: John Coggeshall [mailto:[EMAIL PROTECTED]]
 Sent: Wednesday, November 20, 2002 10:48 PM
 To: 'James Cox'
 Subject: RE: [PHP-DEV] error handling
 
 
 that can't really be done because parsing has happened, and so
 output has started -- but if we return status 500, the 
 webserver can manage it properly..
 
 Only if output buffering is off. Custom error handling should have 
 output buffering on anyway as I've already said... John
 
 



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




RE: [PHP-DEV] error handling

2002-11-20 Thread James Cox
it can; 500 means server error -- perl, cgi, mod_include, etc all do it, so
why shouldn't php?

 -- james

 -Original Message-
 From: John Coggeshall [mailto:[EMAIL PROTECTED]]
 Sent: Wednesday, November 20, 2002 11:06 PM
 To: 'James Cox'
 Cc: 'PHP Developers Mailing List'
 Subject: RE: [PHP-DEV] error handling



 true...
 
 i'd like to see a 500 error though, and some persistent vars...

 See, the problem that I'm seeing here is that I don't believe PHP is
 reponsible for setting the error code returned by PHP.. For instance, a
 404 error isn't handle by PHP at all. Likewise, I don't think PHP can
 say turn this into a 500 error to Apache.

 John


 
  -- james
 
  -Original Message-
  From: John Coggeshall [mailto:[EMAIL PROTECTED]]
  Sent: Wednesday, November 20, 2002 10:48 PM
  To: 'James Cox'
  Subject: RE: [PHP-DEV] error handling
 
 
  that can't really be done because parsing has happened, and so
  output has started -- but if we return status 500, the
  webserver can manage it properly..
 
  Only if output buffering is off. Custom error handling should have
  output buffering on anyway as I've already said... John
 
 
 




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




RE: [PHP-DEV] error handling

2002-11-20 Thread Ray Hunter
The problem with this is that the 500 error does not provide any
information about the error.

Which for me is a bad thing.

Now that I think about it i am seeing some light...

I do like the idea of somehow passing a string to it.  With cgi, it
makes me mad because i have to got and check the logs...(development
stage).  However, in production i like the idea of apache throwing the
500 instead of a blank page...

I guess i am straddling the fence here...



On Wed, 2002-11-20 at 16:11, James Cox wrote:
 it can; 500 means server error -- perl, cgi, mod_include, etc all do it, so
 why shouldn't php?
 
  -- james
 
  -Original Message-
  From: John Coggeshall [mailto:[EMAIL PROTECTED]]
  Sent: Wednesday, November 20, 2002 11:06 PM
  To: 'James Cox'
  Cc: 'PHP Developers Mailing List'
  Subject: RE: [PHP-DEV] error handling
 
 
 
  true...
  
  i'd like to see a 500 error though, and some persistent vars...
 
  See, the problem that I'm seeing here is that I don't believe PHP is
  reponsible for setting the error code returned by PHP.. For instance, a
  404 error isn't handle by PHP at all. Likewise, I don't think PHP can
  say turn this into a 500 error to Apache.
 
  John
 
 
  
   -- james
  
   -Original Message-
   From: John Coggeshall [mailto:[EMAIL PROTECTED]]
   Sent: Wednesday, November 20, 2002 10:48 PM
   To: 'James Cox'
   Subject: RE: [PHP-DEV] error handling
  
  
   that can't really be done because parsing has happened, and so
   output has started -- but if we return status 500, the
   webserver can manage it properly..
  
   Only if output buffering is off. Custom error handling should have
   output buffering on anyway as I've already said... John
  
  
  
 
 


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




RE: [PHP-DEV] error handling

2002-11-20 Thread James Cox
a combination of log_error directives and a 500 error you can handle would
do the trick... we're talking about production... have a script to check
your php log and mail / sms you if it gets full..

 -- james

 -Original Message-
 From: Ray Hunter [mailto:[EMAIL PROTECTED]]
 Sent: Wednesday, November 20, 2002 11:17 PM
 To: James Cox
 Cc: 'PHP Developers Mailing List'
 Subject: RE: [PHP-DEV] error handling


 The problem with this is that the 500 error does not provide any
 information about the error.

 Which for me is a bad thing.

 Now that I think about it i am seeing some light...

 I do like the idea of somehow passing a string to it.  With cgi, it
 makes me mad because i have to got and check the logs...(development
 stage).  However, in production i like the idea of apache throwing the
 500 instead of a blank page...

 I guess i am straddling the fence here...



 On Wed, 2002-11-20 at 16:11, James Cox wrote:
  it can; 500 means server error -- perl, cgi, mod_include, etc
 all do it, so
  why shouldn't php?
 
   -- james
 
   -Original Message-
   From: John Coggeshall [mailto:[EMAIL PROTECTED]]
   Sent: Wednesday, November 20, 2002 11:06 PM
   To: 'James Cox'
   Cc: 'PHP Developers Mailing List'
   Subject: RE: [PHP-DEV] error handling
  
  
  
   true...
   
   i'd like to see a 500 error though, and some persistent vars...
  
   See, the problem that I'm seeing here is that I don't believe PHP is
   reponsible for setting the error code returned by PHP.. For
 instance, a
   404 error isn't handle by PHP at all. Likewise, I don't think PHP can
   say turn this into a 500 error to Apache.
  
   John
  
  
   
-- james
   
-Original Message-
From: John Coggeshall [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, November 20, 2002 10:48 PM
To: 'James Cox'
Subject: RE: [PHP-DEV] error handling
   
   
that can't really be done because parsing has happened, and so
output has started -- but if we return status 500, the
webserver can manage it properly..
   
Only if output buffering is off. Custom error handling should have
output buffering on anyway as I've already said... John
   
   
   
  
  




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




Re: [PHP-DEV] error handling

2002-11-20 Thread Ivan Ristic


The problem with this is that the 500 error does not provide any
information about the error.


  To the user, no. I wouldn't want users to see low level
  error messages anyway. Since standard error handlers can
  catch normal messages, the fact that a 500 error has
  occured means that something bigger is wrong and you
  have to go and fix it anyway. Then you can look the error
  message in the log file and see what the problem was.

  Also, the message will probably be parse error at line XXX
  anyway :))

  You would probably keep this off during the development
  phase, in which case messages will appear directly on
  screen.

Ivan


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




RE: [PHP-DEV] error handling

2002-11-20 Thread John Coggeshall

I also believe that header(HTTP/1.1 500 ...) will do the 
trick, and there is also the revamped Apache hooks stuff that 
is being worked on that should give even more control to 
developers who choose to use it.

For some reason here, everyone is forgetting that PHP isn't running just
on apache web servers. I don't agree with the idea of relying on the
potential of apache_hooks, when they are still experimental and
furthermore of course Apache-specific. 

I think everyone is in agreement here that better ways to deal with
fatal errors is desirable, and we seem to be aruging about
implementation. Although I do like the idea of having a 500 error, I
don't believe it provides enough flexablity to the developer when
dealing with the error (since there is no way to determine the nature of
the error). 

With that in mind, here's what I propose:

1) two new configuration directives. The first error_handler which
supports the following forms:

internal  (default) -- the standard method of handling errors 
url Upon an error, re-direct the browser to a new URL
and pass a GET query containing the error info
  servercreate a 500 error
  
   The second directive error_handler_url should specify the URL to pass
to if 'url' for error_handler is specififed

2) If the URL option is used, all of the standard error parameters are
passed via GET parameters

I believe this way provides the most flexablity to deal with any error
PHP is going to throw at a user without breaking old code. 

Please RFC of course :)

John


-Original Message-
From: Chris Shiflett [mailto:[EMAIL PROTECTED]] 
Sent: Wednesday, November 20, 2002 6:31 PM
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: RE: [PHP-DEV] error handling


--- John Coggeshall [EMAIL PROTECTED] wrote:
 See, the problem that I'm seeing here is that I don't believe PHP is 
 reponsible for setting the error code returned by PHP.. For 
instance, 
 a 404 error isn't handle by PHP at all. Likewise, I don't think PHP 
 can say turn this into a 500 error to Apache.


Chris



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




RE: [PHP-DEV] error handling

2002-11-20 Thread Stig S. Bakken
On Wed, 20 Nov 2002, John Coggeshall wrote:

 |And how about that we change PHP so that it changes
 |the status of the response to 500 on a fatal error? Then
 |you would be able to use the Apache directive
 | 
 |ErrorDocument 500 /handle-my-errors.php
 | 
 |to deal with them. You would have to use output buffering,
 |of course, but using output buffering is the only way to
 |shield your users from errors anyway.
 |
 |+1 !!
 |
 |Why didn't anyone think of this before? :)
 
 A couple of problems with that:
 
 1) No way for handle-my-errors.php to know the details of the error such
 as errorcode, file, etc)
 2) Relies on the web server (not PHP) to re-direct the user to another
 script
 
 If we are willing to do this, think we're better off creating a
 directive error_url which requires output buffering enabled and
 re-directs the user to another URL with GET parameters containing the
 error messages.

If ErrorDocument is implemented as a sub-request in Apache, it would be 
enough for PHP to set one or more Apache notes with the necessary 
information.

 - Stig


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




RE: [PHP-DEV] error handling

2002-11-20 Thread John Coggeshall

If ErrorDocument is implemented as a sub-request in Apache, it 
would be 
enough for PHP to set one or more Apache notes with the necessary 
information.

Again, what about IIS, etc? 

John


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




RE: [PHP-DEV] error handling

2002-11-20 Thread Derick Rethans
On Thu, 21 Nov 2002, John Coggeshall wrote:

 
 If ErrorDocument is implemented as a sub-request in Apache, it 
 would be 
 enough for PHP to set one or more Apache notes with the necessary 
 information.
 
 Again, what about IIS, etc? 

Who cares?  :) It really would be much better if some person who thinks 
IIS rulez fixes the ISAPI module. If that doesn't work correctly nobody 
should use it at all.

Derick

-- 

---
 Derick Rethans   http://derickrethans.nl/ 
 JDI Media Solutions
--[ if you hold a unix shell to your ear, do you hear the c? ]-


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




RE: [PHP-DEV] error handling

2002-11-20 Thread John Coggeshall
Who cares?  :) It really would be much better if some person 
who thinks 
IIS rulez fixes the ISAPI module. If that doesn't work 
correctly nobody 
should use it at all.

I'm not saying I'm a IIS fan. :) I rather implement one solution
Which works, period. IMHO that's better than have different work
arounds for each
Version of PHP. 

If I hacked on the source a bit and got this redirect-error thing
working, would it
Be perhaps worthy of a commit?

John


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




RE: [PHP-DEV] error handling

2002-11-20 Thread Derick Rethans
On Thu, 21 Nov 2002, John Coggeshall wrote:

 Who cares?  :) It really would be much better if some person 
 who thinks 
 IIS rulez fixes the ISAPI module. If that doesn't work 
 correctly nobody 
 should use it at all.
 
 I'm not saying I'm a IIS fan. :) I rather implement one solution
 Which works, period. IMHO that's better than have different work
 arounds for each
 Version of PHP. 
 
 If I hacked on the source a bit and got this redirect-error thing
 working, would it be perhaps worthy of a commit?

I still think that an included file just should fail hard and I just 
dont like this kind of obfucsication.

Derick

-- 

---
 Derick Rethans   http://derickrethans.nl/ 
 JDI Media Solutions
--[ if you hold a unix shell to your ear, do you hear the c? ]-


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