[PHP-DEV] CVS Account Request: yincheng

2002-06-07 Thread Xiao shengwen

Translating the documentation
I want to translating the documentation to Simple Chines.

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




[PHP-DEV] Re: Introducing EXCPLICIT

2002-06-07 Thread Ilker Cetinkaya

j,

nevermind, you're not the first one who says stop using php if you want oo
and strong types aso aso.
my decision is not only reasoned by your reply.
sorry for dropping just a single line - i had to leave my desk

regards,
ilker

J Smith [EMAIL PROTECTED] wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...

 I wouldn't take my opinion as law, as I'm not part of the core PHP Group
or
 anything, so I don't speak for anyone but myself. All I'm saying is that I
 seem to remember this issue being brought up before, and the result was
 that PHP is not a strong typed language, and probably won't become one any
 time soon.

 A couple of weeks ago the discussion kind of stirred up again with the
idea
 of string types.

 You can sort of do your own data type checks now using is_int(),
is_array(),
 etc., which although falls short of true strong typing, is better than
 nothing.

 If you want to move to C#, super. Use the tool that fits the job. But I
hope
 to hell you aren't doing it just 'cause I sent you a reply on a newsgroup
 that you didn't like. Personally, I wouldn't mind a slightly stronger
typed
 PHP (at least for function arguments) as long as BC and portability were
 maintained and it was totally optional.

 J


 Ilker Cetinkaya wrote:

  thank you for your reply,
 
  i'll change to c# as soon as i've finished my current projects.
 
  regards,
  ilker
 




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




[PHP-DEV] [PATCH] New function implode_multi

2002-06-07 Thread C. McCohy

Hi there,

  while creating some stuff in PHP, I needed the PHP function implode()
work like Perl function join, so that the first argument of the function
is glue and an unlimited list of other arguments is made of arrays and
strings. So I made a new function called implode_multi (with an alias
join_multi). The code works fine and correctly, here is an example:

?
$fruits = array('banana', 'orange', 'apple');
$vegetables = array('carrot', 'cabbage', 'cucumber');
$favorite_food = 'icecream';

$all_day_food = implode_multi(', ', $fruits, $vegetables, $favorite_food);
// ... = banana, orange, apple, carrot, cabbage, cucumber, icecream
?

--
Bye ... C. McCohy

The killings will not stop until you Karel Roden

---
diff -aur php-4.2.1.orig/ext/standard/basic_functions.c 
php-4.2.1/ext/standard/basic_functions.c
--- php-4.2.1.orig/ext/standard/basic_functions.c   Sat May 11 21:23:05 2002
+++ php-4.2.1/ext/standard/basic_functions.cFri Jun  7 09:30:40 2002
 -339,6 +339,7 
PHP_FE(similar_text,third_arg_force_ref)
PHP_FE(explode,
 NULL)
PHP_FE(implode,
 NULL)
+   PHP_FE(implode_multi,  
+ NULL)
PHP_FE(setlocale,  
 NULL)
PHP_FE(localeconv, 
 NULL)

 -576,6 +577,7 
PHP_FE(split,  
 NULL)
PHP_FE(spliti, 
 NULL)
PHP_FALIAS(join,implode,   
 NULL)
+   PHP_FALIAS(join_multi,  implode_multi, 
+ NULL)
PHP_FE(sql_regcase,
 NULL)

/* functions from dl.c */
diff -aur php-4.2.1.orig/ext/standard/php_string.h php-4.2.1/ext/standard/php_string.h
--- php-4.2.1.orig/ext/standard/php_string.hThu Feb 28 09:26:48 2002
+++ php-4.2.1/ext/standard/php_string.h Thu Jun  6 15:55:59 2002
 -37,6 +37,7 
 PHP_FUNCTION(wordwrap);
 PHP_FUNCTION(explode);
 PHP_FUNCTION(implode);
+PHP_FUNCTION(implode_multi);
 PHP_FUNCTION(strtok);
 PHP_FUNCTION(strtoupper);
 PHP_FUNCTION(strtolower);
diff -aur php-4.2.1.orig/ext/standard/string.c php-4.2.1/ext/standard/string.c
--- php-4.2.1.orig/ext/standard/string.cThu Apr 25 16:52:58 2002
+++ php-4.2.1/ext/standard/string.c Fri Jun  7 09:43:13 2002
 -874,6 +874,111 
 }
 /* }}} */

+/* {{{ proto string join_multi(string glue, mixed var [, mixed var [, ...]])
+   An alias for implode_multi */
+/* }}} */
+
+/* {{{ proto string implode_multi(string glue, mixed var [, mixed var [, ...]])
+   Joins elements with a string, if element is an array, joins its pieces */
+PHP_FUNCTION(implode_multi)
+{
+   zval***args;
+   int argc;
+   zval*delim;
+   char*result_str;
+   int i, len = 0, target = 0;
+
+   argc=ZEND_NUM_ARGS();
+   if (argc  2) {
+   WRONG_PARAM_COUNT;
+   }
+
+   args = (zval ***) emalloc(argc * sizeof(zval **));
+
+   if (zend_get_parameters_array_ex(argc, args) == FAILURE) {
+   efree(args);
+   WRONG_PARAM_COUNT;
+   }
+
+   if (Z_TYPE_PP(args[0]) != IS_STRING) {
+   php_error(E_WARNING, First argument to %s() must be string,
+   get_active_function_name(TSRMLS_C));
+   return;
+   }
+
+   convert_to_string_ex(args[0]);
+   delim = *args[0];
+
+   for (i = 1; i  argc; i++) {
+   zval *actarg;
+   actarg = *args[i];
+
+   if (Z_TYPE_PP(args[i]) == IS_ARRAY) {
+   int count = 0;
+   HashPosition pos;
+   zval **tmp;
+
+   zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(actarg), pos);
+   while (zend_hash_get_current_data_ex(Z_ARRVAL_P(actarg), (void 
+**) tmp, pos) == SUCCESS) {
+   convert_to_string_ex(tmp);
+   len += Z_STRLEN_PP(tmp);
+   count++;
+  

Re: [PHP-DEV] [PATCH] New function implode_multi

2002-06-07 Thread Markus Fischer

Hi,

On Fri, Jun 07, 2002 at 10:49:21AM +0200, C. McCohy wrote : 
 ?
 $fruits = array('banana', 'orange', 'apple');
 $vegetables = array('carrot', 'cabbage', 'cucumber');
 $favorite_food = 'icecream';
 
 $all_day_food = implode_multi(', ', $fruits, $vegetables, $favorite_food);
 // ... = banana, orange, apple, carrot, cabbage, cucumber, icecream
 ?

Do we really need a new function just to save a few
keystrokes? Using array_merge() can you achive the same
thing:

?
$fruits = array('banana', 'orange', 'apple');
$vegetables = array('carrot', 'cabbage', 'cucumber');
favourite_food = 'icecream';

$foo = implode(', ', array_merge($fruits, $vegetables, 
array($favourite_food)));
var_dump($foo);
?

$ php test2.php 
string(58) banana, orange, apple, carrot, cabbage, cucumber, icecream

- Markus

-- 
GnuPG Key: http://guru.josefine.at/~mfischer/C2272BD0.asc

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




Re: [PHP-DEV] [PATCH] New function implode_multi

2002-06-07 Thread Markus Fischer

On Fri, Jun 07, 2002 at 11:02:45AM +0200, Markus Fischer wrote : 
 Hi,
 
 On Fri, Jun 07, 2002 at 10:49:21AM +0200, C. McCohy wrote : 
  ?
  $fruits = array('banana', 'orange', 'apple');
  $vegetables = array('carrot', 'cabbage', 'cucumber');
  $favorite_food = 'icecream';
  
  $all_day_food = implode_multi(', ', $fruits, $vegetables, $favorite_food);
  // ... = banana, orange, apple, carrot, cabbage, cucumber, icecream
  ?
 
 Do we really need a new function just to save a few
 keystrokes? 

OTOH, I can't see a real BC problem if we would
enhance/replace the current implode with your function. Does
someone else?

- Markus

-- 
GnuPG Key: http://guru.josefine.at/~mfischer/C2272BD0.asc

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




Re: [PHP-DEV] Re: [Zend Engine 2] PHP in the future

2002-06-07 Thread Kristian Koehntopp

Am Donnerstag, 6. Juni 2002 19:59 schrieb Dan Hardiker:
 I sit in many PHP channels (IRC), and observe many class-based
 PHP networks (php-classes.org is one I monitor closely) and
 can say definatly that the majority of PHP users want *more*
 OO capabilities in PHP. 

From a marketing POV, what most people want is NOT more OOP in 
PHP, but actually a hostable Java.

PHP is everywhere and pretty much free, when it comes to webspace 
hosting. Java usually isn't, because it has certain requirements 
for its execution environment that cannot be met in cheap 
hosting environments.

So when users ask for more OO in PHP, they usually want Java 
and Java capabilities for the price of their current PHP site, 
and a migration path towards this. Since there is no such thing, 
they end up trying to turn PHP into Java.

Kristian


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




[PHP-DEV] Registering classes in PHP extension

2002-06-07 Thread Eunsoo Seo

Hi.

Any manual about registering classes in PHP extension?
I found that the function zend_register_internal_class can do that.
And I read some code in ext/ that contaings that function, but I can hardly
understand that code.

Any manual or tutorial about that topic?

Thanks.



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




Re: [PHP-DEV] Re: [Zend Engine 2] PHP in the future

2002-06-07 Thread Dan Hardiker


 Am Donnerstag, 6. Juni 2002 19:59 schrieb Dan Hardiker:
 I sit in many PHP channels (IRC), and observe many class-based
 PHP networks (php-classes.org is one I monitor closely) and
 can say definatly that the majority of PHP users want *more*
 OO capabilities in PHP.
[..]
 So when users ask for more OO in PHP, they usually want Java
 and Java capabilities for the price of their current PHP site,
 and a migration path towards this. Since there is no such thing,
 they end up trying to turn PHP into Java.

I disagree *very* strongly with this statement. When people ask for more
OO they want more OO! Its like saying that if people wanted VC++ to be
more OOed then they would just be wanting Delphi... which is just untrue.
The masses are asking for more flexability and expanded capabilities - not
to turn PHP into anything its not already. PHP is a partially OOed
language currently, extending it into other OO areas
(public/private/protected methods  variables) is not altering the
language structure, aim or purpose.
What the masses are *not* asking for is for PHP to do things the java
way. That has never been suggested or hinted at... anyone wanting this
can go use Java.
I dont want to use java for my current projects - there is JSP but it
doesnt fit for the majority of the projects I do (right tool for the right
job). Giving PHP extra OOP capabilities would extend what I can do with
PHP and where I can use it. This isnt about cost of using PHP over Java
 its about the right tool for the right job to complete at the right
speed.

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



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




[PHP-DEV] DOMXML Function consistency

2002-06-07 Thread Joseph Tate

A bug report or two have been made regarding function names in attribute
nodes.  Taking a look, nodes have the following access functions:

node_name
node_type
node_value

etc.  However attribute nodes have the following access functions:

name
value
specified

I am thinking that to make it more consistent, we should change the
attribute functions to
attr_name or node_name
attr_value or node_value
attr_specified or node_specified

I'd vote for the latter series since the programmer already knows they're
attributes.  Renaming will reduce the WTF factor.  We can leave the aliases
to the old functions for a while to maintain BC.

WISH: I wish there was a Zend Function for marking a function alias as
deprecated, I.e. so that a warning message is displayed if the function is
used after being marked deprecated.  A way to display the replacement
function in the warning message would be nice too.

Joseph


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




Re: [PHP-DEV] DOMXML Function consistency

2002-06-07 Thread Garland foster

The DOM level 1 W3C's recommendation specifies node_name, node_type and
node_value,
I'd like the DOMextension to map the W3C spec as close as possible.
I'd even recommend not implementing the suggested functions as alises since
that would
encorage non-standard DOM applications.

- Original Message -
From: Joseph Tate [EMAIL PROTECTED]
To: Php-Dev List [EMAIL PROTECTED]
Sent: Friday, June 07, 2002 11:16 AM
Subject: [PHP-DEV] DOMXML Function consistency


 A bug report or two have been made regarding function names in attribute
 nodes.  Taking a look, nodes have the following access functions:

 node_name
 node_type
 node_value

 etc.  However attribute nodes have the following access functions:

 name
 value
 specified

 I am thinking that to make it more consistent, we should change the
 attribute functions to
 attr_name or node_name
 attr_value or node_value
 attr_specified or node_specified

 I'd vote for the latter series since the programmer already knows they're
 attributes.  Renaming will reduce the WTF factor.  We can leave the
aliases
 to the old functions for a while to maintain BC.

 WISH: I wish there was a Zend Function for marking a function alias as
 deprecated, I.e. so that a warning message is displayed if the function is
 used after being marked deprecated.  A way to display the replacement
 function in the warning message would be nice too.

 Joseph


 --
 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] DOMXML Function consistency

2002-06-07 Thread Christian Stocker

Hi

I have no problem with that, but the old functions should not be
deprecated, it's the W3C-Standard way. And if i understood it correctly,
both methods (name and nodeName) can be used for the same...

chregu

On Fri, 7 Jun 2002, Joseph Tate wrote:

 A bug report or two have been made regarding function names in attribute
 nodes.  Taking a look, nodes have the following access functions:

 node_name
 node_type
 node_value

 etc.  However attribute nodes have the following access functions:

 name
 value
 specified

 I am thinking that to make it more consistent, we should change the
 attribute functions to
 attr_name or node_name
 attr_value or node_value
 attr_specified or node_specified

 I'd vote for the latter series since the programmer already knows they're
 attributes.  Renaming will reduce the WTF factor.  We can leave the aliases
 to the old functions for a while to maintain BC.

 WISH: I wish there was a Zend Function for marking a function alias as
 deprecated, I.e. so that a warning message is displayed if the function is
 used after being marked deprecated.  A way to display the replacement
 function in the warning message would be nice too.

 Joseph




-- 
nam...christian stockeradr...bremgartnerstr. 66, ch-8003 zurich
pho...+41  1 451 6021  www...http://phant.ch/chregu
mob...+41 76 561 8860  [EMAIL PROTECTED]
wor...+41  1 240 5670  gpg...0x5CE1DECB


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




Re: [PHP-DEV] DOMXML Function consistency

2002-06-07 Thread Christian Stocker

On Fri, 7 Jun 2002, Garland foster wrote:

 The DOM level 1 W3C's recommendation specifies node_name, node_type and
 node_value,
 I'd like the DOMextension to map the W3C spec as close as possible.

but it's at least a DOM level 2 W3C recommendation:
http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-637646024
(except type)

 I'd even recommend not implementing the suggested functions as alises since
 that would
 encorage non-standard DOM applications.

keeping BC for some time is not that bad :)

chregu


 - Original Message -
 From: Joseph Tate [EMAIL PROTECTED]
 To: Php-Dev List [EMAIL PROTECTED]
 Sent: Friday, June 07, 2002 11:16 AM
 Subject: [PHP-DEV] DOMXML Function consistency


  A bug report or two have been made regarding function names in attribute
  nodes.  Taking a look, nodes have the following access functions:
 
  node_name
  node_type
  node_value
 
  etc.  However attribute nodes have the following access functions:
 
  name
  value
  specified
 
  I am thinking that to make it more consistent, we should change the
  attribute functions to
  attr_name or node_name
  attr_value or node_value
  attr_specified or node_specified
 
  I'd vote for the latter series since the programmer already knows they're
  attributes.  Renaming will reduce the WTF factor.  We can leave the
 aliases
  to the old functions for a while to maintain BC.
 
  WISH: I wish there was a Zend Function for marking a function alias as
  deprecated, I.e. so that a warning message is displayed if the function is
  used after being marked deprecated.  A way to display the replacement
  function in the warning message would be nice too.
 
  Joseph
 
 
  --
  PHP Development Mailing List http://www.php.net/
  To unsubscribe, visit: http://www.php.net/unsub.php
 
 




-- 
nam...christian stockeradr...bremgartnerstr. 66, ch-8003 zurich
pho...+41  1 451 6021  www...http://phant.ch/chregu
mob...+41 76 561 8860  [EMAIL PROTECTED]
wor...+41  1 240 5670  gpg...0x5CE1DECB


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




Re: [PHP-DEV] Re: [Zend Engine 2] PHP in the future

2002-06-07 Thread brad lafountain


--- Dan Hardiker [EMAIL PROTECTED] wrote:
 
  Am Donnerstag, 6. Juni 2002 19:59 schrieb Dan Hardiker:
  I sit in many PHP channels (IRC), and observe many class-based
  PHP networks (php-classes.org is one I monitor closely) and
  can say definatly that the majority of PHP users want *more*
  OO capabilities in PHP.
 [..]
  So when users ask for more OO in PHP, they usually want Java
  and Java capabilities for the price of their current PHP site,
  and a migration path towards this. Since there is no such thing,
  they end up trying to turn PHP into Java.
 
 I disagree *very* strongly with this statement. When people ask for more
 OO they want more OO! Its like saying that if people wanted VC++ to be
 more OOed then they would just be wanting Delphi... which is just untrue.
 The masses are asking for more flexability and expanded capabilities - not
 to turn PHP into anything its not already. PHP is a partially OOed
 language currently, extending it into other OO areas
 (public/private/protected methods  variables) is not altering the
 language structure, aim or purpose.
 What the masses are *not* asking for is for PHP to do things the java
 way. That has never been suggested or hinted at... anyone wanting this
 can go use Java.
 I dont want to use java for my current projects - there is JSP but it
 doesnt fit for the majority of the projects I do (right tool for the right
 job). Giving PHP extra OOP capabilities would extend what I can do with
 PHP and where I can use it. This isnt about cost of using PHP over Java
  its about the right tool for the right job to complete at the right
 speed.

 Ex-friggin-actly, i couldn't agree with this more.


 - brad

__
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com

-- 
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] Re: [Zend Engine 2] PHP in thefuture

2002-06-07 Thread Jason T. Greene

IMO, one of the big reasons for having a powerful OO mode, and
continually evolving php to have a bigger target than just a web
programming language, is code re-usability. You can design a nice
consistent Framework, and easily rollout web, gui, and  back end
applications all using the same framework.

-Jason


On Fri, 2002-06-07 at 07:04, Kristian Koehntopp wrote:
 Am Donnerstag, 6. Juni 2002 19:59 schrieb Dan Hardiker:
  I sit in many PHP channels (IRC), and observe many class-based
  PHP networks (php-classes.org is one I monitor closely) and
  can say definatly that the majority of PHP users want *more*
  OO capabilities in PHP. 
 
 From a marketing POV, what most people want is NOT more OOP in 
 PHP, but actually a hostable Java.
 
 PHP is everywhere and pretty much free, when it comes to webspace 
 hosting. Java usually isn't, because it has certain requirements 
 for its execution environment that cannot be met in cheap 
 hosting environments.
 
 So when users ask for more OO in PHP, they usually want Java 
 and Java capabilities for the price of their current PHP site, 
 and a migration path towards this. Since there is no such thing, 
 they end up trying to turn PHP into Java.
 
 Kristian
 



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




RE: [PHP-DEV] Re: [Zend Engine 2] Re: [PHP-DEV] Re: [Zend Engine 2] PHP in the future

2002-06-07 Thread Joseph Tate

How much of C has been reused, and reused and reused again?  There is no oo
in stdlib.

 -Original Message-
 Code reusability is a psychological issue.  You can reuse code in PHP 4,
 and it'll be even better in 5 - PEAR is a clear demonstration of
 this.  Whether people actually end up reusing code depends on the
 way they
 code, very little does it depend on the language.



-- 
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] Re: [Zend Engine 2] PHP in thefuture

2002-06-07 Thread Jason T. Greene

True, I hear it is even possible to reuse code in COBOL : )

I believe that the ease of maintenance depends purely on the language.
i.e. using a strictly procedural language for a large framework can be
quite messy. Have you ever seen large libraries written in perl that
consistently call require on a million files.

PEAR is a good example of a framework that ran into a lot of limitations
of the language, which ZE2 will provide a great deal of help in.

-Jason


On Fri, 2002-06-07 at 09:36, Zeev Suraski wrote:
 Code reusability is a psychological issue.  You can reuse code in PHP 4, 
 and it'll be even better in 5 - PEAR is a clear demonstration of 
 this.  Whether people actually end up reusing code depends on the way they 
 code, very little does it depend on the language.
 
 Zeev
 
 At 05:27 PM 6/7/2002, Jason T. Greene wrote:
 IMO, one of the big reasons for having a powerful OO mode, and
 continually evolving php to have a bigger target than just a web
 programming language, is code re-usability. You can design a nice
 consistent Framework, and easily rollout web, gui, and  back end
 applications all using the same framework.
 
 -Jason
 



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




RE: [PHP-DEV] Re: [Zend Engine 2] Re: [PHP-DEV] Re: [Zend Engine 2] PHP in the future

2002-06-07 Thread Zeev Suraski

At 05:46 PM 6/7/2002, Joseph Tate wrote:
How much of C has been reused, and reused and reused again?  There is no oo
in stdlib.

Exactly.  C is one of the easiest languages for code reuse, but it totally 
depends on your programming habits and skill.  As a matter of fact, I find 
Java to be one of the most problematic languages for code reuse in certain 
cases.

Zeev


-- 
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] Re: [Zend Engine 2] PHP in the future

2002-06-07 Thread Zeev Suraski

At 06:14 PM 6/7/2002, Jason T. Greene wrote:
True, I hear it is even possible to reuse code in COBOL : )

I believe that the ease of maintenance depends purely on the language.
i.e. using a strictly procedural language for a large framework can be
quite messy. Have you ever seen large libraries written in perl that
consistently call require on a million files.

PEAR is a good example of a framework that ran into a lot of limitations
of the language, which ZE2 will provide a great deal of help in.

I agree with everything you said, just thought it'd be cool to point that 
out :)

Zeev


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




[PHP-DEV] oo != php

2002-06-07 Thread Ilker Cetinkaya

i don't get it,

ze2 introduces
private members,
consts,
statics,
namespaces,
delegation (and thus mi),
class in class.

and all this stuff because it don't wants to be another java

sebastian is currently working on a book for php-oo, wants to show us
how design patterns are realized with php, even how php-projects are
designed using uml...

and here i must read you want real oo, take java...

i know i'm penetrating you again with this worn-out shoes,
anyhow, last postings (especially the php future thread) showed me i'm not
the only one begging you for real oo to be added *as an option* to php.

i'm quite new to this list, so please excuse if i had been sticking on a
topic already shot down.
and for gods sake (if you've been reading till here) - ***this will be my
definitive last posting regarding this issue***. thank you for your
patience, in case i'm struggling on you.

however, i'm quite disappointed and demotivated by some of your opinions,
stating to keep php simple and easy,
not to go for a messy java-derivate,
not to make things too complicated aso aso

please notice, this is no offense,
but after getting known of the ze2 features, i personally saw php finally
growing out of that
php, language for kiddies-image.
imho php is a real good language for its target purpose, but it has
potential to be much better.

i'm not in too deep in php and its history, just following (and had been
infrequently using) it since v3.

but nearly every one of my collegues and friends said to me forget php for
serious things. again, since getting known of ze2, i dreamt of php being
not only cheap, easy, fast and extensible, but comprehensive, guiding, more
explicit, powerful so it could compete against others in valueable markets
like eai, ecommerce, eprocurement and all that funny buzzwords starting with
e. not only being the first choice language for so called self-made web
designers/developers/admins, *nix freaks, small we rule the world and make
best web-applications internet e-startup and one year later f**kup
companies.
please don't misunderstand me, i don't want to offend anyone by writing down
such statements. i'm also a selfmade man and respect all of you and your
work - anyhow - realize it's the reality (at least in my special environment
it is).

again, yes, the're hundreds and thousands of cool applications written in
php - really good stuff. but couldn't it be better once php improves and
extends to a mature oo-functionality ?

imho, what php currently supports regarding oo is the lowest level of
integration (eg like javascript and as of flash),
and ze2 is currently supporting the very very most basics of oo (classing,
private members, somehow overloading, statics) and is (probably) going to
support multiple inheritance, synchronized delegation, namespaces...

that's imho really a very big step towards real language improvement.
serious respect. however, i think it's not enough to say php is a language
for easily creating good small and mid-sized web-applications *as well as*
building up professional, powerful, extensible and complex applications at
enterprise level.

yes, indeed there's java on the market for this, there's cf, there's .net,
wo aso aso...

but who cares? would you really loose your community by expanding the
community ? would you kick off all that guys coding php for their own
website by giving companies and professionals at least the chance to get
things done with php? wouldn't you inspire your existing userland to code
better applications ?

sorry, i don't get it - i know there has to be some cut at some point - but
making oo-imrovements incomplete is worse than not making it at all.

having monitored this list now for some weeks and in consequence of the
recent discussions, i personally realized that my efforts towards php (time,
projects, code, ideas aso aso) were not for nothing but for a language
having its own life and own rules, not addressing the state-of-the-art,
academically satisfied, commonly used, professional language constraints
like object-orientation and explicit variable declaration.

my 2c and may this topic never arise again,

regards
ilker





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




[PHP-DEV] Re: [PHP-CVS] cvs: php4 /ext/mysql/libmysql charset.c config-win.h ctype.c dbug.c dbug.h default.c dll.c errmsg.c errmsg.h get_password.c global.h libmysql.c list.c m_string.h mf_casecnv.c mf_dirname.c mf_format.c mf_path.c my_compress.c my_create.c my_getwd.c my_init.c my_lib.c my_malloc.c my_open.c my_pthread.c my_pthread.h my_realloc.c my_static.c my_sys.h my_tempnam.c my_thr_init.c my_wincond.c my_winthread.c my_write.c mysql.h mysql_com.h mysql_version.h mysqld_error.h net.c raid.h strmake.c strto.c strtoll.c strtoull.c thr_alarm.h violite.c

2002-06-07 Thread Sebastian Bergmann

Zak Greant wrote:
 Log:
 Updating embedded libmysql to version 3.23.48

libmysql.lib(my_thr_init.obj): error LNK2001:
Unresolved external symbol _win_pthread_init

libmysql.lib(my_thr_init.obj): error LNK2001:
Unresolved external symbol _pthread_cond_init

libmysql.lib(my_thr_init.obj): error LNK2001:
Unresolved external symbol _pthread_cond_destroy

libmysql.lib(my_compress.obj): error LNK2001:
Unresolved external symbol _compress

libmysql.lib(my_compress.obj): error LNK2001:
Unresolved external symbol _uncompress

-- 
  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] oo != php

2002-06-07 Thread Preston L. Bannister

From: Ilker Cetinkaya [mailto:[EMAIL PROTECTED]]
[snip]
 but after getting known of the ze2 features, I personally saw PHP finally
 growing out of that PHP, language for kiddies-image.
 IMHO PHP is a real good language for its target purpose, but it has
 potential to be much better.

PHP is a nicely done scripting language.  Scripting languages tend to
be easier to get into, easier to make changes with, and do a good job
of gluing disparate components together.  

Java is a compiled language.  Good for building complex tightly knit
applications at the higher end of the performance spectrum.  For tasks
that could be done with a scripting language, the implementation cost
is usually higher in Java.

C++ is a lower level compiled language.  Good for getting every last
bit of performance possible out of the hardware.  Also good for complex
tightly knit applications - but at an even higher development cost.

Think of each as a different tool in your toolbox.  You choose the
tool to fit the job at hand.  A screwdriver is not a kiddie hammer.
Each is well suited for different kinds of tasks.

To extend the metaphor - think of an all-in-one tool - a combination
of hammer and screwdriver, say.  In trying to combine the two tools
meant for different purposes you end up with something that is neither
a particularly good hammer, or a particularly good screwdriver.

So the focus on improving PHP in the role as a scripting language 
(not trying to make PHP into Java or C++) makes a great deal of sense.


 my 2c and may this topic never arise again,

Amen :)

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




[PHP-DEV] Berkeley db4 support?

2002-06-07 Thread R Blake

hi,

since the with-db 'general' config option has been deprecated, what's the 
status of db4 support?

i've searched the lists and perhaps am missing something .. but i find 
*no* mention of db4 at all!

can someone provide -- or point me in the direction of -- some insight on 
php4-current + db4?

thanks much!

richard
--
R Blake
blakers at mac.com
http://homepage.mac.com/blakers
--



RE: [PHP-DEV] oo != php

2002-06-07 Thread brad lafountain


--- Preston L. Bannister [EMAIL PROTECTED] wrote:
 From: Ilker Cetinkaya [mailto:[EMAIL PROTECTED]]
 [snip]
  but after getting known of the ze2 features, I personally saw PHP finally
  growing out of that PHP, language for kiddies-image.
  IMHO PHP is a real good language for its target purpose, but it has
  potential to be much better.
 
 PHP is a nicely done scripting language.  Scripting languages tend to
 be easier to get into, easier to make changes with, and do a good job
 of gluing disparate components together.  
 
 Java is a compiled language.  Good for building complex tightly knit
 applications at the higher end of the performance spectrum.  For tasks
 that could be done with a scripting language, the implementation cost
 is usually higher in Java.
 
 C++ is a lower level compiled language.  Good for getting every last
 bit of performance possible out of the hardware.  Also good for complex
 tightly knit applications - but at an even higher development cost.
 
 Think of each as a different tool in your toolbox.  You choose the
 tool to fit the job at hand.  A screwdriver is not a kiddie hammer.
 Each is well suited for different kinds of tasks.
 
 To extend the metaphor - think of an all-in-one tool - a combination
 of hammer and screwdriver, say.  In trying to combine the two tools
 meant for different purposes you end up with something that is neither
 a particularly good hammer, or a particularly good screwdriver.
 
 So the focus on improving PHP in the role as a scripting language 
 (not trying to make PHP into Java or C++) makes a great deal of sense.

 OO IS OO... JUST BECAUSE JAVA IS OO DOESN'T MEAN WE ARE SUGGESTING MAKING JAVA
AGAIN. WE ARE SUGGESTING MORE OO FEATURES. Please Pleas Please realize the
difference. Im sick of people associating oo features as java features!

Making php more like java would be suggesting making a public static void
main(String args[]) in a class, and that gets run when a class with that name
is loaded. Now this is stuff specfic to java! Not MI or public/private members
these features have been around way before java was ever thought of!!!

 - Brad

__
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com

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




Re: [PHP-DEV] oo != php

2002-06-07 Thread Sander Steffann

 OO IS OO... JUST BECAUSE JAVA IS OO DOESN'T MEAN WE ARE SUGGESTING MAKING
JAVA
 AGAIN. WE ARE SUGGESTING MORE OO FEATURES. Please Pleas Please realize the
 difference. Im sick of people associating oo features as java features!

 Making php more like java would be suggesting making a public static void
 main(String args[]) in a class, and that gets run when a class with that
name
 is loaded. Now this is stuff specfic to java! Not MI or public/private
members
 these features have been around way before java was ever thought of!!!

I completely agree here. Having some extra OO features would be nice.

There are a few conditions:
- Using them must be optional
- Performance should not suffer too much
- A clean implementation is possible

If adding a few OO features for the people who want (or even need) them can
be done under these conditions, I think it should be considered seriously...
If one of these conditions can not be met for a certain feature, it won't be
worth adding IMHO.

Sander.



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




[PHP-DEV] Zend Engine expert wanted!!!!

2002-06-07 Thread Brian France

Zend Engine unloading extension in the wrong order! (Re-post due to 
no response)

I have been tracking down a core dump with my php extension when it 
is unloading some of its shared libraries.  I have shared extension 
that is link against libexpat and will load fine if it is the only on 
in the php.ini.  If I then load xml.so extension then my extension it 
works fine, but if it is my extension then xml.so it crashes while 
xml.so is unloading libexapt.

What I have found is the Zend Engine is unloading extension in the 
same order it loaded them.

load: foo_bar.so
load: xml.so

unload: foo_bar.so
unload: xml.so

I believe this is wrong and think it should be in reverse order.

load: foo_bar.so
load: xml.so

unload: xml.so
unload: foo_bar.so


There are two ways to fix this problem.  One is to push the modules 
to the head of the hash, but looking at the zend_hash_add function I 
decided to go with the second.  Second way is to destroy them in 
reverse order.  I created a zend_hash_reverse_destroy and call that 
instead of zend_hash_destroy.  There may be a better way to do this, 
but this is the quick fix for me.

I have included a patch below, should I submit a bug report as well?

Thanks,

Brian


diff -rc php-4.2.1/Zend/zend.c
*** php-4.2.1/Zend/zend.c   Tue Feb 26 10:59:25 2002
--- php-4.2.1/Zend/zend.c   Thu Jun  6 11:32:57 2002
***
*** 487,493 
 zend_destroy_rsrc_list(EG(persistent_list) TSRMLS_CC);
   #endif
 zend_destroy_rsrc_list_dtors();
!   zend_hash_destroy(module_registry);
 zend_hash_destroy(GLOBAL_FUNCTION_TABLE);
 free(GLOBAL_FUNCTION_TABLE);
 zend_hash_destroy(GLOBAL_CLASS_TABLE);
--- 487,493 
 zend_destroy_rsrc_list(EG(persistent_list) TSRMLS_CC);
   #endif
 zend_destroy_rsrc_list_dtors();
!   zend_hash_reverse_destroy(module_registry);
 zend_hash_destroy(GLOBAL_FUNCTION_TABLE);
 free(GLOBAL_FUNCTION_TABLE);
 zend_hash_destroy(GLOBAL_CLASS_TABLE);
diff -rc php-4.2.1/Zend/zend_hash.c
*** php-4.2.1/Zend/zend_hash.c  Mon Apr 22 23:53:26 2002
--- php-4.2.1/Zend/zend_hash.c  Thu Jun  6 11:32:57 2002
***
*** 550,555 
--- 550,579 
 SET_INCONSISTENT(HT_DESTROYED);
   }

+ ZEND_API void zend_hash_reverse_destroy(HashTable *ht)
+ {
+   Bucket *p, *q;
+
+   IS_CONSISTENT(ht);
+
+   SET_INCONSISTENT(HT_IS_DESTROYING);
+
+   p = ht-pListTail;
+   while (p != NULL) {
+   q = p;
+   p = p-pLast;
+   if (ht-pDestructor) {
+   ht-pDestructor(q-pData);
+   }
+   if (!q-pDataPtr  q-pData) {
+   pefree(q-pData, ht-persistent);
+   }
+   pefree(q, ht-persistent);
+   }
+   pefree(ht-arBuckets, ht-persistent);
+
+   SET_INCONSISTENT(HT_DESTROYED);
+ }

   ZEND_API void zend_hash_clean(HashTable *ht)
   {

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




Re: [PHP-DEV] DOMXML Function consistency

2002-06-07 Thread Dan Allen

Excellent, looks like this bug report is getting some limelight.
While we are on the topic, I just wanted to put in a small plea.  I
realize that we want to map close the W3C, but I have a small
request.  Don't deprecate get_content().  I realize it is not a well
know W3C standard, but there is a function called wholeText() which
just strings together all the text nodes of a child, skipping any
element nodes.  It is just really a pain in the rear to handle text
nodes by getting the child nodes and then running through them,
checking for text nodes and then concating them together.  It is
just a lot of extra work for something so trivial.  I really do
scream the words W3C most of the time, but it is just so unwieldy to
handle the xml tree without this function.

Dan

Christian Stocker ([EMAIL PROTECTED]) wrote:

 Hi
 
 I have no problem with that, but the old functions should not be
 deprecated, it's the W3C-Standard way. And if i understood it correctly,
 both methods (name and nodeName) can be used for the same...
 
 chregu
 
 On Fri, 7 Jun 2002, Joseph Tate wrote:
 
  A bug report or two have been made regarding function names in attribute
  nodes.  Taking a look, nodes have the following access functions:
 
  node_name
  node_type
  node_value
 
  etc.  However attribute nodes have the following access functions:
 
  name
  value
  specified
 
  I am thinking that to make it more consistent, we should change the
  attribute functions to
  attr_name or node_name
  attr_value or node_value
  attr_specified or node_specified
 
  I'd vote for the latter series since the programmer already knows they're
  attributes.  Renaming will reduce the WTF factor.  We can leave the aliases
  to the old functions for a while to maintain BC.
 
  WISH: I wish there was a Zend Function for marking a function alias as
  deprecated, I.e. so that a warning message is displayed if the function is
  used after being marked deprecated.  A way to display the replacement
  function in the warning message would be nice too.
 
  Joseph
 
 
 
 
 -- 
 nam...christian stockeradr...bremgartnerstr. 66, ch-8003 zurich
 pho...+41  1 451 6021  www...http://phant.ch/chregu
 mob...+41 76 561 8860  [EMAIL PROTECTED]
 wor...+41  1 240 5670  gpg...0x5CE1DECB
 
 
 -- 
 PHP Development Mailing List http://www.php.net/
 To unsubscribe, visit: http://www.php.net/unsub.php

-- 

Daniel Allen, [EMAIL PROTECTED]
http://www.mojavelinux.com/

When you're raised by the Jesuits, you become either obedient 
or impertinent 
 -- Jack McCoy, Law and Order


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




Re: [PHP-DEV] Zend Engine expert wanted!!!!

2002-06-07 Thread brad lafountain

 If this is your problem maybe a offical soultion to the problem should be
thought. Like in your extension you can define a priority for loading and
unloading your extension in the ini. Kinda like init.d.

 Has there been any discussion about this topic before.

 - brad

--- Brian France [EMAIL PROTECTED] wrote:
 Zend Engine unloading extension in the wrong order! (Re-post due to 
 no response)
 
 I have been tracking down a core dump with my php extension when it 
 is unloading some of its shared libraries.  I have shared extension 
 that is link against libexpat and will load fine if it is the only on 
 in the php.ini.  If I then load xml.so extension then my extension it 
 works fine, but if it is my extension then xml.so it crashes while 
 xml.so is unloading libexapt.
 
 What I have found is the Zend Engine is unloading extension in the 
 same order it loaded them.
 
 load: foo_bar.so
 load: xml.so
 
 unload: foo_bar.so
 unload: xml.so
 
 I believe this is wrong and think it should be in reverse order.
 
 load: foo_bar.so
 load: xml.so
 
 unload: xml.so
 unload: foo_bar.so
 
 
 There are two ways to fix this problem.  One is to push the modules 
 to the head of the hash, but looking at the zend_hash_add function I 
 decided to go with the second.  Second way is to destroy them in 
 reverse order.  I created a zend_hash_reverse_destroy and call that 
 instead of zend_hash_destroy.  There may be a better way to do this, 
 but this is the quick fix for me.
 
 I have included a patch below, should I submit a bug report as well?
 
 Thanks,
 
 Brian
 
 
 diff -rc php-4.2.1/Zend/zend.c
 *** php-4.2.1/Zend/zend.c   Tue Feb 26 10:59:25 2002
 --- php-4.2.1/Zend/zend.c   Thu Jun  6 11:32:57 2002
 ***
 *** 487,493 
  zend_destroy_rsrc_list(EG(persistent_list) TSRMLS_CC);
#endif
  zend_destroy_rsrc_list_dtors();
 !   zend_hash_destroy(module_registry);
  zend_hash_destroy(GLOBAL_FUNCTION_TABLE);
  free(GLOBAL_FUNCTION_TABLE);
  zend_hash_destroy(GLOBAL_CLASS_TABLE);
 --- 487,493 
  zend_destroy_rsrc_list(EG(persistent_list) TSRMLS_CC);
#endif
  zend_destroy_rsrc_list_dtors();
 !   zend_hash_reverse_destroy(module_registry);
  zend_hash_destroy(GLOBAL_FUNCTION_TABLE);
  free(GLOBAL_FUNCTION_TABLE);
  zend_hash_destroy(GLOBAL_CLASS_TABLE);
 diff -rc php-4.2.1/Zend/zend_hash.c
 *** php-4.2.1/Zend/zend_hash.c  Mon Apr 22 23:53:26 2002
 --- php-4.2.1/Zend/zend_hash.c  Thu Jun  6 11:32:57 2002
 ***
 *** 550,555 
 --- 550,579 
  SET_INCONSISTENT(HT_DESTROYED);
}
 
 + ZEND_API void zend_hash_reverse_destroy(HashTable *ht)
 + {
 +   Bucket *p, *q;
 +
 +   IS_CONSISTENT(ht);
 +
 +   SET_INCONSISTENT(HT_IS_DESTROYING);
 +
 +   p = ht-pListTail;
 +   while (p != NULL) {
 +   q = p;
 +   p = p-pLast;
 +   if (ht-pDestructor) {
 +   ht-pDestructor(q-pData);
 +   }
 +   if (!q-pDataPtr  q-pData) {
 +   pefree(q-pData, ht-persistent);
 +   }
 +   pefree(q, ht-persistent);
 +   }
 +   pefree(ht-arBuckets, ht-persistent);
 +
 +   SET_INCONSISTENT(HT_DESTROYED);
 + }
 
ZEND_API void zend_hash_clean(HashTable *ht)
{
 
 -- 
 PHP Development Mailing List http://www.php.net/
 To unsubscribe, visit: http://www.php.net/unsub.php
 


__
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com

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




Re: [PHP-DEV] Zend Engine expert wanted!!!!

2002-06-07 Thread Brian France

The issue is *not* the order in which the Zend Engine is loading them 
in, but the order it is unloading them in.  Switching order for 
loading was a fix that just happened to work.  With the patch I 
provided I can put them in any order and it works.

Looking at the Apache source it keeps a list of loaded DSOs and when 
it loads one pushes it on to the head of the list.  This way when it 
iterates over the list to unload them it is in reverse order than it 
loaded them.  I have been told by a few co-workers that it is 
industry standard to unload in reverse order that you loaded, but I 
wanted at least one example so I looked at the Apache source.

Shouldn't the Zend Engine always unload extension in reverse order it 
loaded them in?

Thanks!

Brian

BTW,  I think the priority for loading in the ini should be an 
option, but a completely different subject.


At 12:12 PM -0700 6/7/02, brad lafountain wrote:
  If this is your problem maybe a offical soultion to the problem should be
thought. Like in your extension you can define a priority for loading and
unloading your extension in the ini. Kinda like init.d.

  Has there been any discussion about this topic before.

  - brad

--- Brian France [EMAIL PROTECTED] wrote:
  Zend Engine unloading extension in the wrong order! (Re-post due to
  no response)

  I have been tracking down a core dump with my php extension when it
  is unloading some of its shared libraries.  I have shared extension
  that is link against libexpat and will load fine if it is the only on
  in the php.ini.  If I then load xml.so extension then my extension it
  works fine, but if it is my extension then xml.so it crashes while
  xml.so is unloading libexapt.

  What I have found is the Zend Engine is unloading extension in the
  same order it loaded them.

  load: foo_bar.so
  load: xml.so

  unload: foo_bar.so
  unload: xml.so

  I believe this is wrong and think it should be in reverse order.

  load: foo_bar.so
  load: xml.so

  unload: xml.so
  unload: foo_bar.so


  There are two ways to fix this problem.  One is to push the modules
  to the head of the hash, but looking at the zend_hash_add function I
  decided to go with the second.  Second way is to destroy them in
  reverse order.  I created a zend_hash_reverse_destroy and call that
  instead of zend_hash_destroy.  There may be a better way to do this,
  but this is the quick fix for me.

  I have included a patch below, should I submit a bug report as well?

  Thanks,

  Brian


  diff -rc php-4.2.1/Zend/zend.c
  *** php-4.2.1/Zend/zend.c   Tue Feb 26 10:59:25 2002
  --- php-4.2.1/Zend/zend.c   Thu Jun  6 11:32:57 2002
  ***
  *** 487,493 
   zend_destroy_rsrc_list(EG(persistent_list) TSRMLS_CC);
 #endif
   zend_destroy_rsrc_list_dtors();
  !   zend_hash_destroy(module_registry);
   zend_hash_destroy(GLOBAL_FUNCTION_TABLE);
   free(GLOBAL_FUNCTION_TABLE);
   zend_hash_destroy(GLOBAL_CLASS_TABLE);
  --- 487,493 
   zend_destroy_rsrc_list(EG(persistent_list) TSRMLS_CC);
 #endif
   zend_destroy_rsrc_list_dtors();
  !   zend_hash_reverse_destroy(module_registry);
   zend_hash_destroy(GLOBAL_FUNCTION_TABLE);
   free(GLOBAL_FUNCTION_TABLE);
   zend_hash_destroy(GLOBAL_CLASS_TABLE);
  diff -rc php-4.2.1/Zend/zend_hash.c
  *** php-4.2.1/Zend/zend_hash.c  Mon Apr 22 23:53:26 2002
  --- php-4.2.1/Zend/zend_hash.c  Thu Jun  6 11:32:57 2002
  ***
  *** 550,555 
  --- 550,579 
   SET_INCONSISTENT(HT_DESTROYED);
 }

  + ZEND_API void zend_hash_reverse_destroy(HashTable *ht)
   + {
   +   Bucket *p, *q;
   +
   +   IS_CONSISTENT(ht);
   +
   +   SET_INCONSISTENT(HT_IS_DESTROYING);
   +
   +   p = ht-pListTail;
   +   while (p != NULL) {
  +   q = p;
  +   p = p-pLast;
   +   if (ht-pDestructor) {
  +   ht-pDestructor(q-pData);
  +   }
  +   if (!q-pDataPtr  q-pData) {
  +   pefree(q-pData, ht-persistent);
  +   }
  +   pefree(q, ht-persistent);
  +   }
  +   pefree(ht-arBuckets, ht-persistent);
  +
  +   SET_INCONSISTENT(HT_DESTROYED);
  + }

 ZEND_API void zend_hash_clean(HashTable *ht)
 {

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



__
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com


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




Re: [PHP-DEV] Zend Engine expert wanted!!!!

2002-06-07 Thread Andi Gutmans

Can you check and see if using zend_hash_graceful_reverse_destroy() fixes 
your problem?

Andi

At 11:44 AM 6/7/2002 -0700, Brian France wrote:
Zend Engine unloading extension in the wrong order! (Re-post due to no 
response)

I have been tracking down a core dump with my php extension when it is 
unloading some of its shared libraries.  I have shared extension that is 
link against libexpat and will load fine if it is the only on in the 
php.ini.  If I then load xml.so extension then my extension it works fine, 
but if it is my extension then xml.so it crashes while xml.so is unloading 
libexapt.

What I have found is the Zend Engine is unloading extension in the same 
order it loaded them.

load: foo_bar.so
load: xml.so

unload: foo_bar.so
unload: xml.so

I believe this is wrong and think it should be in reverse order.

load: foo_bar.so
load: xml.so

unload: xml.so
unload: foo_bar.so


There are two ways to fix this problem.  One is to push the modules to the 
head of the hash, but looking at the zend_hash_add function I decided to 
go with the second.  Second way is to destroy them in reverse order.  I 
created a zend_hash_reverse_destroy and call that instead of 
zend_hash_destroy.  There may be a better way to do this, but this is the 
quick fix for me.

I have included a patch below, should I submit a bug report as well?

Thanks,

Brian


diff -rc php-4.2.1/Zend/zend.c
*** php-4.2.1/Zend/zend.c   Tue Feb 26 10:59:25 2002
--- php-4.2.1/Zend/zend.c   Thu Jun  6 11:32:57 2002
***
*** 487,493 
 zend_destroy_rsrc_list(EG(persistent_list) TSRMLS_CC);
   #endif
 zend_destroy_rsrc_list_dtors();
!   zend_hash_destroy(module_registry);
 zend_hash_destroy(GLOBAL_FUNCTION_TABLE);
 free(GLOBAL_FUNCTION_TABLE);
 zend_hash_destroy(GLOBAL_CLASS_TABLE);
--- 487,493 
 zend_destroy_rsrc_list(EG(persistent_list) TSRMLS_CC);
   #endif
 zend_destroy_rsrc_list_dtors();
!   zend_hash_reverse_destroy(module_registry);
 zend_hash_destroy(GLOBAL_FUNCTION_TABLE);
 free(GLOBAL_FUNCTION_TABLE);
 zend_hash_destroy(GLOBAL_CLASS_TABLE);
diff -rc php-4.2.1/Zend/zend_hash.c
*** php-4.2.1/Zend/zend_hash.c  Mon Apr 22 23:53:26 2002
--- php-4.2.1/Zend/zend_hash.c  Thu Jun  6 11:32:57 2002
***
*** 550,555 
--- 550,579 
 SET_INCONSISTENT(HT_DESTROYED);
   }

+ ZEND_API void zend_hash_reverse_destroy(HashTable *ht)
+ {
+   Bucket *p, *q;
+
+   IS_CONSISTENT(ht);
+
+   SET_INCONSISTENT(HT_IS_DESTROYING);
+
+   p = ht-pListTail;
+   while (p != NULL) {
+   q = p;
+   p = p-pLast;
+   if (ht-pDestructor) {
+   ht-pDestructor(q-pData);
+   }
+   if (!q-pDataPtr  q-pData) {
+   pefree(q-pData, ht-persistent);
+   }
+   pefree(q, ht-persistent);
+   }
+   pefree(ht-arBuckets, ht-persistent);
+
+   SET_INCONSISTENT(HT_DESTROYED);
+ }

   ZEND_API void zend_hash_clean(HashTable *ht)
   {

--
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] Fwd: REJECTED: 5.1.0.14.2.20020607225328.03df2740@127.0.0.1

2002-06-07 Thread Andi Gutmans

Any idea why I got this when posting to php-dev?

Andi

Delivered-To: [EMAIL PROTECTED]
Sender: [EMAIL PROTECTED] (reject)
Date: Thu, 06 Jun 2002 08:50:05 -0700
X-Autogenerated: Reply
To: Andi Gutmans [EMAIL PROTECTED]
From: [EMAIL PROTECTED]
Subject: REJECTED: [EMAIL PROTECTED]
X-Autogenerated: UNSOLICITED ELECTRONIC COMMUNICATION
Sender: [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
Original-Message-ID: [EMAIL PROTECTED]
Original-Sender: Andi Gutmans [EMAIL PROTECTED]
Original-Subject: Re: [PHP-DEV] Zend Engine expert wanted
Original-Date: Fri, 07 Jun 2002 22:53:42 +0300


SERVICE of LEGAL NOTICE:

Pursuant to California Law (cref. California Business  Professions Code
§§ 17538.4, 17538.45 (2001)), the message referenced herein, uniquely
identified by the following Internet messaging headers:

 {
 Original-Message-ID: 
 [EMAIL PROTECTED]
 Original-Sender: Andi Gutmans [EMAIL PROTECTED]
 Original-Subject: Re: [PHP-DEV] Zend Engine expert wanted
 Original-Date: Fri, 07 Jun 2002 22:53:42 +0300
 }

has been categorized as either Unsolicited Bulk E-mail (UBE), or
Unsolicited Commercial E-Mail (UCE).

Your server is one of those included in the headers of the message, and
thus has been deemed an offending server used in the delivery of this message.

California Law establishes Civil Right of Action against violators:

 In addition to any other action available under law, any
 electronic mail service provider whose policy on unsolicited
 electronic mail advertisements is violated as provided in this
 section may bring a civil action to recover the actual monetary loss
 suffered by that provider by reason of that violation, or liquidated
 damages of fifty dollars ($50) for each electronic mail message
 initiated or delivered in violation of this section, up to a maximum
 of twenty-five thousand dollars ($25,000) per day, whichever amount
 is greater.

Your cooperation, as outlined below, is REQUIRED by California Law.

To avoid being cited as an accomplice in this matter, PRESENCE-GROUP.COM
requires you to take immediate and appropriate actions to stop the problem
in the future. You are to notify us within three (3) days of those actions.
Our experience shows that all legitimate Internet providers take immediate 
action.

If your server is an offending server in the *origination* of this message,
PRESENCE-GROUP.COM demands that you provide us with the name, mailing address
and other contact information of the originator of this message.
If you furnish PRESENCE-GROUP.COM with this information, PRESENCE-GROUP.COM
will release you from liability in this incident. Merely telling us you have
cancelled or deleted the account is *not* adequate to satisfy the
PRESENCE-GROUP.COM policy.

If your server is an offending server in the *relay* of this message,
PRESENCE-GROUP.COM demands that you take measures to stop the open relay
from your insecure mailserver.

If you do not furnish PRESENCE-GROUP.COM with the information we have 
requested,
or provide us only with auto-responder or form messages, 
PRESENCE-GROUP.COM will
consider how often your server is involved with UBE/UCE. We may then:

 1. Block access to  from your server.
 2. Deem you to be a co-conspirator in the delivery of UBE/UCE 
 messages.
 3. Hold you liable for fees  damages.

There is no need for you to send your appropriate use policy to us; As 
stated by law,
it is our policy that governs.

In order to provide required response to this notice, or if you believe 
you have
received this notice in error, please forward your communication to:
[EMAIL PROTECTED], with the words SPAM EXCEPTION exactly 
included in
the message Subject: header.

Further, you may choose to notify your intended recipient by an additional,
alternate method requesting that they address this matter with the
PRESENCE-GROUP.COM mail server administrator.


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




Re: [PHP-DEV] Zend Engine expert wanted!!!!

2002-06-07 Thread Brian France

I will try that, but I was worried that the pDestructor function 
would not get called for each item like it was in zend_hash_destroy. 
Is this the case?  Looking at the code what is the difference between 
zend_hash_graceful_destroy and zend_hash_destroy?

Thanks again for the help!

Brian

At 10:53 PM +0300 6/7/02, Andi Gutmans wrote:
Can you check and see if using zend_hash_graceful_reverse_destroy() 
fixes your problem?

Andi

At 11:44 AM 6/7/2002 -0700, Brian France wrote:
Zend Engine unloading extension in the wrong order! (Re-post due to 
no response)

I have been tracking down a core dump with my php extension when it 
is unloading some of its shared libraries.  I have shared extension 
that is link against libexpat and will load fine if it is the only 
on in the php.ini.  If I then load xml.so extension then my 
extension it works fine, but if it is my extension then xml.so it 
crashes while xml.so is unloading libexapt.

What I have found is the Zend Engine is unloading extension in the 
same order it loaded them.

load: foo_bar.so
load: xml.so

unload: foo_bar.so
unload: xml.so

I believe this is wrong and think it should be in reverse order.

load: foo_bar.so
load: xml.so

unload: xml.so
unload: foo_bar.so


There are two ways to fix this problem.  One is to push the modules 
to the head of the hash, but looking at the zend_hash_add function 
I decided to go with the second.  Second way is to destroy them in 
reverse order.  I created a zend_hash_reverse_destroy and call that 
instead of zend_hash_destroy.  There may be a better way to do 
this, but this is the quick fix for me.

I have included a patch below, should I submit a bug report as well?

Thanks,

Brian


diff -rc php-4.2.1/Zend/zend.c
*** php-4.2.1/Zend/zend.c   Tue Feb 26 10:59:25 2002
--- php-4.2.1/Zend/zend.c   Thu Jun  6 11:32:57 2002
***
*** 487,493 
 zend_destroy_rsrc_list(EG(persistent_list) TSRMLS_CC);
   #endif
 zend_destroy_rsrc_list_dtors();
!   zend_hash_destroy(module_registry);
 zend_hash_destroy(GLOBAL_FUNCTION_TABLE);
 free(GLOBAL_FUNCTION_TABLE);
 zend_hash_destroy(GLOBAL_CLASS_TABLE);
--- 487,493 
 zend_destroy_rsrc_list(EG(persistent_list) TSRMLS_CC);
   #endif
 zend_destroy_rsrc_list_dtors();
!   zend_hash_reverse_destroy(module_registry);
 zend_hash_destroy(GLOBAL_FUNCTION_TABLE);
 free(GLOBAL_FUNCTION_TABLE);
 zend_hash_destroy(GLOBAL_CLASS_TABLE);
diff -rc php-4.2.1/Zend/zend_hash.c
*** php-4.2.1/Zend/zend_hash.c  Mon Apr 22 23:53:26 2002
--- php-4.2.1/Zend/zend_hash.c  Thu Jun  6 11:32:57 2002
***
*** 550,555 
--- 550,579 
 SET_INCONSISTENT(HT_DESTROYED);
   }

+ ZEND_API void zend_hash_reverse_destroy(HashTable *ht)
+ {
+   Bucket *p, *q;
+
+   IS_CONSISTENT(ht);
+
+   SET_INCONSISTENT(HT_IS_DESTROYING);
+
+   p = ht-pListTail;
+   while (p != NULL) {
+   q = p;
+   p = p-pLast;
+   if (ht-pDestructor) {
+   ht-pDestructor(q-pData);
+   }
+   if (!q-pDataPtr  q-pData) {
+   pefree(q-pData, ht-persistent);
+   }
+   pefree(q, ht-persistent);
+   }
+   pefree(ht-arBuckets, ht-persistent);
+
+   SET_INCONSISTENT(HT_DESTROYED);
+ }

   ZEND_API void zend_hash_clean(HashTable *ht)
   {

--
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: REJECTED:5.1.0.14.2.20020607225328.03df2740@127.0.0.1

2002-06-07 Thread Brian France

Somebody from PRESENCE-GROUP.COM is subscribed to php-dev list and is
filtering mail through spamcop or something program.  I am getting
them to.

Brian

At 10:58 PM +0300 6/7/02, Andi Gutmans wrote:
Any idea why I got this when posting to php-dev?

Andi

Delivered-To: [EMAIL PROTECTED]
Sender: [EMAIL PROTECTED] (reject)
Date: Thu, 06 Jun 2002 08:50:05 -0700
X-Autogenerated: Reply
To: Andi Gutmans [EMAIL PROTECTED]
From: [EMAIL PROTECTED]
Subject: REJECTED: [EMAIL PROTECTED]
X-Autogenerated: UNSOLICITED ELECTRONIC COMMUNICATION
Sender: [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
Original-Message-ID: [EMAIL PROTECTED]
Original-Sender: Andi Gutmans [EMAIL PROTECTED]
Original-Subject: Re: [PHP-DEV] Zend Engine expert wanted
Original-Date: Fri, 07 Jun 2002 22:53:42 +0300


SERVICE of LEGAL NOTICE:

Pursuant to California Law (cref. California Business  Professions Code
§§ 17538.4, 17538.45 (2001)), the message referenced herein, uniquely
identified by the following Internet messaging headers:

 {
 Original-Message-ID:
[EMAIL PROTECTED]
 Original-Sender: Andi Gutmans [EMAIL PROTECTED]
 Original-Subject: Re: [PHP-DEV] Zend Engine expert wanted
 Original-Date: Fri, 07 Jun 2002 22:53:42 +0300
 }

has been categorized as either Unsolicited Bulk E-mail (UBE), or
Unsolicited Commercial E-Mail (UCE).

Your server is one of those included in the headers of the message, and
thus has been deemed an offending server used in the delivery of
this message.

California Law establishes Civil Right of Action against violators:

 In addition to any other action available under law, any
 electronic mail service provider whose policy on unsolicited
 electronic mail advertisements is violated as provided in this
 section may bring a civil action to recover the actual monetary loss
 suffered by that provider by reason of that violation, or liquidated
 damages of fifty dollars ($50) for each electronic mail message
 initiated or delivered in violation of this section, up to a maximum
 of twenty-five thousand dollars ($25,000) per day, whichever amount
 is greater.

Your cooperation, as outlined below, is REQUIRED by California Law.

To avoid being cited as an accomplice in this matter, PRESENCE-GROUP.COM
requires you to take immediate and appropriate actions to stop the problem
in the future. You are to notify us within three (3) days of those actions.
Our experience shows that all legitimate Internet providers take
immediate action.

If your server is an offending server in the *origination* of this message,
PRESENCE-GROUP.COM demands that you provide us with the name, mailing address
and other contact information of the originator of this message.
If you furnish PRESENCE-GROUP.COM with this information, PRESENCE-GROUP.COM
will release you from liability in this incident. Merely telling us you have
cancelled or deleted the account is *not* adequate to satisfy the
PRESENCE-GROUP.COM policy.

If your server is an offending server in the *relay* of this message,
PRESENCE-GROUP.COM demands that you take measures to stop the open relay
from your insecure mailserver.

If you do not furnish PRESENCE-GROUP.COM with the information we
have requested,
or provide us only with auto-responder or form messages,
PRESENCE-GROUP.COM will
consider how often your server is involved with UBE/UCE. We may then:

 1. Block access to  from your server.
 2. Deem you to be a co-conspirator in the delivery of
UBE/UCE messages.
 3. Hold you liable for fees  damages.

There is no need for you to send your appropriate use policy to us;
As stated by law,
it is our policy that governs.

In order to provide required response to this notice, or if you
believe you have
received this notice in error, please forward your communication to:
[EMAIL PROTECTED], with the words SPAM EXCEPTION
exactly included in
the message Subject: header.

Further, you may choose to notify your intended recipient by an additional,
alternate method requesting that they address this matter with the
PRESENCE-GROUP.COM mail server administrator.


--
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: REJECTED: 5.1.0.14.2.20020607225328.03df2740@127.0.0.1

2002-06-07 Thread brad lafountain

I got it too..

 - brad
--- Andi Gutmans [EMAIL PROTECTED] wrote:
 Any idea why I got this when posting to php-dev?
 
 Andi
 
 Delivered-To: [EMAIL PROTECTED]
 Sender: [EMAIL PROTECTED] (reject)
 Date: Thu, 06 Jun 2002 08:50:05 -0700
 X-Autogenerated: Reply
 To: Andi Gutmans [EMAIL PROTECTED]
 From: [EMAIL PROTECTED]
 Subject: REJECTED: [EMAIL PROTECTED]
 X-Autogenerated: UNSOLICITED ELECTRONIC COMMUNICATION
 Sender: [EMAIL PROTECTED]
 Reply-To: [EMAIL PROTECTED]
 Original-Message-ID: [EMAIL PROTECTED]
 Original-Sender: Andi Gutmans [EMAIL PROTECTED]
 Original-Subject: Re: [PHP-DEV] Zend Engine expert wanted
 Original-Date: Fri, 07 Jun 2002 22:53:42 +0300
 
 
 SERVICE of LEGAL NOTICE:
 
 Pursuant to California Law (cref. California Business  Professions Code
 §§ 17538.4, 17538.45 (2001)), the message referenced herein, uniquely
 identified by the following Internet messaging headers:
 
  {
  Original-Message-ID: 
  [EMAIL PROTECTED]
  Original-Sender: Andi Gutmans [EMAIL PROTECTED]
  Original-Subject: Re: [PHP-DEV] Zend Engine expert
 wanted
  Original-Date: Fri, 07 Jun 2002 22:53:42 +0300
  }
 
 has been categorized as either Unsolicited Bulk E-mail (UBE), or
 Unsolicited Commercial E-Mail (UCE).
 
 Your server is one of those included in the headers of the message, and
 thus has been deemed an offending server used in the delivery of this
 message.
 
 California Law establishes Civil Right of Action against violators:
 
  In addition to any other action available under law, any
  electronic mail service provider whose policy on unsolicited
  electronic mail advertisements is violated as provided in this
  section may bring a civil action to recover the actual monetary
 loss
  suffered by that provider by reason of that violation, or
 liquidated
  damages of fifty dollars ($50) for each electronic mail message
  initiated or delivered in violation of this section, up to a
 maximum
  of twenty-five thousand dollars ($25,000) per day, whichever amount
  is greater.
 
 Your cooperation, as outlined below, is REQUIRED by California Law.
 
 To avoid being cited as an accomplice in this matter, PRESENCE-GROUP.COM
 requires you to take immediate and appropriate actions to stop the problem
 in the future. You are to notify us within three (3) days of those actions.
 Our experience shows that all legitimate Internet providers take immediate 
 action.
 
 If your server is an offending server in the *origination* of this message,
 PRESENCE-GROUP.COM demands that you provide us with the name, mailing
 address
 and other contact information of the originator of this message.
 If you furnish PRESENCE-GROUP.COM with this information, PRESENCE-GROUP.COM
 will release you from liability in this incident. Merely telling us you have
 cancelled or deleted the account is *not* adequate to satisfy the
 PRESENCE-GROUP.COM policy.
 
 If your server is an offending server in the *relay* of this message,
 PRESENCE-GROUP.COM demands that you take measures to stop the open relay
 from your insecure mailserver.
 
 If you do not furnish PRESENCE-GROUP.COM with the information we have 
 requested,
 or provide us only with auto-responder or form messages, 
 PRESENCE-GROUP.COM will
 consider how often your server is involved with UBE/UCE. We may then:
 
  1. Block access to  from your server.
  2. Deem you to be a co-conspirator in the delivery of UBE/UCE 
  messages.
  3. Hold you liable for fees  damages.
 
 There is no need for you to send your appropriate use policy to us; As 
 stated by law,
 it is our policy that governs.
 
 In order to provide required response to this notice, or if you believe 
 you have
 received this notice in error, please forward your communication to:
 [EMAIL PROTECTED], with the words SPAM EXCEPTION exactly 
 included in
 the message Subject: header.
 
 Further, you may choose to notify your intended recipient by an additional,
 alternate method requesting that they address this matter with the
 PRESENCE-GROUP.COM mail server administrator.
 
 
 --
 PHP Development Mailing List http://www.php.net/
 To unsubscribe, visit: http://www.php.net/unsub.php
 


__
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com

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




Re: [PHP-DEV] Zend Engine expert wanted!!!!

2002-06-07 Thread Andi Gutmans

At 01:00 PM 6/7/2002 -0700, Brian France wrote:
I will try that, but I was worried that the pDestructor function would not 
get called for each item like it was in zend_hash_destroy. Is this the 
case?  Looking at the code what is the difference between 
zend_hash_graceful_destroy and zend_hash_destroy?

Yeah the destructor should be called. The graceful_destroy() is just a bit 
more careful and used when destroying the resource list.

Andi


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




[PHP-DEV] HUGE APOLOGIES to the LIST for SMAPCOP screw-up!!

2002-06-07 Thread Richard S. Blake

i believe its been fixed   :-S

richard


[PHP-DEV] Sorry! Re: [PHP-DEV] Fwd: REJECTED:5.1.0.14.2.20020607225328.03df2740@127.0.0.1

2002-06-07 Thread Richard S. Blake

sorry abt that .. an overzealous SPAM filter triggered on your three 
exclamation points . in your SUBJECT

should be fixed now :-S

--On Friday, June 7, 2002 10:58 PM +0300 Andi Gutmans [EMAIL PROTECTED] wrote:

 Any idea why I got this when posting to php-dev?

 Andi

 Delivered-To: [EMAIL PROTECTED]
 Sender: [EMAIL PROTECTED] (reject)
 Date: Thu, 06 Jun 2002 08:50:05 -0700
 X-Autogenerated: Reply
 To: Andi Gutmans [EMAIL PROTECTED]
 From: [EMAIL PROTECTED]
 Subject: REJECTED: [EMAIL PROTECTED]
 X-Autogenerated: UNSOLICITED ELECTRONIC COMMUNICATION
 Sender: [EMAIL PROTECTED]
 Reply-To: [EMAIL PROTECTED]
 Original-Message-ID: [EMAIL PROTECTED]
 Original-Sender: Andi Gutmans [EMAIL PROTECTED]
 Original-Subject: Re: [PHP-DEV] Zend Engine expert wanted
 Original-Date: Fri, 07 Jun 2002 22:53:42 +0300


 SERVICE of LEGAL NOTICE:

 Pursuant to California Law (cref. California Business  Professions Code
 §§ 17538.4, 17538.45 (2001)), the message referenced herein, uniquely
 identified by the following Internet messaging headers:

 {
 Original-Message-ID:
 [EMAIL PROTECTED]
 Original-Sender: Andi Gutmans [EMAIL PROTECTED]
 Original-Subject: Re: [PHP-DEV] Zend Engine expert
 wanted Original-Date: Fri, 07 Jun 2002 22:53:42 +0300
 }

 has been categorized as either Unsolicited Bulk E-mail (UBE), or
 Unsolicited Commercial E-Mail (UCE).

 Your server is one of those included in the headers of the message, and
 thus has been deemed an offending server used in the delivery of this
 message.

 California Law establishes Civil Right of Action against violators:

 In addition to any other action available under law, any
 electronic mail service provider whose policy on unsolicited
 electronic mail advertisements is violated as provided in this
 section may bring a civil action to recover the actual monetary
 loss suffered by that provider by reason of that violation, or
 liquidated damages of fifty dollars ($50) for each electronic
 mail message initiated or delivered in violation of this
 section, up to a maximum of twenty-five thousand dollars
 ($25,000) per day, whichever amount is greater.

 Your cooperation, as outlined below, is REQUIRED by California Law.

 To avoid being cited as an accomplice in this matter, PRESENCE-GROUP.COM
 requires you to take immediate and appropriate actions to stop the
 problem in the future. You are to notify us within three (3) days of
 those actions. Our experience shows that all legitimate Internet
 providers take immediate  action.

 If your server is an offending server in the *origination* of this
 message, PRESENCE-GROUP.COM demands that you provide us with the name,
 mailing address and other contact information of the originator of this
 message. If you furnish PRESENCE-GROUP.COM with this information,
 PRESENCE-GROUP.COM will release you from liability in this incident.
 Merely telling us you have cancelled or deleted the account is *not*
 adequate to satisfy the PRESENCE-GROUP.COM policy.

 If your server is an offending server in the *relay* of this message,
 PRESENCE-GROUP.COM demands that you take measures to stop the open
 relay from your insecure mailserver.

 If you do not furnish PRESENCE-GROUP.COM with the information we have
 requested,
 or provide us only with auto-responder or form messages,
 PRESENCE-GROUP.COM will
 consider how often your server is involved with UBE/UCE. We may then:

 1. Block access to  from your server.
 2. Deem you to be a co-conspirator in the delivery of UBE/UCE
 messages.
 3. Hold you liable for fees  damages.

 There is no need for you to send your appropriate use policy to us; As
 stated by law,
 it is our policy that governs.

 In order to provide required response to this notice, or if you believe
 you have
 received this notice in error, please forward your communication to:
 [EMAIL PROTECTED], with the words SPAM EXCEPTION exactly
 included in
 the message Subject: header.

 Further, you may choose to notify your intended recipient by an
 additional, alternate method requesting that they address this matter
 with the PRESENCE-GROUP.COM mail server administrator.


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




Re: [PHP-DEV] Zend Engine expert wanted!!!!

2002-06-07 Thread Brian France

Yes, zend_hash_graceful_reverse_destroy() fixes the problem as well. 
Is this a better solution for the fix?

Thanks,

Brian

At 11:06 PM +0300 6/7/02, Andi Gutmans wrote:
At 01:00 PM 6/7/2002 -0700, Brian France wrote:
I will try that, but I was worried that the pDestructor function 
would not get called for each item like it was in 
zend_hash_destroy. Is this the case?  Looking at the code what is 
the difference between zend_hash_graceful_destroy and 
zend_hash_destroy?

Yeah the destructor should be called. The graceful_destroy() is just 
a bit more careful and used when destroying the resource list.

Andi


--
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] Re: PHP profiling results under 2.0.37 Re: Performance of Apache2.0 Filter

2002-06-07 Thread Cliff Woolley


On Fri, 7 Jun 2002, Brian Pane wrote:

 IMHO, that's a design flaw.  Regardless of whether PHP is doing
 buffering, it shouldn't break up blocks of static content into
 small pieces--especially not as small as 400 bytes.  While it's
 certainly valid for PHP to insert a flush bucket right before a
 block of embedded code (in case that code takes a long time to
 run), breaking static text into 400-byte chunks will usually mean
 that it takes *longer* for the content to reach the client, which
 probably defeats PHP's motivation for doing the nonbuffered output.
 There's code downstream, in the httpd's core_output_filter and
 the OS's TCP driver, that can make much better decisions about
 when to buffer and when not to buffer.

FWIW, I totally agree here.  One of the biggest problems with the way PHP
handles buckets (as I'm sure has been discussed before I know) is that
static content cannot remain in its native form as it goes through PHP, or
at least not in very big chunks.  Take as a counterexample the way
mod_include deals with FILE buckets.  It reads the FILE bucket (which
causes the file the be MMAPed if allowed), and from there it just scans
through the mmaped region, and if it finds nothing, it hands it on to the
next filter still in the single-MMAP-bucket form.  PHP/Zend, on the other
hand, takes the file descriptor out of the file bucket, runs it through a
lexical analyzer which tokenizes it up to 400 bytes at a time, runs it
through the yacc-generated grammar as necessary, and handles it from
there.  Far more optimal would be to take the input, do a search through
it for a starting tag just as mod_include does, and if none is found (or
up until one is found), just tell the SAPI module to go ahead and send up
to THIS point out to the client unmodified.

So basically the difference between this and what we have now is that the
lexer should not take each 400 byte buffer and say here is (up to) 400
bytes of inline HTML, send it to the client as-is; instead, it should be
able to do something along the lines of taking the input 400 bytes at a
time, and as soon as it starts seeing inline HTML, keep track of the
starting offset (in bytes), and keep scanning through those 400 byte
buffers in a tight loop until it finds something that's NOT inline HTML,
and set the ending offset.  Then it can notify PHP in one call send bytes
375-10136 to the client as-is, it's inline html.

Another important thing that the lexical analyzer needs to support is that
the user of Zend (PHP in this case) should be able to specify the YY_INPUT
function rather than being *forced* to give Zend a filename or file
descriptor.  That's absolutely critical for the filtering design under
Apache 2.0 to work right.  What we have now is a total kludge.

I realize I'm calling into question some fundamental design decisions of
which I was not a part, so of course there is the possibility that I'm
missing some important detail.  But I think it would be relatively easy to
insert an optimization here that could make a huge difference without
breaking too many assumptions in the code.  I think.

Thanks,
--Cliff


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




Re: [PHP-DEV] Zend Engine expert wanted!!!!

2002-06-07 Thread Andi Gutmans

At 01:14 PM 6/7/2002 -0700, Brian France wrote:
Yes, zend_hash_graceful_reverse_destroy() fixes the problem as well. Is 
this a better solution for the fix?

It's the same but doesn't require a new function.

Andi


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




[PHP-DEV] Re: Sorry! Re: [PHP-DEV] Fwd: REJECTED: 5.1.0.14.2.20020607225328.03df2740@127.0.0.1

2002-06-07 Thread Jim Winstead

Richard S. Blake [EMAIL PROTECTED] wrote:
 sorry abt that .. an overzealous SPAM filter triggered on your three 
 exclamation points . in your SUBJECT
 
 should be fixed now :-S

you should further fix your spam system to bounce to the SMTP envelope
sender instead of whatever broken thing it is doing now.

jim

-- 
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] oo != php

2002-06-07 Thread Zeev Suraski

There are two reasons we repeat the 'PHP is not Java mantra':

(a) Many of those requesting these changes actually DO want to see PHP as a 
Java with PHPish syntax.
(b) Java is (so far) the best implemented OO language out there that's 
actually being used.  It symbolizes the extreme OO world, if you will.

Zeev

At 08:41 PM 6/7/2002, brad lafountain wrote:

--- Preston L. Bannister [EMAIL PROTECTED] wrote:
  From: Ilker Cetinkaya [mailto:[EMAIL PROTECTED]]
  [snip]
   but after getting known of the ze2 features, I personally saw PHP finally
   growing out of that PHP, language for kiddies-image.
   IMHO PHP is a real good language for its target purpose, but it has
   potential to be much better.
 
  PHP is a nicely done scripting language.  Scripting languages tend to
  be easier to get into, easier to make changes with, and do a good job
  of gluing disparate components together.
 
  Java is a compiled language.  Good for building complex tightly knit
  applications at the higher end of the performance spectrum.  For tasks
  that could be done with a scripting language, the implementation cost
  is usually higher in Java.
 
  C++ is a lower level compiled language.  Good for getting every last
  bit of performance possible out of the hardware.  Also good for complex
  tightly knit applications - but at an even higher development cost.
 
  Think of each as a different tool in your toolbox.  You choose the
  tool to fit the job at hand.  A screwdriver is not a kiddie hammer.
  Each is well suited for different kinds of tasks.
 
  To extend the metaphor - think of an all-in-one tool - a combination
  of hammer and screwdriver, say.  In trying to combine the two tools
  meant for different purposes you end up with something that is neither
  a particularly good hammer, or a particularly good screwdriver.
 
  So the focus on improving PHP in the role as a scripting language
  (not trying to make PHP into Java or C++) makes a great deal of sense.

  OO IS OO... JUST BECAUSE JAVA IS OO DOESN'T MEAN WE ARE SUGGESTING 
 MAKING JAVA
AGAIN. WE ARE SUGGESTING MORE OO FEATURES. Please Pleas Please realize the
difference. Im sick of people associating oo features as java features!

Making php more like java would be suggesting making a public static void
main(String args[]) in a class, and that gets run when a class with that name
is loaded. Now this is stuff specfic to java! Not MI or public/private members
these features have been around way before java was ever thought of!!!

  - Brad

__
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com


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




Re: [PHP-DEV] Zend Engine expert wanted!!!!

2002-06-07 Thread Zeev Suraski

Brian,

We're on the job.  I generally think you're right, we have to do some more 
thinking but chances are we will change the shutdown order to be 
reversed.  Sorry for not ack'ing earlier.

Zeev

At 09:44 PM 6/7/2002, Brian France wrote:
Zend Engine unloading extension in the wrong order! (Re-post due to no 
response)

I have been tracking down a core dump with my php extension when it is 
unloading some of its shared libraries.  I have shared extension that is 
link against libexpat and will load fine if it is the only on in the 
php.ini.  If I then load xml.so extension then my extension it works fine, 
but if it is my extension then xml.so it crashes while xml.so is unloading 
libexapt.

What I have found is the Zend Engine is unloading extension in the same 
order it loaded them.

load: foo_bar.so
load: xml.so

unload: foo_bar.so
unload: xml.so

I believe this is wrong and think it should be in reverse order.

load: foo_bar.so
load: xml.so

unload: xml.so
unload: foo_bar.so


There are two ways to fix this problem.  One is to push the modules to the 
head of the hash, but looking at the zend_hash_add function I decided to 
go with the second.  Second way is to destroy them in reverse order.  I 
created a zend_hash_reverse_destroy and call that instead of 
zend_hash_destroy.  There may be a better way to do this, but this is the 
quick fix for me.

I have included a patch below, should I submit a bug report as well?

Thanks,

Brian


diff -rc php-4.2.1/Zend/zend.c
*** php-4.2.1/Zend/zend.c   Tue Feb 26 10:59:25 2002
--- php-4.2.1/Zend/zend.c   Thu Jun  6 11:32:57 2002
***
*** 487,493 
 zend_destroy_rsrc_list(EG(persistent_list) TSRMLS_CC);
   #endif
 zend_destroy_rsrc_list_dtors();
!   zend_hash_destroy(module_registry);
 zend_hash_destroy(GLOBAL_FUNCTION_TABLE);
 free(GLOBAL_FUNCTION_TABLE);
 zend_hash_destroy(GLOBAL_CLASS_TABLE);
--- 487,493 
 zend_destroy_rsrc_list(EG(persistent_list) TSRMLS_CC);
   #endif
 zend_destroy_rsrc_list_dtors();
!   zend_hash_reverse_destroy(module_registry);
 zend_hash_destroy(GLOBAL_FUNCTION_TABLE);
 free(GLOBAL_FUNCTION_TABLE);
 zend_hash_destroy(GLOBAL_CLASS_TABLE);
diff -rc php-4.2.1/Zend/zend_hash.c
*** php-4.2.1/Zend/zend_hash.c  Mon Apr 22 23:53:26 2002
--- php-4.2.1/Zend/zend_hash.c  Thu Jun  6 11:32:57 2002
***
*** 550,555 
--- 550,579 
 SET_INCONSISTENT(HT_DESTROYED);
   }

+ ZEND_API void zend_hash_reverse_destroy(HashTable *ht)
+ {
+   Bucket *p, *q;
+
+   IS_CONSISTENT(ht);
+
+   SET_INCONSISTENT(HT_IS_DESTROYING);
+
+   p = ht-pListTail;
+   while (p != NULL) {
+   q = p;
+   p = p-pLast;
+   if (ht-pDestructor) {
+   ht-pDestructor(q-pData);
+   }
+   if (!q-pDataPtr  q-pData) {
+   pefree(q-pData, ht-persistent);
+   }
+   pefree(q, ht-persistent);
+   }
+   pefree(ht-arBuckets, ht-persistent);
+
+   SET_INCONSISTENT(HT_DESTROYED);
+ }

   ZEND_API void zend_hash_clean(HashTable *ht)
   {

--
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] What kind of option ASP/Java has for this?

2002-06-07 Thread Melvyn Sopacua

At 02:43 8-6-2002, Yasuo Ohgaki shared with all of us:

I'm about to start coding new HTML Form Creation  Validation
module for PHP. I've designed most featrue needed. Before I start,
I would like to know if ASP/Java has similar feature and what they
do.

I think CFML (Cold Fusion) would be the one to look at, as that has a very 
convenient form module and is IMO also the same userbase / momentum: ie - 
just need a form and basic validation.
What I would definetely put in, is 'multi-submit' protection (would require 
sessions).

Could be way off though - I don't know what you've designed :-)

http://livedocs.macromedia.com/cfmxdocs/CFML_Reference/Tags-pt015.jsp#2453276

Met vriendelijke groeten / With kind regards,

IDG.nl
Melvyn Sopacua
Webmaster


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




Re: [PHP-DEV] Re: [Zend Engine 2] RE: [PHP-DEV] oo != php

2002-06-07 Thread Dan Hardiker

 There are two reasons we repeat the 'PHP is not Java mantra':

 (a) Many of those requesting these changes actually DO want to see PHP
 as a  Java with PHPish syntax.

Anyone wanting PHP to be a simple or more flexable Java is barking up
the wrong tree... in fact all of the people I know who Im lobbying better
OO functionality in PHP for know Java and know PHP - and use both where
each is best. What we are requesting is that PHP expands its OO
capabilities - not change the way it does things, not do anything
outlandish or stolen from another language. Think about it - all it
would be is like adding an extra gear to a car. Wouldnt change the
concept, the design or the idea of the car... not the make nor model... it
would however give it added depth and use.

eg: simple db-based shopping cart web site? use PHP... complex internet
backing system? use Java. Easy!
 (b) Java is (so far) the best implemented OO language out there that's
 actually being used.  It symbolizes the extreme OO world, if you will.

Agreed - but that doesnt mean that the people on this list are assosiating
more OO in PHP as being one step closer to PHP being PHP-Java. If I wanted
Java's OO implementation in PHP, Id use Java. I dont - I want OO
implementation (not even to the extremeness of Java) put in PHP. Im not
even sure where the issue lies of taking the step - other than where is
this heading in the long run.

Is this all that much of an issue to implement MI, Pub/Pri/Prot
methods/vars, possibly interfaces? Not to be Java, but to extend PHP...
all those would help PHP as a *web based language* (hell it would help any
language IMHO - given that its optional and not enforced). Isnt that the
long term goal of PHP (or ZE)? To provide a most powerful backend for
scripting languages, and to provide a RAD tool for creating websites (or
web based systems) quickly, easily and powerfully? All the above would
take a step closer to both those goals.

Unless Im missing the mark - for which I appologise. The PHP Group as a
whole seems to have mixed feelings on this issue - could there be some
form of concensus so that I (and many others on this list) can work out if
the requested extra functionality is either ruled out, in for PHP version
x, or undecided and under continued debate. I think all sides have made
their opinions crystal clear.

Appologises for any rambling - its 2:40am heh... thanks for reading :)


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



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




Re: [PHP-DEV] What kind of option ASP/Java has for this?

2002-06-07 Thread Yasuo Ohgaki

Melvyn Sopacua wrote:
 At 02:43 8-6-2002, Yasuo Ohgaki shared with all of us:
 
 I'm about to start coding new HTML Form Creation  Validation
 module for PHP. I've designed most featrue needed. Before I start,
 I would like to know if ASP/Java has similar feature and what they
 do.
 
 
 I think CFML (Cold Fusion) would be the one to look at, as that has a 
 very convenient form module and is IMO also the same userbase / 
 momentum: ie - just need a form and basic validation.
 What I would definetely put in, is 'multi-submit' protection (would 
 require sessions).

Thank you for the info. I'll take a look what kind of options
ColdFusion has.

Anyway, multi-submit prevention will be in the module using
message digest validation and database.

I'll use PostgreSQL as the backend database to provide features
like multi-submit prevention. Therefore, it works
w/o session, but it requires PostgreSQL. You know I use
PostgreSQL :)

The idea is based on my script

http://www.zend.com/codex.php?id=626single=1

and

CGISPAWN mechanism mentioned in MSDN site.

Feature will be similar to PEAR's OOH Form. It also supports
multi form support for wizard like interface. (Cache control
in the future, too)

Comments and more info about other web developement tools
are welcome.

--
Yasuo Ohgaki



-- 
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] Re: [Zend Engine 2] RE:[PHP-DEV] oo != php

2002-06-07 Thread Alex Black

 eg: simple db-based shopping cart web site? use PHP... complex internet
 backing system? use Java. Easy!

Use PHP! Easier.

Look, I've built hideously complex things with PHP - commerce systems that
do stream encryption on a per-field basis, complex interconnected process
stuff, large APIs, everything.

PHP is _already_ serious, it is being used for large, complex applications
with deep APIs.

 Is this all that much of an issue to implement MI, Pub/Pri/Prot
 methods/vars, possibly interfaces? Not to be Java, but to extend PHP...
 all those would help PHP as a *web based language* (hell it would help any
 language IMHO - given that its optional and not enforced). Isnt that the
 long term goal of PHP (or ZE)? To provide a most powerful backend for
 scripting languages, and to provide a RAD tool for creating websites (or
 web based systems) quickly, easily and powerfully? All the above would
 take a step closer to both those goals.

Well said.

I think the core of everyone's argument is that we're not asking for java,
we don't want java. We're asking for some incremental _additions_ to PHP OO
that do not break BC, that will help us work with more advanced PHP OO
systems.

That's it. I don't want to see PHP turn into java because I dislike java
intensely. I like the freedom given to me by PHP.

 Unless Im missing the mark - for which I appologise. The PHP Group as a
 whole seems to have mixed feelings on this issue - could there be some
 form of concensus so that I (and many others on this list) can work out if
 the requested extra functionality is either ruled out, in for PHP version
 x, or undecided and under continued debate. I think all sides have made
 their opinions crystal clear.

yes, I think some sort of clear vision of what you guys would like to see
happen over the next year would help us all and likely end this thread.

best,

-alex


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




Re: [PHP-DEV] Re: [Zend Engine 2] RE: [PHP-DEV] oo != php

2002-06-07 Thread Jim Winstead

Dan Hardiker [EMAIL PROTECTED] wrote:
 Unless Im missing the mark - for which I appologise. The PHP Group as a
 whole seems to have mixed feelings on this issue - could there be some
 form of concensus so that I (and many others on this list) can work out if
 the requested extra functionality is either ruled out, in for PHP version
 x, or undecided and under continued debate. I think all sides have made
 their opinions crystal clear.

'The PHP Group' does not control the vision for what will go into php
version x. people actually willing to pitch in and do the work do. 'The
PHP Group' has absolutely zero leverage to get anybody to do any work.

i think people who think that 'The PHP Group' is some grand leadership
council that is plotting the technical direction of the php project
would be sorely disappointed if they were to read all of the mail traded
over [EMAIL PROTECTED] over the last year. the vast majority of it is
dealing with sysadmin stuff, and there was some discussion around
adopting smarty as a subproject within the php project (and how we want
to handle future projects that ask for that consideration). i can't
remember the last time we've had a technical discussion of any real
substance on [EMAIL PROTECTED] we've basically moved all of those
discussions here.

i think the resistance that people think they feel with regard to things
like making more php have more oo features has more to do with some
developers not willing to be told what features to implement than a
notion of those features being a terrible idea. (some of us may think
some are a bad idea, but working code can be very persuasive. lots of
arguing and handwaving isn't.)

jim

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




[PHP-DEV] failed php build on OSX: libexpat.la bad magic number (not aMach-O file) directory name (/lib) does not exist

2002-06-07 Thread R Blake

hi all,

a build of php-latest (php4-200206071800) on OSX Server 10.1.4 with:

./configure --enable-shared --enable-static --prefix=/usr/local/php4 
--with-layout=PHP --with-apxs2=/usr/local/apache2/sbin/apxs 
--with-config-file-path=/private/etc/php4/ --mandir=/usr/local/man 
--localstatedir=/private/var/php4 --x-includes=/usr/X11R6/include 
--x-libraries=/usr/X11R6/lib --with-expat-dir=/usr/local/expat 
--with-mysql=/usr/local/mysql --with-openssl --with-imap-ssl --with-mcrypt 
--with-mhash=/usr/local --with-kerberos --with-imap=/usr/local/imap 
--enable-mailparse --enable-magic-quotes --enable-ftp 
--enable-force-cgi-redirect --enable-discard-path 
--enable-inline-optimization --with-pear --with-zlib --enable-calendar 
--disable-safe-mode --with-tsrm-pthreads

fails  /usr/bin/ld: warning -L: directory name (/lib) does not exist
/usr/bin/ld: /usr/local/expat/lib/libexpat.la bad magic number (not a 
Mach-O file)

as follows:

.o Zend/zend_qsort.o Zend/zend_multibyte.o Zend/zend_execute.o 
sapi/apache2filter/sapi_apache2.o sapi/apache2filter/apache_config.o 
sapi/apache2filter/php_functions.o main/internal_functions.o -lcrypto -lssl 
-lc-client -lexpat -lmysqlclient -lmhash -lmcrypt -lltdl -lz -lssl -lcrypto 
-lbind -lm -ldl -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -ldl -o 
libs/libphp4.bundle  cp libs/libphp4.bundle libs/libphp4.so
/usr/bin/ld: warning -L: directory name (/lib) does not exist
/usr/bin/ld: /usr/local/expat/lib/libexpat.la bad magic number (not a 
Mach-O file)
/usr/bin/ld: warning multiple definitions of symbol _pcre_free
ext/pcre/pcrelib/pcre.o definition of _pcre_free in section (__DATA,__data)
/usr/local/apache2/sbin/httpd definition of _pcre_free
/usr/bin/ld: warning multiple definitions of symbol _pcre_fullinfo
ext/pcre/pcrelib/pcre.o definition of _pcre_fullinfo in section 
(__TEXT,__text)
/usr/local/apache2/sbin/httpd definition of _pcre_fullinfo
/usr/bin/ld: warning multiple definitions of symbol _pcre_malloc
ext/pcre/pcrelib/pcre.o definition of _pcre_malloc in section 
(__DATA,__data)
/usr/local/apache2/sbin/httpd definition of _pcre_malloc
/usr/bin/ld: warning multiple definitions of symbol _regcomp
/usr/local/apache2/sbin/httpd definition of _regcomp
/usr/lib/libm.dylib(regcomp.o) definition of _regcomp
/usr/bin/ld: warning multiple definitions of symbol _regexec
/usr/local/apache2/sbin/httpd definition of _regexec
/usr/lib/libm.dylib(regexec.o) definition of _regexec
/usr/bin/ld: warning multiple definitions of symbol _regfree
/usr/local/apache2/sbin/httpd definition of _regfree
/usr/lib/libm.dylib(regfree.o) definition of _regfree
make: *** [libs/libphp4.bundle] Error 1
[root@server]

i haven't found why make is complaining about /lib (yet) .. 
unfortunately, there is *no* /lib on OSX .

as for the libexpat error . i'm stumped  expat built just fine, 
and is used by a number of other progrs successfully ..

any thoughts/suggestions on either would be much appreciated!

fyi, details of my environment are doc'd on my web-page, below .

cheers,
richard

--
R Blake
blakers at mac.com
http://homepage.mac.com/blakers
--



[PHP-DEV] Re: PHP profiling results under 2.0.37 Re: Performance of Apache2.0 Filter

2002-06-07 Thread Brian Pane

In case it's helpful to the PHP developers, here are
some more performance problems that I found by running
a quick system call profile of PHP-4.2.1 within
Apache-2.0.37-dev:

* php_request_shutdown() calls shutdown_memory_manager(), which
  does a large number of calls to free() per request.  If there's
  any way to get the PHP allocator to use an APR pool, that
  should help speed things up a lot.  (The mallocs and frees are
  going to be especially problematic within multithreaded MPMs.)

* The lex_scan() function consumed a lot of CPU time, even though
  in my test case (a file with no actual embedded scripting code)
  only the loop right after the yy_match label ever got executed.

--Brian



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




[PHP-DEV] Re: PHP profiling results under 2.0.37 Re: Performance of Apache2.0 Filter

2002-06-07 Thread Brian Pane

I wrote:

 a quick system call profile of PHP-4.2.1 within 

oops, s/system/function/

--Brian



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




Re: [PHP-DEV] Re: [Zend Engine 2] RE: [PHP-DEV] oo != php

2002-06-07 Thread Michael Dransfield

At 02:40 08/06/2002 +0100, you wrote:
  There are two reasons we repeat the 'PHP is not Java mantra':
 
  (a) Many of those requesting these changes actually DO want to see PHP
  as a  Java with PHPish syntax.

Anyone wanting PHP to be a simple or more flexable Java is barking up
the wrong tree... in fact all of the people I know who Im lobbying better
OO functionality in PHP for know Java and know PHP - and use both where
each is best. What we are requesting is that PHP expands its OO
capabilities - not change the way it does things, not do anything
outlandish or stolen from another language. Think about it - all it
would be is like adding an extra gear to a car. Wouldnt change the
concept, the design or the idea of the car... not the make nor model... it
would however give it added depth and use.


I agree completely, for what its worth ;)

I have a question about this whole debate.

If PHP's core goal is to provide easy quick development for 'dynamic pages' 
, then why is there no built-in template engine?

Having this would solve many of the niggling problems that are associated 
with current PHP-written (OO) template engines.  Is it that there is no 
desire for such an extension?

Mike



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