Re: [PHP-DEV] mbstring/exif/win32

2002-12-16 Thread Edin Kadribasic
 Both 4.3 and Head still have a problem with mbstring not being
default
 under win32. Exif module can be compiled but not loaded because it
 uses a function from mbstring. Exif tests for HAVE_MBSTRING and
 COMPILE_DL_MBSTRING. The question is why HAVE_MBSTRING is
 defined but COMPILE_DL_MBSTRING is undefined.

I cannot see where HAVE_MBSTRING could be defined on win32. Several
places use this line to check for its presence:

#if HAVE_MBSTRING  !defined(COMPILE_DL_MBSTRING)

This works fine for say main/rfc1867.c. Does it work for you?

Edin


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




Re: [PHP-DEV] mbstring/exif/win32

2002-12-16 Thread Marcus Börger
At 13:17 16.12.2002, Edin Kadribasic wrote:

 Both 4.3 and Head still have a problem with mbstring not being
default
 under win32. Exif module can be compiled but not loaded because it
 uses a function from mbstring. Exif tests for HAVE_MBSTRING and
 COMPILE_DL_MBSTRING. The question is why HAVE_MBSTRING is
 defined but COMPILE_DL_MBSTRING is undefined.

I cannot see where HAVE_MBSTRING could be defined on win32. Several
places use this line to check for its presence:

#if HAVE_MBSTRING  !defined(COMPILE_DL_MBSTRING)

This works fine for say main/rfc1867.c. Does it work for you?

Edin


Sorry i loaded the wrong exif module. Now it works perfect with
all versions.

marcus


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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-15 Thread Andi Gutmans
At 09:14 AM 11/13/2002 -0500, Andrei Zmievski wrote:

On Wed, 13 Nov 2002, Melvyn Sopacua wrote:
 FWIW:
 * If this is ever going to make core as a part of PHP's i18n efforts, you
   are going to have to deal with the 'unseen' at some point. You are not
   going to identify them, by testing it within a select group. For this
   reason, the userbase is always the guinnea-pig with every new feature
   in a release.

Explain to me please why --enable-mbstring is not enough. The userbase
is not going to be a guinea-pig since only a subset of users will have a
need for mbsting and those that do can use the switch. Those that don't
will not even notice that it's not enabled.


It's not that I think enabling it is such a bad idea but as we're going for 
PHP 5 right after PHP 4.3 anyway I don't think it's too bad to wait for 
that. I'm sure lots of people will test PHP 5 RC's so there'll be lots of 
testing (long sentence but I hope it can be understood :)

Andi


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



Re: [PHP-DEV] mbstring and 4.3.0

2002-11-15 Thread Andrei Zmievski
On Fri, 15 Nov 2002, Andi Gutmans wrote:
 It's not that I think enabling it is such a bad idea but as we're going for 
 PHP 5 right after PHP 4.3 anyway I don't think it's too bad to wait for 
 that. I'm sure lots of people will test PHP 5 RC's so there'll be lots of 
 testing (long sentence but I hope it can be understood :)

I think we will still have 4.4.0 before PHP 5. The timeframe between
4.3.0 and 5 is just too large not to have another release.

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

Everything should be made as simple
as possible, but not simpler.
  -- Albert Einstein

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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-15 Thread Andi Gutmans
At 11:14 PM 11/14/2002 -0500, Andrei Zmievski wrote:

On Fri, 15 Nov 2002, Andi Gutmans wrote:
 It's not that I think enabling it is such a bad idea but as we're going 
for
 PHP 5 right after PHP 4.3 anyway I don't think it's too bad to wait for
 that. I'm sure lots of people will test PHP 5 RC's so there'll be lots of
 testing (long sentence but I hope it can be understood :)

I think we will still have 4.4.0 before PHP 5. The timeframe between
4.3.0 and 5 is just too large not to have another release.

Hmm, no matter when we create a PHP 5 CVS the timeframe will be too large.
That's OK. I don't see a problem with having a 4.4.0 if it's needed but 
that doesn't mean I think work on PHP 5 should start right after 4.3.0. 
Preferably we'd stick to 4.3.x though.

Andi


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



Re: [PHP-DEV] mbstring and 4.3.0

2002-11-13 Thread Yasuo Ohgaki
Derick Rethans wrote:

On Wed, 13 Nov 2002, Yasuo Ohgaki wrote:



Jani Taskinen wrote:


  
  Oh, I forgot: How many bug reports have we got so
  far for that fuckup with 4.2.3 ??? I _REALLY_ don't want
  to see another wave of those for 4.3.0..

Do you mean array input handling bug?
It's not mbstring developers' fault.



It doesn't really matter who's fault it was, it's a fact that the 
mbstring module caused this fuckup.

This would be the reason why it should be enabled by default.
Bug is reported repeatedly even if it isn't enabled by default.

Most importantly, person who patched didn't test the patch
well since it isn't enabled by default probably.

--
Yasuo Ohgaki



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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-13 Thread Edin Kadribasic
 For me it was the wide stream of bugreports coming in; can't speak
for
 the others though.

If the stream of bug reports was the criteria the whole of PHP
should be considered highly experimental :)

Edin


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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-13 Thread Wez Furlong
On 11/13/02, Derick Rethans [EMAIL PROTECTED] wrote:
 On Wed, 13 Nov 2002, Marcus Börger wrote:
  At 04:11 13.11.2002, Jani Taskinen wrote:
  
   Since when have we started to use users as guinea-pigs
   for testing EXPERIMENTAL extensions without them even
   really knowing about it?!!
  
  mbstring is not EXPERIMENTAL and i said let them try it. That
  does not mean test it. We think it works .
 
 uhm, I don't think it works stable enough.

Which part of have used it in production for 2 years with 0 problems
means that it's not stable? :)

The parts that myself (and Marcus) want to push *are* very stable.
Let's just disable the non-stable, lazy programmer hacky parts by
default and everyone will be happy.

(Still no responses to my no-nonsense suggestion)

--Wez.




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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-13 Thread Marcus Börger
At 10:53 13.11.2002, Wez Furlong wrote:

On 11/13/02, Derick Rethans [EMAIL PROTECTED] wrote:
 On Wed, 13 Nov 2002, Marcus Börger wrote:
  At 04:11 13.11.2002, Jani Taskinen wrote:
 
   Since when have we started to use users as guinea-pigs
   for testing EXPERIMENTAL extensions without them even
   really knowing about it?!!
 
  mbstring is not EXPERIMENTAL and i said let them try it. That
  does not mean test it. We think it works .

 uhm, I don't think it works stable enough.

Which part of have used it in production for 2 years with 0 problems
means that it's not stable? :)


And where does EXPERIMENTAL come from? It simply is not!



The parts that myself (and Marcus) want to push *are* very stable.


push is the right word i should have used.


Let's just disable the non-stable, lazy programmer hacky parts by
default and everyone will be happy.


That would be the best solution for me :-)


(Still no responses to my no-nonsense suggestion)

--Wez.




--
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] mbstring and 4.3.0

2002-11-13 Thread Melvyn Sopacua
At 10:53 13-11-2002, Wez Furlong wrote:


On 11/13/02, Derick Rethans [EMAIL PROTECTED] wrote:
 On Wed, 13 Nov 2002, Marcus Börger wrote:
  At 04:11 13.11.2002, Jani Taskinen wrote:
 
   Since when have we started to use users as guinea-pigs
   for testing EXPERIMENTAL extensions without them even
   really knowing about it?!!
 
  mbstring is not EXPERIMENTAL and i said let them try it. That
  does not mean test it. We think it works .

 uhm, I don't think it works stable enough.

Which part of have used it in production for 2 years with 0 problems
means that it's not stable? :)

The parts that myself (and Marcus) want to push *are* very stable.
Let's just disable the non-stable, lazy programmer hacky parts by
default and everyone will be happy.


FWIW:
* If this is ever going to make core as a part of PHP's i18n efforts, you
  are going to have to deal with the 'unseen' at some point. You are not
  going to identify them, by testing it within a select group. For this
  reason, the userbase is always the guinnea-pig with every new feature
  in a release.

* Getting real bug reports is a good thing(tm). Breaking compilation
  because of sloppy symbol protections sucks(r). The number of bugs should
  not be a factor in this scenario, because once it becomes core, you're
  gonna have to deal with them anyway.

* Enabling by default for 4.3.0 is actually the best point in time, unless
  there's going to be a 4.4.0. You don't want this to be done in 5.0.0,
  because the new OO layer, other new features and especially BC-breaking
  issues will have to be focused on. (I'm not saying PHP 5 is intending to
  break BC - just that there is a high probability issues arrise, which
  we're not foreseeable).
  A x.x.0 release is the best release to do it in, because people who demand
  a high level of stability already will skip it and still it will have a
  large enough audience to flush out the bugs nobody thought of.

All in all - I think we should enable the parts mentioned by Wez, in RC1. The
default behavior should be it's compiled in, but doesn't impact any 
functions.

If there is a large number of distinct bug reports, then it's obvious the
extension is not mature enough for it and because of the schedule (not the
number) it should be disabled in the final release.

This is of course based on the assumption, that there are no unresolved bugs
with the 'stable parts' at present.

With kind regards,

Melvyn Sopacua
?php include(not_reflecting_employers_views.txt); ?


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



Re: [PHP-DEV] mbstring and 4.3.0

2002-11-13 Thread Andrei Zmievski
On Wed, 13 Nov 2002, Melvyn Sopacua wrote:
 FWIW:
 * If this is ever going to make core as a part of PHP's i18n efforts, you
   are going to have to deal with the 'unseen' at some point. You are not
   going to identify them, by testing it within a select group. For this
   reason, the userbase is always the guinnea-pig with every new feature
   in a release.

Explain to me please why --enable-mbstring is not enough. The userbase
is not going to be a guinea-pig since only a subset of users will have a
need for mbsting and those that do can use the switch. Those that don't
will not even notice that it's not enabled.

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

I must say I find television very educational. The minute
somebody turns it on, I go to the library and read a good book.
   - Groucho Marx

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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-13 Thread Moriyoshi Koizumi
Andrei Zmievski [EMAIL PROTECTED] wrote:

 On Wed, 13 Nov 2002, Melvyn Sopacua wrote:
  FWIW:
  * If this is ever going to make core as a part of PHP's i18n efforts, you
are going to have to deal with the 'unseen' at some point. You are not
going to identify them, by testing it within a select group. For this
reason, the userbase is always the guinnea-pig with every new feature
in a release.
 
 Explain to me please why --enable-mbstring is not enough. The userbase
 is not going to be a guinea-pig since only a subset of users will have a
 need for mbsting and those that do can use the switch. Those that don't
 will not even notice that it's not enabled.

I think your words only a subset of users would be more accurate if it 
went only a subset of users who can write bug reports in English.

Moriyoshi

 
 -Andrei   http://www.gravitonic.com/
 
 I must say I find television very educational. The minute
 somebody turns it on, I go to the library and read a good book.
- Groucho Marx
 
 -- 
 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] mbstring and 4.3.0

2002-11-13 Thread Melvyn Sopacua
At 15:14 13-11-2002, Andrei Zmievski wrote:


On Wed, 13 Nov 2002, Melvyn Sopacua wrote:
 FWIW:
 * If this is ever going to make core as a part of PHP's i18n efforts, you
   are going to have to deal with the 'unseen' at some point. You are not
   going to identify them, by testing it within a select group. For this
   reason, the userbase is always the guinnea-pig with every new feature
   in a release.

Explain to me please why --enable-mbstring is not enough.


For the same reason, that there is no --disable-standard.

Of course - if mbstring is not going to become core, this doesn't apply.

With kind regards,

Melvyn Sopacua
?php include(not_reflecting_employers_views.txt); ?


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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-13 Thread Ilia A.
On November 13, 2002 07:50 am, Melvyn Sopacua wrote:
 FWIW:
 * If this is ever going to make core as a part of PHP's i18n efforts, you
are going to have to deal with the 'unseen' at some point. You are not
going to identify them, by testing it within a select group. For this
reason, the userbase is always the guinnea-pig with every new feature
in a release.

If mbstring proves to be as popular as some people say many people will take a 
chance and enable the extension while compiling given the size of PHP user 
base that should be more then enough people to discover bugs in the 
extension. However, there is no need to put some 2 million (or whatever the 
latest netcraft data is) hosts running PHP at risk by enabling it by default. 
Unfortunately every extension has bugs, but usually such bugs do not affect 
PHP overall performance, mbstring is different, a bug in it can affect PHP 
behavior. Because of this I believe we need exercise extreme caution before 
even considering enabling it by default.


 * Getting real bug reports is a good thing(tm). Breaking compilation
because of sloppy symbol protections sucks(r). The number of bugs should
not be a factor in this scenario, because once it becomes core, you're
gonna have to deal with them anyway.

Given prior history, when an extension has many bugs or is being heavily 
modified it was/is marked experimental and kept so several months even after 
the development was halted and bugs were addressed. Why an important 
extension like mbstring should be different?

 * Enabling by default for 4.3.0 is actually the best point in time, unless
there's going to be a 4.4.0. You don't want this to be done in 5.0.0,
because the new OO layer, other new features and especially BC-breaking
issues will have to be focused on. (I'm not saying PHP 5 is intending to
break BC - just that there is a high probability issues arrise, which
we're not foreseeable).

I think there is a 60% chance that they'll be further 4.3.X releases after 
4.3.0 simply because this release represents a fair number of large changes 
and most likely will require several bug fixing releases. It is even remotly 
possible that 4.4.X may happen, but I am in no position to make such promises 
so, this is something I can only make educated guesses on.

A x.x.0 release is the best release to do it in, because people who
 demand a high level of stability already will skip it and still it will
 have a large enough audience to flush out the bugs nobody thought of.

Sure, but if the people who try it get burnt by the mbstring extension, you 
can be sure that in the next release at least half of them will disable it 
straight off. And if these people are hosting providers, they'll refuse the 
turn it on for their customers because they would consider it a hindrance to 
the stability of their PHP. You are going to accomplish the exact opposite of 
what you've set out to do.

 All in all - I think we should enable the parts mentioned by Wez, in RC1.
 The default behavior should be it's compiled in, but doesn't impact any
 functions.

 If there is a large number of distinct bug reports, then it's obvious the
 extension is not mature enough for it and because of the schedule (not the
 number) it should be disabled in the final release

I am lazy and I am sure many other people are too, certain features like 
overloading make life rather simple in that regard. You can be sure many 
people who are as lazy as I am will turn it on. Because to them it would be 
an important feature. Consider if a person is trying to make large, existing 
application support multi-byte, with overload they can avoid changing a large 
chunks of their code, they'll try it. If it does not work, many will simply 
drop mbstring because for all its wonderful functionality, it does not work 
as advertised. So, saying lets enable part A because it is stable and disable 
part B and C, just does not work. It is either all or nothing.

Ilia

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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-13 Thread Melvyn Sopacua
At 15:14 13-11-2002, Andrei Zmievski wrote:


On Wed, 13 Nov 2002, Melvyn Sopacua wrote:
 FWIW:
 * If this is ever going to make core as a part of PHP's i18n efforts, you
   are going to have to deal with the 'unseen' at some point. You are not
   going to identify them, by testing it within a select group. For this
   reason, the userbase is always the guinnea-pig with every new feature
   in a release.

Explain to me please why --enable-mbstring is not enough.


For the same reason, that there is no --disable-standard.

Of course - if mbstring is not going to become core, this doesn't apply.

With kind regards,

Melvyn Sopacua
?php include(not_reflecting_employers_views.txt); ?


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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-13 Thread Yasuo Ohgaki
Andrei Zmievski wrote:


Explain to me please why --enable-mbstring is not enough. 

Obviously, --enable-mbstring is not enough.
There are several reasons including crashes without
mbstring.

If one think it's not stable (while real users do not
think its unstable), --enable mbstring should be enough.

There are problems --disable-mbstirng or --enable-mbstring=shared,
but it's users problem, if it's enabled by default.

--
Yasuo Ohgaki


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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-12 Thread Ilia A.
On November 7, 2002 10:04 am, Andrei Zmievski wrote:
 At the PHP Conference in Germany several of us have discussed the
 current state of mbstring and there was a proposal to not have it
 enabled by default for 4.3.0 release. It seems that the extension
 attempts to do magic stuff by overloading functions in the executor
 globals and, as Thies said, that could be dangerous. Also, doesn't it
 affect run-tests.php script currently?


On the note of overloading done by mbstring, it appears this behavior is not 
entirely stable. On at least one test system (Sun OS 5.9) it causes crashes 
and overruns by using the test script in the test suite.
Ex:
sapi/cli/php -d mbstring.func_overload=1 -r ''
Unknown(0) : Fatal error - (null)() [http://www.php.net/ref.mbstring]: 
mbstring couldn't find function mail.
Could not startup.
[Tue Nov 12 21:01:33 2002]  Script:  '-'
---
php4/Zend/zend_execute.h(44) : Block 0x001FB640 status:
Beginning:  Overrun (magic=0x001FE7F8, expected=0x7312F8DC)
  End:  Unknown
---

The test script itself (ext/mbstring/tests/overload.phpt) causes a 
segmentation fault. Here is a back trace:
#0  0x001528f8 in shutdown_memory_manager (silent=1, clean_cache=1) at 
php4/Zend/zend_alloc.c:461
#1  0x0011d944 in php_module_shutdown () at php4/main/main.c:1219
#2  0x0018d8d0 in main (argc=39, argv=0xffbffa74) at 
php4/sapi/cli/php_cli.c:761

Ilia

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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-12 Thread Moriyoshi Koizumi
Hi,

Thanks for the report.
Although I found a bug in the overloading code, I wonder why the mail() 
function entry was not found on RINIT. Any insights?

Moriyoshi

Ilia A. [EMAIL PROTECTED] wrote:

 On November 7, 2002 10:04 am, Andrei Zmievski wrote:
  At the PHP Conference in Germany several of us have discussed the
  current state of mbstring and there was a proposal to not have it
  enabled by default for 4.3.0 release. It seems that the extension
  attempts to do magic stuff by overloading functions in the executor
  globals and, as Thies said, that could be dangerous. Also, doesn't it
  affect run-tests.php script currently?
 
 
 On the note of overloading done by mbstring, it appears this behavior is not 
 entirely stable. On at least one test system (Sun OS 5.9) it causes crashes 
 and overruns by using the test script in the test suite.
 Ex:
 sapi/cli/php -d mbstring.func_overload=1 -r ''
 Unknown(0) : Fatal error - (null)() [http://www.php.net/ref.mbstring]: 
 mbstring couldn't find function mail.
 Could not startup.
 [Tue Nov 12 21:01:33 2002]  Script:  '-'
 ---
 php4/Zend/zend_execute.h(44) : Block 0x001FB640 status:
 Beginning:  Overrun (magic=0x001FE7F8, expected=0x7312F8DC)
   End:  Unknown
 ---
 
 The test script itself (ext/mbstring/tests/overload.phpt) causes a 
 segmentation fault. Here is a back trace:
 #0  0x001528f8 in shutdown_memory_manager (silent=1, clean_cache=1) at 
 php4/Zend/zend_alloc.c:461
 #1  0x0011d944 in php_module_shutdown () at php4/main/main.c:1219
 #2  0x0018d8d0 in main (argc=39, argv=0xffbffa74) at 
 php4/sapi/cli/php_cli.c:761
 
 Ilia
 
 -- 
 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] mbstring and 4.3.0

2002-11-12 Thread Ilia A.
On November 12, 2002 04:58 pm, Moriyoshi Koizumi wrote:
 Hi,

 Thanks for the report.
 Although I found a bug in the overloading code, I wonder why the mail()
 function entry was not found on RINIT. Any insights?

It seems the mail() function is not avaliable on that system because sendmail 
was not found on the system. The function mail() on unix systems appears to 
be dependant on sendmail avaliablity or atleast something that would cause 
the HAVE_SENDMAIL flag to be set.

Ilia

 Moriyoshi

 Ilia A. [EMAIL PROTECTED] wrote:
  On November 7, 2002 10:04 am, Andrei Zmievski wrote:
   At the PHP Conference in Germany several of us have discussed the
   current state of mbstring and there was a proposal to not have it
   enabled by default for 4.3.0 release. It seems that the extension
   attempts to do magic stuff by overloading functions in the executor
   globals and, as Thies said, that could be dangerous. Also, doesn't it
   affect run-tests.php script currently?
 
  On the note of overloading done by mbstring, it appears this behavior is
  not entirely stable. On at least one test system (Sun OS 5.9) it causes
  crashes and overruns by using the test script in the test suite.
  Ex:
  sapi/cli/php -d mbstring.func_overload=1 -r ''
  Unknown(0) : Fatal error - (null)() [http://www.php.net/ref.mbstring]:
  mbstring couldn't find function mail.
  Could not startup.
  [Tue Nov 12 21:01:33 2002]  Script:  '-'
  ---
  php4/Zend/zend_execute.h(44) : Block 0x001FB640 status:
  Beginning:  Overrun (magic=0x001FE7F8, expected=0x7312F8DC)
End:  Unknown
  ---
 
  The test script itself (ext/mbstring/tests/overload.phpt) causes a
  segmentation fault. Here is a back trace:
  #0  0x001528f8 in shutdown_memory_manager (silent=1, clean_cache=1) at
  php4/Zend/zend_alloc.c:461
  #1  0x0011d944 in php_module_shutdown () at php4/main/main.c:1219
  #2  0x0018d8d0 in main (argc=39, argv=0xffbffa74) at
  php4/sapi/cli/php_cli.c:761
 
  Ilia
 
  --
  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] mbstring and 4.3.0

2002-11-12 Thread Moriyoshi Koizumi
Oops, why didn't I notice such a trivial thing before asking a braindead 
question... Anyway I bet the problem should be gone by my patch that was 
just commited.

Moriyoshi

Ilia A. [EMAIL PROTECTED] wrote:

 On November 12, 2002 04:58 pm, Moriyoshi Koizumi wrote:
  Hi,
 
  Thanks for the report.
  Although I found a bug in the overloading code, I wonder why the mail()
  function entry was not found on RINIT. Any insights?
 
 It seems the mail() function is not avaliable on that system because sendmail 
 was not found on the system. The function mail() on unix systems appears to 
 be dependant on sendmail avaliablity or atleast something that would cause 
 the HAVE_SENDMAIL flag to be set.
 
 Ilia
 
  Moriyoshi
 
  Ilia A. [EMAIL PROTECTED] wrote:
   On November 7, 2002 10:04 am, Andrei Zmievski wrote:
At the PHP Conference in Germany several of us have discussed the
current state of mbstring and there was a proposal to not have it
enabled by default for 4.3.0 release. It seems that the extension
attempts to do magic stuff by overloading functions in the executor
globals and, as Thies said, that could be dangerous. Also, doesn't it
affect run-tests.php script currently?
  
   On the note of overloading done by mbstring, it appears this behavior is
   not entirely stable. On at least one test system (Sun OS 5.9) it causes
   crashes and overruns by using the test script in the test suite.
   Ex:
   sapi/cli/php -d mbstring.func_overload=1 -r ''
   Unknown(0) : Fatal error - (null)() [http://www.php.net/ref.mbstring]:
   mbstring couldn't find function mail.
   Could not startup.
   [Tue Nov 12 21:01:33 2002]  Script:  '-'
   ---
   php4/Zend/zend_execute.h(44) : Block 0x001FB640 status:
   Beginning:  Overrun (magic=0x001FE7F8, expected=0x7312F8DC)
 End:  Unknown
   ---
  
   The test script itself (ext/mbstring/tests/overload.phpt) causes a
   segmentation fault. Here is a back trace:
   #0  0x001528f8 in shutdown_memory_manager (silent=1, clean_cache=1) at
   php4/Zend/zend_alloc.c:461
   #1  0x0011d944 in php_module_shutdown () at php4/main/main.c:1219
   #2  0x0018d8d0 in main (argc=39, argv=0xffbffa74) at
   php4/sapi/cli/php_cli.c:761
  
   Ilia
  
   --
   PHP Development Mailing List http://www.php.net/
   To unsubscribe, visit: http://www.php.net/unsub.php
 
 
 -- 
 PHP Development Mailing List http://www.php.net/
 To unsubscribe, visit: http://www.php.net/unsub.php
 


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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-12 Thread Ilia A.
Since I've gotten involved in this conversation would like to add my opinion 
to the tally. I too believe that at least at this point, the mbstring 
extension should not be enabled by default.
There are two reasons for this decision:

1) Majority of PHP users do not require this functionality. Most PHP programs 
are developed with non-multibyte languages in mind and mbstring only adds 
unnecessary overhead. People who need it can easily enable it or ask their 
ISPs to enable it, if they had done so already.

2) mbstring extension is a fairly complex piece of code and iirc is the 
youngest extension of this magnitude that is enabled by default. Although the 
extension developers are very prompt at fixing bugs, the fact they need to do 
this fairly frequently, at least to me, implies that the extension is not yet 
mature enough to be enabled by default. Also, judging by the number of 
changes in the CVS to the extension, a lot of new functionality was added to 
the extension recently and has not been tested outside the pre process. Maybe 
by next PHP release is made, it will be better tested and more stable.

Ilia


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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-12 Thread Ilia A.
I've just tried the latest CVS, it still crashes, the backtrace is same as 
before.

Ilia

On November 12, 2002 05:21 pm, Moriyoshi Koizumi wrote:
 Oops, why didn't I notice such a trivial thing before asking a braindead
 question... Anyway I bet the problem should be gone by my patch that was
 just commited.

 Moriyoshi

 Ilia A. [EMAIL PROTECTED] wrote:
  On November 12, 2002 04:58 pm, Moriyoshi Koizumi wrote:
   Hi,
  
   Thanks for the report.
   Although I found a bug in the overloading code, I wonder why the mail()
   function entry was not found on RINIT. Any insights?
 
  It seems the mail() function is not avaliable on that system because
  sendmail was not found on the system. The function mail() on unix systems
  appears to be dependant on sendmail avaliablity or atleast something that
  would cause the HAVE_SENDMAIL flag to be set.
 
  Ilia
 
   Moriyoshi
  
   Ilia A. [EMAIL PROTECTED] wrote:
On November 7, 2002 10:04 am, Andrei Zmievski wrote:
 At the PHP Conference in Germany several of us have discussed the
 current state of mbstring and there was a proposal to not have it
 enabled by default for 4.3.0 release. It seems that the extension
 attempts to do magic stuff by overloading functions in the
 executor globals and, as Thies said, that could be dangerous. Also,
 doesn't it affect run-tests.php script currently?
   
On the note of overloading done by mbstring, it appears this behavior
is not entirely stable. On at least one test system (Sun OS 5.9) it
causes crashes and overruns by using the test script in the test
suite. Ex:
sapi/cli/php -d mbstring.func_overload=1 -r ''
Unknown(0) : Fatal error - (null)()
[http://www.php.net/ref.mbstring]: mbstring couldn't find function
mail.
Could not startup.
[Tue Nov 12 21:01:33 2002]  Script:  '-'
---
php4/Zend/zend_execute.h(44) : Block 0x001FB640 status:
Beginning:  Overrun (magic=0x001FE7F8, expected=0x7312F8DC)
  End:  Unknown
---
   
The test script itself (ext/mbstring/tests/overload.phpt) causes a
segmentation fault. Here is a back trace:
#0  0x001528f8 in shutdown_memory_manager (silent=1, clean_cache=1)
at php4/Zend/zend_alloc.c:461
#1  0x0011d944 in php_module_shutdown () at php4/main/main.c:1219
#2  0x0018d8d0 in main (argc=39, argv=0xffbffa74) at
php4/sapi/cli/php_cli.c:761
   
Ilia
   
--
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php
 
  --
  PHP Development Mailing List http://www.php.net/
  To unsubscribe, visit: http://www.php.net/unsub.php


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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-12 Thread Jani Taskinen
On Tue, 12 Nov 2002, Ilia A. wrote:

Since I've gotten involved in this conversation would like to add my opinion 
to the tally. I too believe that at least at this point, the mbstring 
extension should not be enabled by default.
There are two reasons for this decision:

1) Majority of PHP users do not require this functionality. Most PHP programs 
are developed with non-multibyte languages in mind and mbstring only adds 
unnecessary overhead. People who need it can easily enable it or ask their 
ISPs to enable it, if they had done so already.

2) mbstring extension is a fairly complex piece of code and iirc is the 
youngest extension of this magnitude that is enabled by default. Although the 
extension developers are very prompt at fixing bugs, the fact they need to do 
this fairly frequently, at least to me, implies that the extension is not yet 
mature enough to be enabled by default. Also, judging by the number of 
changes in the CVS to the extension, a lot of new functionality was added to 
the extension recently and has not been tested outside the pre process. Maybe 
by next PHP release is made, it will be better tested and more stable.


I must (still) agree. +1 for making it disabled for now..
(people who need it, already know to use --enable-mbstring with 4.2.3)


--Jani



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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-12 Thread Yasuo Ohgaki
Moriyoshi Koizumi wrote:

Hi,

Thanks for the report.
Although I found a bug in the overloading code, I wonder why the mail() 
function entry was not found on RINIT. Any insights?

If sendmail binary cannot be found at configure time, mail() may not
be compiled in PHP under UNIX like OS :(

IMO, we should always compile mail() function.
Distributors sometimes release PHP packages (i.e. RPM) w/o mail()
sometimes.

--
Yasuo Ohgaki



Moriyoshi

Ilia A. [EMAIL PROTECTED] wrote:



On November 7, 2002 10:04 am, Andrei Zmievski wrote:


At the PHP Conference in Germany several of us have discussed the
current state of mbstring and there was a proposal to not have it
enabled by default for 4.3.0 release. It seems that the extension
attempts to do magic stuff by overloading functions in the executor
globals and, as Thies said, that could be dangerous. Also, doesn't it
affect run-tests.php script currently?



On the note of overloading done by mbstring, it appears this behavior is not 
entirely stable. On at least one test system (Sun OS 5.9) it causes crashes 
and overruns by using the test script in the test suite.
Ex:
sapi/cli/php -d mbstring.func_overload=1 -r ''
Unknown(0) : Fatal error - (null)() [http://www.php.net/ref.mbstring]: 
mbstring couldn't find function mail.
Could not startup.
[Tue Nov 12 21:01:33 2002]  Script:  '-'
---
php4/Zend/zend_execute.h(44) : Block 0x001FB640 status:
Beginning:  Overrun (magic=0x001FE7F8, expected=0x7312F8DC)
 End:  Unknown
---

The test script itself (ext/mbstring/tests/overload.phpt) causes a 
segmentation fault. Here is a back trace:
#0  0x001528f8 in shutdown_memory_manager (silent=1, clean_cache=1) at 
php4/Zend/zend_alloc.c:461
#1  0x0011d944 in php_module_shutdown () at php4/main/main.c:1219
#2  0x0018d8d0 in main (argc=39, argv=0xffbffa74) at 
php4/sapi/cli/php_cli.c:761

Ilia

--
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] mbstring and 4.3.0

2002-11-12 Thread Mike Robinson

Jani Taskinen writes:

 I must (still) agree. +1 for making it disabled for now..
 (people who need it, already know to use 
 --enable-mbstring with 4.2.3)

Exactly.
It should remain off by default until it's solid.

Regards
Mike Robinson


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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-12 Thread Yasuo Ohgaki
Mike Robinson wrote:

Jani Taskinen writes:



   I must (still) agree. +1 for making it disabled for now..
   (people who need it, already know to use 
--enable-mbstring with 4.2.3)


Exactly.
It should remain off by default until it's solid.


Guys, please comment when you use it actually.
i.e. mention unsolid things, problems, etc.

Bug reports are welcome.

--
Yasuo Ohgaki


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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-12 Thread Marcus Börger
At 23:56 12.11.2002, Ilia A. wrote:

Since I've gotten involved in this conversation would like to add my opinion
to the tally. I too believe that at least at this point, the mbstring
extension should not be enabled by default.
There are two reasons for this decision:

1) Majority of PHP users do not require this functionality. Most PHP programs
are developed with non-multibyte languages in mind and mbstring only adds
unnecessary overhead. People who need it can easily enable it or ask their
ISPs to enable it, if they had done so already.


NO. Most people do not have the choice and ISPs usually take the default.
If the default is not approriate they do not use it.
If you read the whole thread you find enough reasons how apps benefit from
mbstring and what could be easily achieved with languages like german.



2) mbstring extension is a fairly complex piece of code and iirc is the
youngest extension of this magnitude that is enabled by default. Although the
extension developers are very prompt at fixing bugs, the fact they need to do
this fairly frequently, at least to me, implies that the extension is not yet
mature enough to be enabled by default. Also, judging by the number of
changes in the CVS to the extension, a lot of new functionality was added to
the extension recently and has not been tested outside the pre process. Maybe
by next PHP release is made, it will be better tested and more stable.

Ilia


Ok there are some problems and that is the backside of it: Some of us
implement new functionality and some merge code from the original development
tree. In other words: Maybe we should slow down or even stop feature 
development
until 4.3 is out After php 4.3 we hope the new implementation can be used.

As long as function overloading isn't used there is no harm from mbstring 
(disable
is the default). And some extra bytes shouldn't affect anybody today. If 
you say
most apps are not designed to use mbstring then it's nice that all those 
could try
mbstring which would like to. So we can get feedback. As long as it isn't 
default
there will be none or only little feedback.

The stability is very high and we have many *.phpt tests to help us find 
failures
and make it even more stable.

marcus


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



Re: [PHP-DEV] mbstring and 4.3.0

2002-11-12 Thread Jani Taskinen

Since when have we started to use users as guinea-pigs
for testing EXPERIMENTAL extensions without them even
really knowing about it?!!

You can't FORCE anybody to use it. 99% of apps out there
DO NO NEED IT..get it?? (they've managed without it very long time..)

--Jani



On Wed, 13 Nov 2002, Marcus Börger wrote:

At 23:56 12.11.2002, Ilia A. wrote:
Since I've gotten involved in this conversation would like to add my opinion
to the tally. I too believe that at least at this point, the mbstring
extension should not be enabled by default.
There are two reasons for this decision:

1) Majority of PHP users do not require this functionality. Most PHP programs
are developed with non-multibyte languages in mind and mbstring only adds
unnecessary overhead. People who need it can easily enable it or ask their
ISPs to enable it, if they had done so already.

NO. Most people do not have the choice and ISPs usually take the default.
If the default is not approriate they do not use it.
If you read the whole thread you find enough reasons how apps benefit from
mbstring and what could be easily achieved with languages like german.


2) mbstring extension is a fairly complex piece of code and iirc is the
youngest extension of this magnitude that is enabled by default. Although the
extension developers are very prompt at fixing bugs, the fact they need to do
this fairly frequently, at least to me, implies that the extension is not yet
mature enough to be enabled by default. Also, judging by the number of
changes in the CVS to the extension, a lot of new functionality was added to
the extension recently and has not been tested outside the pre process. Maybe
by next PHP release is made, it will be better tested and more stable.

Ilia

Ok there are some problems and that is the backside of it: Some of us
implement new functionality and some merge code from the original development
tree. In other words: Maybe we should slow down or even stop feature 
development
until 4.3 is out After php 4.3 we hope the new implementation can be used.

As long as function overloading isn't used there is no harm from mbstring 
(disable
is the default). And some extra bytes shouldn't affect anybody today. If 
you say
most apps are not designed to use mbstring then it's nice that all those 
could try
mbstring which would like to. So we can get feedback. As long as it isn't 
default
there will be none or only little feedback.

The stability is very high and we have many *.phpt tests to help us find 
failures
and make it even more stable.

marcus




-- 
- For Sale! -


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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-12 Thread Jani Taskinen
   
   Oh, I forgot: How many bug reports have we got so
   far for that fuckup with 4.2.3 ??? I _REALLY_ don't want
   to see another wave of those for 4.3.0..
   
   --Jani
   


On Wed, 13 Nov 2002, Marcus Börger wrote:

At 23:56 12.11.2002, Ilia A. wrote:
Since I've gotten involved in this conversation would like to add my opinion
to the tally. I too believe that at least at this point, the mbstring
extension should not be enabled by default.
There are two reasons for this decision:

1) Majority of PHP users do not require this functionality. Most PHP programs
are developed with non-multibyte languages in mind and mbstring only adds
unnecessary overhead. People who need it can easily enable it or ask their
ISPs to enable it, if they had done so already.

NO. Most people do not have the choice and ISPs usually take the default.
If the default is not approriate they do not use it.
If you read the whole thread you find enough reasons how apps benefit from
mbstring and what could be easily achieved with languages like german.


2) mbstring extension is a fairly complex piece of code and iirc is the
youngest extension of this magnitude that is enabled by default. Although the
extension developers are very prompt at fixing bugs, the fact they need to do
this fairly frequently, at least to me, implies that the extension is not yet
mature enough to be enabled by default. Also, judging by the number of
changes in the CVS to the extension, a lot of new functionality was added to
the extension recently and has not been tested outside the pre process. Maybe
by next PHP release is made, it will be better tested and more stable.

Ilia

Ok there are some problems and that is the backside of it: Some of us
implement new functionality and some merge code from the original development
tree. In other words: Maybe we should slow down or even stop feature 
development
until 4.3 is out After php 4.3 we hope the new implementation can be used.

As long as function overloading isn't used there is no harm from mbstring 
(disable
is the default). And some extra bytes shouldn't affect anybody today. If 
you say
most apps are not designed to use mbstring then it's nice that all those 
could try
mbstring which would like to. So we can get feedback. As long as it isn't 
default
there will be none or only little feedback.

The stability is very high and we have many *.phpt tests to help us find 
failures
and make it even more stable.

marcus




-- 
- For Sale! -


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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-12 Thread Marcus Börger
At 04:11 13.11.2002, Jani Taskinen wrote:


Since when have we started to use users as guinea-pigs
for testing EXPERIMENTAL extensions without them even
really knowing about it?!!


mbstring is not EXPERIMENTAL and i said let them try it. That
does not mean test it. We think it works .


You can't FORCE anybody to use it. 99% of apps out there
DO NO NEED IT..get it?? (they've managed without it very long time..)

--Jani


Yes they lived without correct display of characters because there was
no solution. For example i would like to send german umlauts even when
someone has another charset installation on his machine. With mbstring
this is easy.





On Wed, 13 Nov 2002, Marcus Börger wrote:

At 23:56 12.11.2002, Ilia A. wrote:
Since I've gotten involved in this conversation would like to add my 
opinion
to the tally. I too believe that at least at this point, the mbstring
extension should not be enabled by default.
There are two reasons for this decision:

1) Majority of PHP users do not require this functionality. Most PHP 
programs
are developed with non-multibyte languages in mind and mbstring only adds
unnecessary overhead. People who need it can easily enable it or ask their
ISPs to enable it, if they had done so already.

NO. Most people do not have the choice and ISPs usually take the default.
If the default is not approriate they do not use it.
If you read the whole thread you find enough reasons how apps benefit from
mbstring and what could be easily achieved with languages like german.


2) mbstring extension is a fairly complex piece of code and iirc is the
youngest extension of this magnitude that is enabled by default. 
Although the
extension developers are very prompt at fixing bugs, the fact they need 
to do
this fairly frequently, at least to me, implies that the extension is 
not yet
mature enough to be enabled by default. Also, judging by the number of
changes in the CVS to the extension, a lot of new functionality was 
added to
the extension recently and has not been tested outside the pre process. 
Maybe
by next PHP release is made, it will be better tested and more stable.

Ilia

Ok there are some problems and that is the backside of it: Some of us
implement new functionality and some merge code from the original 
development
tree. In other words: Maybe we should slow down or even stop feature
development
until 4.3 is out After php 4.3 we hope the new implementation can be 
used.

As long as function overloading isn't used there is no harm from mbstring
(disable
is the default). And some extra bytes shouldn't affect anybody today. If
you say
most apps are not designed to use mbstring then it's nice that all those
could try
mbstring which would like to. So we can get feedback. As long as it isn't
default
there will be none or only little feedback.

The stability is very high and we have many *.phpt tests to help us find
failures
and make it even more stable.

marcus




--
- For Sale! -


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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-12 Thread Ilia A.
On November 12, 2002 09:42 pm, Marcus Börger wrote:
 At 23:56 12.11.2002, Ilia A. wrote:
 Since I've gotten involved in this conversation would like to add my
  opinion to the tally. I too believe that at least at this point, the
  mbstring extension should not be enabled by default.
 There are two reasons for this decision:
 
 1) Majority of PHP users do not require this functionality. Most PHP
  programs are developed with non-multibyte languages in mind and mbstring
  only adds unnecessary overhead. People who need it can easily enable it
  or ask their ISPs to enable it, if they had done so already.

 NO. Most people do not have the choice and ISPs usually take the default.
 If the default is not approriate they do not use it.

Through the course of my work I have to deal with many ISPs from all over the 
world, of all sizes. In my experience over 60% of ISPs have non-default PHP 
configuration. And most of the remaining 40% are more then willing to add 
additional extension(s), especially if those extensions do not require 
external libraries.
Keep in mind most ISPs will not upgrade to 4.3.0 and will most likely wait for 
a few releases past 4.3.0 to upgrade. 

 If you read the whole thread you find enough reasons how apps benefit from
 mbstring and what could be easily achieved with languages like german.

Any extension is useful if it was not the author(s) would not have spent time 
and effort writing it. The fact it is useful, does not automatically imply we 
should enable it by default. The question on the agenda wether ever single 
user who upgrades needs to have mbstring enabled by default. My belief that 
unless majority of PHP users will benefit from this extension we should not 
enable it by default. All the arguments in favor had not convinced me that 
this would be the case.

 2) mbstring extension is a fairly complex piece of code and iirc is the
 youngest extension of this magnitude that is enabled by default. Although
  the extension developers are very prompt at fixing bugs, the fact they
  need to do this fairly frequently, at least to me, implies that the
  extension is not yet mature enough to be enabled by default. Also,
  judging by the number of changes in the CVS to the extension, a lot of
  new functionality was added to the extension recently and has not been
  tested outside the pre process. Maybe by next PHP release is made, it
  will be better tested and more stable.
 
 Ilia

 Ok there are some problems and that is the backside of it: Some of us
 implement new functionality and some merge code from the original
 development tree. In other words: Maybe we should slow down or even stop
 feature development
 until 4.3 is out After php 4.3 we hope the new implementation can be
 used.

 As long as function overloading isn't used there is no harm from mbstring
 (disable
 is the default). And some extra bytes shouldn't affect anybody today. If
 you say
 most apps are not designed to use mbstring then it's nice that all those
 could try
 mbstring which would like to. So we can get feedback. As long as it isn't
 default
 there will be none or only little feedback.

 The stability is very high and we have many *.phpt tests to help us find
 failures
 and make it even more stable.

mbstring has many dedicated developers whom are doing excellent maintaining 
and upgrading this extension. Which at the moment makes mbstring very much a 
work in progress, there is hardly a day without at least one or two CVS 
commits to it. Since this is a work in progress, it is simply not safe to 
enable it by default if we want to claim any sort of stability for 4.3.0 
release. There is a chance it'll work out, but IMHO there is even a greater 
chance it will cause problems like it did in 4.2.3 with mangling of POST 
requests, 4.3.0 will have more then enough new stuff as is.
Perhaps by the next major release, mbstring will be a lot more mature and 
thoroughly tested in production enviroment. At that point we can discuss this 
issue again and consider whether this extension has merit for most users and 
based on that decide whether or not to enable it by default.

Ilia

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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-12 Thread Yasuo Ohgaki
Jani Taskinen wrote:

   
   Oh, I forgot: How many bug reports have we got so
   far for that fuckup with 4.2.3 ??? I _REALLY_ don't want
   to see another wave of those for 4.3.0..

Do you mean array input handling bug?
It's not mbstring developers' fault.

--
Yasuo Ohgaki



On Wed, 13 Nov 2002, Marcus Börger wrote:



At 23:56 12.11.2002, Ilia A. wrote:


Since I've gotten involved in this conversation would like to add my opinion
to the tally. I too believe that at least at this point, the mbstring
extension should not be enabled by default.
There are two reasons for this decision:

1) Majority of PHP users do not require this functionality. Most PHP programs
are developed with non-multibyte languages in mind and mbstring only adds
unnecessary overhead. People who need it can easily enable it or ask their
ISPs to enable it, if they had done so already.


NO. Most people do not have the choice and ISPs usually take the default.
If the default is not approriate they do not use it.
If you read the whole thread you find enough reasons how apps benefit from
mbstring and what could be easily achieved with languages like german.




2) mbstring extension is a fairly complex piece of code and iirc is the
youngest extension of this magnitude that is enabled by default. Although the
extension developers are very prompt at fixing bugs, the fact they need to do
this fairly frequently, at least to me, implies that the extension is not yet
mature enough to be enabled by default. Also, judging by the number of
changes in the CVS to the extension, a lot of new functionality was added to
the extension recently and has not been tested outside the pre process. Maybe
by next PHP release is made, it will be better tested and more stable.

Ilia


Ok there are some problems and that is the backside of it: Some of us
implement new functionality and some merge code from the original development
tree. In other words: Maybe we should slow down or even stop feature 
development
until 4.3 is out After php 4.3 we hope the new implementation can be used.

As long as function overloading isn't used there is no harm from mbstring 
(disable
is the default). And some extra bytes shouldn't affect anybody today. If 
you say
most apps are not designed to use mbstring then it's nice that all those 
could try
mbstring which would like to. So we can get feedback. As long as it isn't 
default
there will be none or only little feedback.

The stability is very high and we have many *.phpt tests to help us find 
failures
and make it even more stable.

marcus








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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-12 Thread Andrei Zmievski
On Tue, 12 Nov 2002, Ilia A. wrote:
 mbstring has many dedicated developers whom are doing excellent maintaining 
 and upgrading this extension. Which at the moment makes mbstring very much a 
 work in progress, there is hardly a day without at least one or two CVS 
 commits to it. Since this is a work in progress, it is simply not safe to 
 enable it by default if we want to claim any sort of stability for 4.3.0 
 release. There is a chance it'll work out, but IMHO there is even a greater 
 chance it will cause problems like it did in 4.2.3 with mangling of POST 
 requests, 4.3.0 will have more then enough new stuff as is.
 Perhaps by the next major release, mbstring will be a lot more mature and 
 thoroughly tested in production enviroment. At that point we can discuss this 
 issue again and consider whether this extension has merit for most users and 
 based on that decide whether or not to enable it by default.

I very much agree and am extremly reluctant to have mbstring enabled by
default, even though it is a very promising extension.

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

When I get a little money, I buy books;
 and if any is left I buy food and clothes. -- Erasmus

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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-12 Thread Yasuo Ohgaki
Andrei Zmievski wrote:

I very much agree and am extremly reluctant to have mbstring enabled by
default, even though it is a very promising extension.


I can change my mind only if someone writes smart module loader that
detects module dependency. Otherwise, it's just confusing.
i.e. undefined symbol errors from modules depend on mbstring.
PHP dies badly with it obviously. Disabling it is the same as
asking for troubles.

I'm 0 iff there is smart loader patch.

--
Yasuo Ohgaki


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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-12 Thread Moriyoshi Koizumi
Hmm, there might be no much need to fix this bug as it is not
enabled by default... If the script still sefaults with my patch, I can no 
longer determine theplace at which it goes wrong just with your backtrace precisely, 
as it is apparently a double-free bug.

Moriyoshi

Ilia A. [EMAIL PROTECTED] wrote:

 I've just tried the latest CVS, it still crashes, the backtrace is same as 
 before.
 
 Ilia
 
 On November 12, 2002 05:21 pm, Moriyoshi Koizumi wrote:
  Oops, why didn't I notice such a trivial thing before asking a braindead
  question... Anyway I bet the problem should be gone by my patch that was
  just commited.
 
  Moriyoshi
 
  Ilia A. [EMAIL PROTECTED] wrote:
   On November 12, 2002 04:58 pm, Moriyoshi Koizumi wrote:
Hi,
   
Thanks for the report.
Although I found a bug in the overloading code, I wonder why the mail()
function entry was not found on RINIT. Any insights?
  
   It seems the mail() function is not avaliable on that system because
   sendmail was not found on the system. The function mail() on unix systems
   appears to be dependant on sendmail avaliablity or atleast something that
   would cause the HAVE_SENDMAIL flag to be set.
  
   Ilia
  
Moriyoshi
   
Ilia A. [EMAIL PROTECTED] wrote:
 On November 7, 2002 10:04 am, Andrei Zmievski wrote:
  At the PHP Conference in Germany several of us have discussed the
  current state of mbstring and there was a proposal to not have it
  enabled by default for 4.3.0 release. It seems that the extension
  attempts to do magic stuff by overloading functions in the
  executor globals and, as Thies said, that could be dangerous. Also,
  doesn't it affect run-tests.php script currently?

 On the note of overloading done by mbstring, it appears this behavior
 is not entirely stable. On at least one test system (Sun OS 5.9) it
 causes crashes and overruns by using the test script in the test
 suite. Ex:
 sapi/cli/php -d mbstring.func_overload=1 -r ''
 Unknown(0) : Fatal error - (null)()
 [http://www.php.net/ref.mbstring]: mbstring couldn't find function
 mail.
 Could not startup.
 [Tue Nov 12 21:01:33 2002]  Script:  '-'
 ---
 php4/Zend/zend_execute.h(44) : Block 0x001FB640 status:
 Beginning:  Overrun (magic=0x001FE7F8, expected=0x7312F8DC)
   End:  Unknown
 ---

 The test script itself (ext/mbstring/tests/overload.phpt) causes a
 segmentation fault. Here is a back trace:
 #0  0x001528f8 in shutdown_memory_manager (silent=1, clean_cache=1)
 at php4/Zend/zend_alloc.c:461
 #1  0x0011d944 in php_module_shutdown () at php4/main/main.c:1219
 #2  0x0018d8d0 in main (argc=39, argv=0xffbffa74) at
 php4/sapi/cli/php_cli.c:761

 Ilia

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


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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-12 Thread Ilia A.
On November 13, 2002 12:28 am, Moriyoshi Koizumi wrote:
 Hmm, there might be no much need to fix this bug as it is not
 enabled by default... If the script still sefaults with my patch, I can no
 longer determine theplace at which it goes wrong just with your backtrace
 precisely, as it is apparently a double-free bug.

I'll look into the problem in more detail tommorow.

Ilia

 Moriyoshi

 Ilia A. [EMAIL PROTECTED] wrote:
  I've just tried the latest CVS, it still crashes, the backtrace is same
  as before.
 
  Ilia
 
  On November 12, 2002 05:21 pm, Moriyoshi Koizumi wrote:
   Oops, why didn't I notice such a trivial thing before asking a
   braindead question... Anyway I bet the problem should be gone by my
   patch that was just commited.
  
   Moriyoshi
  
   Ilia A. [EMAIL PROTECTED] wrote:
On November 12, 2002 04:58 pm, Moriyoshi Koizumi wrote:
 Hi,

 Thanks for the report.
 Although I found a bug in the overloading code, I wonder why the
 mail() function entry was not found on RINIT. Any insights?
   
It seems the mail() function is not avaliable on that system because
sendmail was not found on the system. The function mail() on unix
systems appears to be dependant on sendmail avaliablity or atleast
something that would cause the HAVE_SENDMAIL flag to be set.
   
Ilia
   
 Moriyoshi

 Ilia A. [EMAIL PROTECTED] wrote:
  On November 7, 2002 10:04 am, Andrei Zmievski wrote:
   At the PHP Conference in Germany several of us have discussed
   the current state of mbstring and there was a proposal to not
   have it enabled by default for 4.3.0 release. It seems that the
   extension attempts to do magic stuff by overloading functions
   in the executor globals and, as Thies said, that could be
   dangerous. Also, doesn't it affect run-tests.php script
   currently?
 
  On the note of overloading done by mbstring, it appears this
  behavior is not entirely stable. On at least one test system (Sun
  OS 5.9) it causes crashes and overruns by using the test script
  in the test suite. Ex:
  sapi/cli/php -d mbstring.func_overload=1 -r ''
  Unknown(0) : Fatal error - (null)()
  [http://www.php.net/ref.mbstring]: mbstring couldn't find
  function mail.
  Could not startup.
  [Tue Nov 12 21:01:33 2002]  Script:  '-'
  ---
  php4/Zend/zend_execute.h(44) : Block 0x001FB640 status:
  Beginning:  Overrun (magic=0x001FE7F8, expected=0x7312F8DC)
End:  Unknown
  ---
 
  The test script itself (ext/mbstring/tests/overload.phpt) causes
  a segmentation fault. Here is a back trace:
  #0  0x001528f8 in shutdown_memory_manager (silent=1,
  clean_cache=1) at php4/Zend/zend_alloc.c:461
  #1  0x0011d944 in php_module_shutdown () at php4/main/main.c:1219
  #2  0x0018d8d0 in main (argc=39, argv=0xffbffa74) at
  php4/sapi/cli/php_cli.c:761
 
  Ilia
 
  --
  PHP Development Mailing List http://www.php.net/
  To unsubscribe, visit: http://www.php.net/unsub.php
   
--
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php


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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-12 Thread Derick Rethans
On Wed, 13 Nov 2002, Marcus Börger wrote:

 At 04:11 13.11.2002, Jani Taskinen wrote:
 
  Since when have we started to use users as guinea-pigs
  for testing EXPERIMENTAL extensions without them even
  really knowing about it?!!
 
 mbstring is not EXPERIMENTAL and i said let them try it. That
 does not mean test it. We think it works .

uhm, I don't think it works stable enough.


Derick

-- 

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


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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-12 Thread Derick Rethans
On Wed, 13 Nov 2002, Yasuo Ohgaki wrote:

 Jani Taskinen wrote:
 
 Oh, I forgot: How many bug reports have we got so
 far for that fuckup with 4.2.3 ??? I _REALLY_ don't want
 to see another wave of those for 4.3.0..
 
 Do you mean array input handling bug?
 It's not mbstring developers' fault.

It doesn't really matter who's fault it was, it's a fact that the 
mbstring module caused this fuckup.

Derick

-- 

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


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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-12 Thread Moriyoshi Koizumi
--snip
 uhm, I don't think it works stable enough.

I think the decision making went right, and I've got no more objection to 
that point. but I wonder how this could be certified as a stable module 
that is not widely used by the core developers?

Moriyoshi

 
 
 Derick
 
 -- 
 
 ---
  Derick Rethans   http://derickrethans.nl/ 
  JDI Media Solutions
 --[ if you hold a unix shell to your ear, do you hear the c? ]-
 
 
 -- 
 PHP Development Mailing List http://www.php.net/
 To unsubscribe, visit: http://www.php.net/unsub.php
 


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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-12 Thread Derick Rethans
On Wed, 13 Nov 2002, Moriyoshi Koizumi wrote:

 --snip
  uhm, I don't think it works stable enough.
 
 I think the decision making went right, and I've got no more objection to 
 that point. but I wonder how this could be certified as a stable module 
 that is not widely used by the core developers?

For me it was the wide stream of bugreports coming in; can't speak for 
the others though.

Derick

-- 

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


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




RE: [PHP-DEV] mbstring and 4.3.0

2002-11-08 Thread James Cox

 
  Historically, I have been against mbstring being enabled by default.
  My feelings towards anything being enabled by default, unless it is
  considered core functionality, is pretty negative though.

 The reasoning to consider a extension as a part of core, is prone
 to be obscure. It's interesting what would happen if mysql
 extension turned
 out to be harmful.


but the mysql extension isn't invasive of other parts of the language, and
can be safely disabled. I do not believe mbstring can be safely disabled,
and i do not think that you have the transparent stuff disabled by default.

the theory of mbstring is good; i am just concerned that a: it really hasn't
been explained and discussed much on list, and b: there are two development
trees, which just doesn't make sense.

it's like some kind of underground secret society or something...

 -- james


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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-08 Thread Moriyoshi Koizumi
--snip
 but the mysql extension isn't invasive of other parts of the language, and
 can be safely disabled. I do not believe mbstring can be safely disabled,
 and i do not think that you have the transparent stuff disabled by default.
 

Right, I'm sure those two cases are different. I just wanted to illustrate 
that there are quite a few aspects to think of before excluding / including 
an extension in a default build. There are definitely considerable number of 
people out there who will easily be bothered by that change.
If you doubt it is safely disabled, please look through the relevant part of 
mbstring, and if you still have questions, please ask me then.

 the theory of mbstring is good; i am just concerned that a: it really hasn't
 been explained and discussed much on list, and b: there are two development
 trees, which just doesn't make sense.
 
 it's like some kind of underground secret society or something...

I agree with you on these points. You may well consider me as a member of 
underground kong-foo coder syndicate, though I'm Japanese and not good at 
any marshal art stuff :)

Moriyoshi



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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-08 Thread Wez Furlong
I see the known-good codeset conversion implementation as a *very* good
reason to have mbstring enabled by default.
(Just look at all the problems with iconv and recode on different systems
out there).

I agree that the magic features for lazy programmers (function overloading
and transparent encoding) are slightly worrying, but they are disabled
by default, and as I have said - I don't use those, but I do use the
conversion functions and *that* configuration works just fine.

The conversion functions are something that really should be there by
default, as it allows people to write portable globalized scripts.
Remember that a large majority of users are vhosted and have not control
over the build of PHP.  By not providing a reliable and portable
codeset conversion API, we are holding back the masses from writing
(and distributing) killer apps in PHP.

Yes, I can enable mbstring at configure time, and yes, the CJK people
can do likewise, but what about the rest of the world running from vhosts
when they want to use unicode, quoted-printable, uu-encoding, name of your
favourite encoding here encodings which are also supported by mbstring?

We took the decision to enable it by default; let's not be short-sighted
and disable it primarily out of ignorance (no offence intended).

I've yet to see someone comment on my suggestions for a practical solution
that would shut up both myself and the people advocating disabling it.

--Wez.

On 11/07/02, Derick Rethans [EMAIL PROTECTED] wrote:
 On Thu, 7 Nov 2002, Marcus Boerger wrote:
 
  To make php be easier usable in non US-ASCII (127chars) environments
  especially those requiring UCS-2, UTF-8 or other any character mapping
  other than iso-8859-1 or -15 we should more likly try to integrate mbstring
  fully in php. As long as we cannot or want not make it a core component
  such as ext/standard we should enable it by default.
 
 If people want it they can use --enable-mbstring. I see no reason why it 
 should be enabled by default as long as it's not fully integrated in the 
 core.



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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-08 Thread Maxim Maletsky

I think Wez got a point here. Disabling mbstring can make many unhappy.


--
Maxim Maletsky
[EMAIL PROTECTED]



Wez Furlong [EMAIL PROTECTED] wrote... :

 I see the known-good codeset conversion implementation as a *very* good
 reason to have mbstring enabled by default.
 (Just look at all the problems with iconv and recode on different systems
 out there).
 
 I agree that the magic features for lazy programmers (function overloading
 and transparent encoding) are slightly worrying, but they are disabled
 by default, and as I have said - I don't use those, but I do use the
 conversion functions and *that* configuration works just fine.
 
 The conversion functions are something that really should be there by
 default, as it allows people to write portable globalized scripts.
 Remember that a large majority of users are vhosted and have not control
 over the build of PHP.  By not providing a reliable and portable
 codeset conversion API, we are holding back the masses from writing
 (and distributing) killer apps in PHP.
 
 Yes, I can enable mbstring at configure time, and yes, the CJK people
 can do likewise, but what about the rest of the world running from vhosts
 when they want to use unicode, quoted-printable, uu-encoding, name of your
 favourite encoding here encodings which are also supported by mbstring?
 
 We took the decision to enable it by default; let's not be short-sighted
 and disable it primarily out of ignorance (no offence intended).
 
 I've yet to see someone comment on my suggestions for a practical solution
 that would shut up both myself and the people advocating disabling it.
 
 --Wez.
 
 On 11/07/02, Derick Rethans [EMAIL PROTECTED] wrote:
  On Thu, 7 Nov 2002, Marcus Boerger wrote:
  
   To make php be easier usable in non US-ASCII (127chars) environments
   especially those requiring UCS-2, UTF-8 or other any character mapping
   other than iso-8859-1 or -15 we should more likly try to integrate mbstring
   fully in php. As long as we cannot or want not make it a core component
   such as ext/standard we should enable it by default.
  
  If people want it they can use --enable-mbstring. I see no reason why it 
  should be enabled by default as long as it's not fully integrated in the 
  core.
 
 
 
 -- 
 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] mbstring and 4.3.0

2002-11-08 Thread Rui Hirokawa

I completely agree with Wez.
mbstring has very foundamental functionalities for multibyte users.
Multibyte users can 'not' build any useful application without mbstring.
We must understand there are so many users who are using multibyte
character encoding. 
multibyte string functions for multibyte users has nealy same meaning
with string functions for singlebyte users.
If PHP lacks string functions, who can use PHP ?

I think mbstring enabled by default in PHP 4.3 is very good decision.

'function overloading' in mbstring is to make easier multibyte-aware
application, but, it is disabled by default.
I also agree with Wez, the official zend API for function overloading 
is needed. I will change the implemantaion if some official API 
is available.

Rui

On Fri,  8 Nov 2002 10:13:29 +
[EMAIL PROTECTED] (Wez Furlong) wrote:

 I see the known-good codeset conversion implementation as a *very* good
 reason to have mbstring enabled by default.
 (Just look at all the problems with iconv and recode on different systems
 out there).
 
 I agree that the magic features for lazy programmers (function overloading
 and transparent encoding) are slightly worrying, but they are disabled
 by default, and as I have said - I don't use those, but I do use the
 conversion functions and *that* configuration works just fine.
 
 The conversion functions are something that really should be there by
 default, as it allows people to write portable globalized scripts.
 Remember that a large majority of users are vhosted and have not control
 over the build of PHP.  By not providing a reliable and portable
 codeset conversion API, we are holding back the masses from writing
 (and distributing) killer apps in PHP.
 
 Yes, I can enable mbstring at configure time, and yes, the CJK people
 can do likewise, but what about the rest of the world running from vhosts
 when they want to use unicode, quoted-printable, uu-encoding, name of your
 favourite encoding here encodings which are also supported by mbstring?
 
 We took the decision to enable it by default; let's not be short-sighted
 and disable it primarily out of ignorance (no offence intended).
 
 I've yet to see someone comment on my suggestions for a practical solution
 that would shut up both myself and the people advocating disabling it.
 
 --Wez.

-- 
-
Rui Hirokawa [EMAIL PROTECTED]
 [EMAIL PROTECTED]

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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-07 Thread Marcus Boerger
To make php be easier usable in non US-ASCII (127chars) environments
especially those requiring UCS-2, UTF-8 or other any character mapping
other than iso-8859-1 or -15 we should more likly try to integrate mbstring
fully in php. As long as we cannot or want not make it a core component
such as ext/standard we should enable it by default.

And it do not see why it is dangerous or why it should harm any test?
All hose mbstring settings affecting the tests are no set in such a way
that activating mbstring cannot harm AND mbstring is deply tested for
its own. When currently any test is affected by mbstring this should be
reported so we can adjust test settings!

marcus

At 16:04 07.11.2002, Andrei Zmievski wrote:

At the PHP Conference in Germany several of us have discussed the
current state of mbstring and there was a proposal to not have it
enabled by default for 4.3.0 release. It seems that the extension
attempts to do magic stuff by overloading functions in the executor
globals and, as Thies said, that could be dangerous. Also, doesn't it
affect run-tests.php script currently?

Comments are welcome.

-Andrei   http://www.gravitonic.com/
* We are not a clone. *

--
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] mbstring and 4.3.0

2002-11-07 Thread Derick Rethans
On Thu, 7 Nov 2002, Marcus Boerger wrote:

 To make php be easier usable in non US-ASCII (127chars) environments
 especially those requiring UCS-2, UTF-8 or other any character mapping
 other than iso-8859-1 or -15 we should more likly try to integrate mbstring
 fully in php. As long as we cannot or want not make it a core component
 such as ext/standard we should enable it by default.

If people want it they can use --enable-mbstring. I see no reason why it 
should be enabled by default as long as it's not fully integrated in the 
core.

Derick

-- 

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


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




RE: [PHP-DEV] mbstring and 4.3.0

2002-11-07 Thread James Cox

 On Thu, 7 Nov 2002, Marcus Boerger wrote:
 
  To make php be easier usable in non US-ASCII (127chars) environments
  especially those requiring UCS-2, UTF-8 or other any character mapping
  other than iso-8859-1 or -15 we should more likly try to 
 integrate mbstring
  fully in php. As long as we cannot or want not make it a core component
  such as ext/standard we should enable it by default.
 
 If people want it they can use --enable-mbstring. I see no reason why it 
 should be enabled by default as long as it's not fully integrated in the 
 core.
 
+1.


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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-07 Thread Wez Furlong
I agree with you that the codeset conversion functions should be there
by default (iconv and recode seem to have patchy/variable support on
different platforms; mbstring is reliable since we know exactly what is
supported in there).

I've been using the conversion functions of mbstring in production for
around 2 years now - I've never had a problem with them, so they are
more than stable IMO.

I think disabling mbstring by default would be a not-very-productive
step backwards, but I'm happy to compromize:

The issue is with the function table hacking, so why not either:

 o #ifdef it out and use a configure option to enable the potentially
   dangerous functionality.

 o Provide a zend-api for overloading function entries.
   This was something that came up a while ago on php-dev when
   the namespace purists were trying to ditch the _() function
   in the gettext extension.

   it might look something like this:

   int _zend_overload_function(char *func_name,
 void (*handler)(INTERNAL_FUNCTION_PARAMETERS),
 long apino TSRMLS_DC);

   #define zend_overload_function(func_name, handler) \
 _zend_overload_function((func_name), (handler), \
ZEND_EXTENSION_API_NO TSRMLS_CC)

   In this way, _zend_overload_function can check to see which extension
   API is being used and then bail if it doesn't match (although this
   could be caught more generally by the module version info).

   More importantly, we can hide the gory details of the function table
   hash and implement the overload in a safe way.

--Wez.

On Thu, 7 Nov 2002, Marcus Boerger wrote:

 To make php be easier usable in non US-ASCII (127chars) environments
 especially those requiring UCS-2, UTF-8 or other any character mapping
 other than iso-8859-1 or -15 we should more likly try to integrate mbstring
 fully in php. As long as we cannot or want not make it a core component
 such as ext/standard we should enable it by default.

 And it do not see why it is dangerous or why it should harm any test?
 All hose mbstring settings affecting the tests are no set in such a way
 that activating mbstring cannot harm AND mbstring is deply tested for
 its own. When currently any test is affected by mbstring this should be
 reported so we can adjust test settings!

 marcus

 At 16:04 07.11.2002, Andrei Zmievski wrote:
 At the PHP Conference in Germany several of us have discussed the
 current state of mbstring and there was a proposal to not have it
 enabled by default for 4.3.0 release. It seems that the extension
 attempts to do magic stuff by overloading functions in the executor
 globals and, as Thies said, that could be dangerous. Also, doesn't it
 affect run-tests.php script currently?
 
 Comments are welcome.



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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-07 Thread Jani Taskinen
On Thu, 7 Nov 2002, Derick Rethans wrote:

On Thu, 7 Nov 2002, Marcus Boerger wrote:

 To make php be easier usable in non US-ASCII (127chars) environments
 especially those requiring UCS-2, UTF-8 or other any character mapping
 other than iso-8859-1 or -15 we should more likly try to integrate mbstring
 fully in php. As long as we cannot or want not make it a core component
 such as ext/standard we should enable it by default.

If people want it they can use --enable-mbstring. I see no reason why it 
should be enabled by default as long as it's not fully integrated in the 
core.

Zeev could give some figures about how many PHP users there are in those 
countries that really need this? :)

Anyway, I'm +1 for making it disabled by default.
The people who really need it already need to use --enable-mbstring
since that's how it was in 4.2.3 anyway.

--Jani



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




Re: [PHP-DEV] mbstring and 4.3.0

2002-11-07 Thread Moriyoshi Koizumi
Hi, 

Now the transparent encoding conversion is disabled by default, and so is 
the function overloading. And the extension is not likely to cause any harm 
to other tests; recently some test failures related to output handlers were 
reported in fact, but the problem have been properly avoided.

Then why do we even have to continue the same discussion? Is it the big deal 
how many people use mbstring? Now mbstring is not just for CJK people, 
because it also offers numerous unicode functionality. mb_convert_case(), 
contributed by Wez, is one of the examples.

Besides I wonder why such dangerousness has not been warned up to now if 
that's the case.


Moriyoshi

Andrei Zmievski [EMAIL PROTECTED] wrote:

 At the PHP Conference in Germany several of us have discussed the
 current state of mbstring and there was a proposal to not have it
 enabled by default for 4.3.0 release. It seems that the extension
 attempts to do magic stuff by overloading functions in the executor
 globals and, as Thies said, that could be dangerous. Also, doesn't it
 affect run-tests.php script currently?
 
 Comments are welcome.
 
 -Andrei   http://www.gravitonic.com/
 * We are not a clone. *
 
 -- 
 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] mbstring and 4.3.0

2002-11-07 Thread Dan Kalowsky
It's interesting to me that this topic is brought up again and again 
about once every 3 or 4 months.  The same points are rehashed each 
time, and the same result is reached, nothing is changed about 
mbstring.  I believe this is partially because developers ask questions 
about mbstring, and receive no definitive answer to them (see the 
archives for a few examples).

Historically, I have been against mbstring being enabled by default.  
My feelings towards anything being enabled by default, unless it is 
considered core functionality, is pretty negative though.

On the flip side though, what exactly were these concerns brought up at 
the PHP Conference?  Is it possible to share them with those of us who 
were not able to attend?  Please include as much detail as possible.



On Friday, November 8, 2002, at 01:06 AM, Moriyoshi Koizumi wrote:

Hi,

Now the transparent encoding conversion is disabled by default, and so 
is
the function overloading. And the extension is not likely to cause any 
harm
to other tests; recently some test failures related to output handlers 
were
reported in fact, but the problem have been properly avoided.

Then why do we even have to continue the same discussion? Is it the 
big deal
how many people use mbstring? Now mbstring is not just for CJK people,
because it also offers numerous unicode functionality. 
mb_convert_case(),
contributed by Wez, is one of the examples.

Besides I wonder why such dangerousness has not been warned up to now 
if
that's the case.


Moriyoshi

Andrei Zmievski [EMAIL PROTECTED] wrote:

At the PHP Conference in Germany several of us have discussed the
current state of mbstring and there was a proposal to not have it
enabled by default for 4.3.0 release. It seems that the extension
attempts to do magic stuff by overloading functions in the executor
globals and, as Thies said, that could be dangerous. Also, doesn't it
affect run-tests.php script currently?

Comments are welcome.

-Andrei   
http://www.gravitonic.com/
* We are not a clone. *

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


---
Dan KalowskyThe future is always uncertain,
http://www.deadmime.org/~dankand the end is always near.
[EMAIL PROTECTED]- Roadhouse Blues,
[EMAIL PROTECTED]  The Doors


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




Re: [PHP-DEV] mbstring functions in 4.2.3

2002-09-21 Thread Moriyoshi Koizumi

Hi,

AFAIK, php_stat() and tsrm_virtual_cwd() related problems under multibyte 
win32 environment were already fixed by Rui. But the bugs are still active 
under some unix operating systems that accept Shift_JIS as its locale 
charset/encoding if you specify it, as EUC-JP is most suitable to use with 
php (and lots of packages out there) in general. Anyway these are not 
directly relevant to --mbstr-enc-trans.

Excuse me if this is wrong, I'm rather new to mbstring :)

Moriyoshi Koizumi

Wez Furlong [EMAIL PROTECTED] wrote:

 Hi Erica,
 
 Personally, I would roll my own tarball/package based on the now fixed code
 in the 4.2 branch of CVS.  However, as I mentioned in your original
 PR, there is a bug that affects file_exists on some systems; AFAIK,
 this has yet to be resolved which I why I suggested that you ask here,
 and why I am mentioning it now for those on php-dev who are slightly
 too busy to check the details in the PR :-)
 
 --Wez.
 
 On 09/20/02, Erica Douglass [EMAIL PROTECTED] wrote:
  I'm making a PHP package that will be distributed to potentially
  hundreds of people. I based the package off 4.2.3, since that's the
  latest version from PHP.Net. However, I have encountered a nasty bug
  with the mbstring-enc-trans extension as described here:
  http://bugs.php.net/bug.php?id=19518
  
  I have a Japanese client who will be using this server, and I feel that
  this is an important extension to have, since both of my vendors'
  packages ship with it, as well. My question is: in what PHP version is
  this extension stable, or should I just abandon all hope for using this
  extension and document it as buggy? Also, are there any other extensions
  in my package that could cause conflicts? Any extensions that you feel
  are important to have that I'm missing? I want to get this right the
  first time. :)
 
 
 
 -- 
 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] mbstring functions in 4.2.3

2002-09-20 Thread Wez Furlong

Hi Erica,

Personally, I would roll my own tarball/package based on the now fixed code
in the 4.2 branch of CVS.  However, as I mentioned in your original
PR, there is a bug that affects file_exists on some systems; AFAIK,
this has yet to be resolved which I why I suggested that you ask here,
and why I am mentioning it now for those on php-dev who are slightly
too busy to check the details in the PR :-)

--Wez.

On 09/20/02, Erica Douglass [EMAIL PROTECTED] wrote:
 I'm making a PHP package that will be distributed to potentially
 hundreds of people. I based the package off 4.2.3, since that's the
 latest version from PHP.Net. However, I have encountered a nasty bug
 with the mbstring-enc-trans extension as described here:
 http://bugs.php.net/bug.php?id=19518
 
 I have a Japanese client who will be using this server, and I feel that
 this is an important extension to have, since both of my vendors'
 packages ship with it, as well. My question is: in what PHP version is
 this extension stable, or should I just abandon all hope for using this
 extension and document it as buggy? Also, are there any other extensions
 in my package that could cause conflicts? Any extensions that you feel
 are important to have that I'm missing? I want to get this right the
 first time. :)



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




Re: [PHP-DEV] mbstring

2002-09-03 Thread Yasuo Ohgaki

Jim Winstead wrote:
 Yasuo Ohgaki [EMAIL PROTECTED] wrote:
 
Marcus B?rger wrote:

We already had some discussion on some IF statements in ini
files already. I guess we might call to another mail thread here
and hope we find a volunteer. I will not invent any work here since
that would be totally useless.

I think having a IF in php.ini is good idea.
 
 
 it's too bad we don't have an implementation of a complete programming
 language laying around.
 

Having IF like feature does not mean to have a new language.
It could be a XML parser, for example.

There could be multiple php.ini for each SAPI and user named
php.ini from PHP 4.3.0. Therefore, it's not strictly required
obviously.

--
Yasuo Ohgaki


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




Re: [PHP-DEV] mbstring

2002-09-03 Thread Yasuo Ohgaki

Wez Furlong wrote:
 Having been using it to handle more than 105,000 email messages over
 the last 18 months *in production*, I have to disagree.
*SNIP*
 Now, the mbstr-enc-trans might have had some stability issues, but as
 I've been saying, it is NOT enabled by default, and lets print a
 warning about it when it is turned on.

mbstr-enc-trans is introduced when Rui merged mbstring(jstring) to
php4 source tree. It was added since php3-i18n had this capability
built in.

Rui removed mbstr-enc-trans option so that it's ready to be a
default module. We can control encoding translation by
mbstring.encoding_translation = On|Off now.
(the name may be better to be renamed to input_encoding_translation
or input_translation. Opinions?)

AFAIK, there is no serious bug in mbstring.
If there is serious problem, let us know so that it can be
addressed.

Speaking of API, current API will not be changed. The API is
there since php3 days. This is another reason why mbstring is
considered stable.

--
Yasuo Ohgaki


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




Re: [PHP-DEV] mbstring

2002-09-03 Thread Stefan Esser

 AFAIK, there is no serious bug in mbstring.
 If there is serious problem, let us know so that it can be
 addressed.

Then start with removing double url decoding of the input...
and then fix the mad separator counter ...

Stefan

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




RE: [PHP-DEV] mbstring

2002-09-02 Thread James Cox

Derick pretty much said it for me... but more explicitly,

mbstring isn't stable enough to be default.

-- james

 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
 Sent: Monday, September 02, 2002 6:41 AM
 To: Masaki Fujimoto
 Cc: James Cox; Wez Furlong; Php-Dev
 Subject: Re: [PHP-DEV] mbstring


 On Mon, 2 Sep 2002, Masaki Fujimoto wrote:

  Hi,
 
  let me vote not to remove mbstring (as a default one).

 I'd vote for setting it off by default _for now_, and enable it after
 4.3. has branched, so we have a kick ass i18n solution in PHP5 replacing
 all code it duplicates.

  yes, I can understand the thought that singlebyte users seem mbstirng
  module is somehow 'extra' one.
 
  but please understand that this module is indispensable for multibyte
  users (at least), and AFAIK there are growing numbers of multibyte users
  of PHP. we japanese, korean and chinese have to handle 3 (or more) types
  of encoding (+ UNICODE), and we cannot even count number characters (not
  bytes) w/out mbstring.
 
  besides, I (we?) always make best effort that multibyte features do not
  harm any other ones, and if it causes bugs, we (Yasuo, Rui or I) will
  fix it ASAP (maybe:).

 Too bad that you can't predict anything.

 
  of course we can --enable-mbstring even if msbstirg is disabled by
  default, but please remember that not all the users can always exec
  'configure' and edit php.ini. (use dl() ? hmm...)

 Every respectable sysadm in eastern countries installing PHP should be
 aware fo this and enable mbstring for his users.

 
  finally, it is true that mbstring is not the 'golden bullet':), but it
  would be far better if we have some kind of bullets, isn't it ?

 Derick

 --
 -
  Did I help you?   http://www.derickrethans.nl/link.php?url=giftlist
  Frequent ranting: http://www.derickrethans.nl/
 --
 -
  PHP: Scripting the Web - [EMAIL PROTECTED]
 All your branches are belong to me!
 SRM: Script Running Machine - www.vl-srm.net
 --
 -


 --
 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] mbstring

2002-09-02 Thread derick

On Mon, 2 Sep 2002, Marcus Börger wrote:

 AND exif is disliked by the developers on this list so why do we care now?

Markus, that makes no sense. Just because some ppl don't want it exif 
enabled by default doesn't make us 'dislike' exif, it doesn't make us 
(atleast not me) like you less.

Derick

---
 Did I help you?   http://www.derickrethans.nl/link.php?url=giftlist
 Frequent ranting: http://www.derickrethans.nl/
---
 PHP: Scripting the Web - [EMAIL PROTECTED]
All your branches are belong to me!
SRM: Script Running Machine - www.vl-srm.net
---


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




RE: [PHP-DEV] mbstring

2002-09-02 Thread Wez Furlong

On 09/01/02, James Cox [EMAIL PROTECTED] wrote:
 mbstring isn't a gold module which should be enabled by default.

But there was a discussion and it was agreed to enable it by default!
 
 That is, it's still -- as i see it -- just a bit more than experimental.
 mbstring work is being done on sourceforge! 

Actually, thats incorrect.  mbstring in PHP CVS is based on work that has
matured since PHP 3.  A new, rewritten version is being developed outside of
our CVS so as not to screw things up for the mainstream.

 So I want to 'disable' it by default. If you want encoding, just enable it.
 But you're right, i've never needed to create a truely globalized/localized
 app. (and from general principles, if you feel you need to localize any more
 than your ui/strings.)

But the issue is not with mbstring encoding, it's with people who turn on
an advanced feature without reading the docs.

--enable-mbstring is on by default and works just fine.
--enable-mbstr-enc-trans is the advanced option (that was causing problems
for RedHat because people were enabling it without configuring it correctly
for their system) - this option is DISABLED by default.

Why can't we just keep it at that?

Lets make a comparison: the session module has an little option called
--enable-trans-sid.  This option is similar to the mbstring option in
question, in that it transparently converts stuff.  Now, should we disable
the session module by default because someone didn't read the docs and
just enabled it and then complained that it was rewriting stuff??

Or how about another comparison: apache has a -DBIG_SECURITY_HOLE (or similar
define) that allows it to run as root.  Should they remove that option
just because some idiot out there adds it to their compile options without
understanding what it does?  (And there *are* production systems that require
this in order to function - Cobalt Raqs for example).

Why can't we have the configure print a warning that the enc-trans may
cause problems if it is not configured correctly for your system/application?

Enabling mbstring by default was a milestone that meant that people could
start writing some real-world applications because the PHP infrastructure
for them was guaranteed to be there by default; don't just drop it out now
because people don't read the docs.

--Wez.



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




Re: [PHP-DEV] mbstring

2002-09-02 Thread Zeev Suraski

At 05:15 02/09/2002, Yasuo Ohgaki wrote:
Marcus Börger wrote:
At 01:24 02.09.2002, you wrote:

Brian France wrote:

I know there are things the exif needs from mbstring and there is no 
way to have exif link against mbstring or require it.  But couldn't 
exif check to see if mbstring is loaded (or built in) and if not print 
a warning that some of its functionality may not work correctly unless 
mbstring is loaded (or built in)?


It's not a good idea.

What we need is smart ini parser and module loader that understand
module dependecy and proper loading order.

We already had some discussion on some IF statements in ini
files already. I guess we might call to another mail thread here
and hope we find a volunteer. I will not invent any work here since
that would be totally useless.

I think having a IF in php.ini is good idea.

-1 on that.  php.ini should not be scriptable, it opens a whole new set of 
problems.

Zeev


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




Re: [PHP-DEV] mbstring

2002-09-02 Thread Zeev Suraski

At 03:41 02/09/2002, Brian France wrote:
I know this is ugly, but what about making the extensions handle it 
themselves?

It's actually not ugly at all.  Letting the modules handle it themselves is 
the Right Way, because only they know what they need.  The only question is 
whether we need to give them some extra infrastructure to make the process 
easier.

Zeev


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




RE: [PHP-DEV] mbstring

2002-09-02 Thread Wez Furlong

Having been using it to handle more than 105,000 email messages over
the last 18 months *in production*, I have to disagree.

I have to say that I'm appalled that most of the people making these
I completely agree comments have probably never even tried to use
mbstring; most certainly haven't even read the bugzilla report and
therefore don't even realize what the problem is.

rant to=php-dev
  If you're going vote on something, *PLEASE* make yourselves
  aware of the real issues.

  PHP needs some forward thinkers, and brainlessly agreeing to
  disable a module, based on the valid principle of PECL removing
  cruft, is not forward thinking.  The noise has only helped to
  obscure the issue even more, because people are all jumping on
  the PECL is great bandwagon, when that is *not* the issue here.
  It's nice to see that people want to keep PHP clean, but *please*
  let's understand what we are voting for before we actually vote.
/rant

Now, the mbstr-enc-trans might have had some stability issues, but as
I've been saying, it is NOT enabled by default, and lets print a
warning about it when it is turned on.

Don't penalize serious developers because of this (already resolved) issue.

--Wez.

On 09/02/02, James Cox [EMAIL PROTECTED] wrote:
 Derick pretty much said it for me... but more explicitly,
 mbstring isn't stable enough to be default.

Derick wrote:
  Every respectable sysadm in eastern countries installing PHP should be
  aware fo this and enable mbstring for his users.

No, PHP should include encoding support by default - this was already
discussed and decided here on php-dev. (That's why it's enabled by
default in 4.2).




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




RE: [PHP-DEV] mbstring

2002-09-02 Thread Zeev Suraski

I do agree with Wez (not 'completely agree', though ;)

FWIW, mbstring was/is indeed enabled by default under Windows, and I think 
that at this stage this is not a good idea.  There was at least one serious 
crash in the code that was introduced by the changes, into both the 
mbstring version and the non mbstring version of the input handling 
routines, but I don't really attribute it to mbstring.   happens.  I do 
think that the large amount of duplicate code in there is not a good idea 
at all, and it should be refactored into a more generic solution - fixing 
the same bug twice, once under Windows (because it was in the mbstring 
code) and once under UNIX (becasue it was also in the non-mbstring code) 
was not fun at all.
I also think that the large amount of mbstring-related MFH's were not a 
good idea either.  Good i18n support is a strategic goal for PHP, and 
mbstring should be a big step in that direction.  But I think that the 
people here who said that it's something for v5.0 and not v4.x made a good 
point.

Zeev

At 11:52 02/09/2002, Wez Furlong wrote:
Having been using it to handle more than 105,000 email messages over
the last 18 months *in production*, I have to disagree.

I have to say that I'm appalled that most of the people making these
I completely agree comments have probably never even tried to use
mbstring; most certainly haven't even read the bugzilla report and
therefore don't even realize what the problem is.

rant to=php-dev
   If you're going vote on something, *PLEASE* make yourselves
   aware of the real issues.

   PHP needs some forward thinkers, and brainlessly agreeing to
   disable a module, based on the valid principle of PECL removing
   cruft, is not forward thinking.  The noise has only helped to
   obscure the issue even more, because people are all jumping on
   the PECL is great bandwagon, when that is *not* the issue here.
   It's nice to see that people want to keep PHP clean, but *please*
   let's understand what we are voting for before we actually vote.
/rant

Now, the mbstr-enc-trans might have had some stability issues, but as
I've been saying, it is NOT enabled by default, and lets print a
warning about it when it is turned on.

Don't penalize serious developers because of this (already resolved) issue.

--Wez.

On 09/02/02, James Cox [EMAIL PROTECTED] wrote:
  Derick pretty much said it for me... but more explicitly,
  mbstring isn't stable enough to be default.

Derick wrote:
   Every respectable sysadm in eastern countries installing PHP should be
   aware fo this and enable mbstring for his users.

No, PHP should include encoding support by default - this was already
discussed and decided here on php-dev. (That's why it's enabled by
default in 4.2).




--
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] mbstring

2002-09-02 Thread James Cox

Wez,

lets loose the crap here. I am happy to see mbstring in PHP! I have used it too, when 
I needed multibyte support.

But you see, it's not really all that solid. It needs more work (hence this apparent 
development outside of php.net). All I am saying is that we should disable it by 
default in current releases. For PHP5, we should have proper mbstring support that 
should probably also be transparent; by that I mean I see no reason for it not to be 
as standard functionality rather than an extension, if that is necessary.

I will let Phil know that he can update his errata to just removing the one compile 
option -- however, he demonstrates a valid point: unexpected behaviour sucks. This 
includes the building of modules that you don't need.

if it were me, i'd rather just be able to build the bare-bones PHP binary without an 
extensions, and compile others in as i needed them. By enabling extensions by default, 
what you end up doing is increasing the size of the end product... now that, in most 
cases, doesn't make a difference, however for scenarios where you have very little 
space to play with... having extensions compiled in by default that you don't know 
about sucks.

if we want to do some kind of auto-compile thing, then perhaps a script which 
detects-and-compiles every extension could get stuck in /php4 for those who were 
really lazy.

As I see it, PHP was designed with speed and simplicity in mind. Having the burden of 
a large number of extra modules compiled in by default doesn't help, and deviates from 
this path. Compiling modules by default which are buggy just compounds the problem.


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




RE: [PHP-DEV] mbstring

2002-09-02 Thread Zeev Suraski

At 13:19 02/09/2002, James Cox wrote:
As I see it, PHP was designed with speed and simplicity in mind.

It was indeed..

Having the burden of a large number of extra modules compiled in by 
default doesn't help, and deviates from this path.

Not really.  Speed-wise, adding modules has a negligible effect.  As far as 
simplicity goes, we're talking about simplicity for the 
developer.  Bundling features does make things simpler for the majority of 
the target audience.

  Compiling modules by default which are buggy just compounds the problem.

I obviously agree with that.  I do want to see mbstring become an 
integrated part of PHP, but not a moment sooner than when it is stable.

Zeev


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




RE: [PHP-DEV] mbstring

2002-09-02 Thread James Cox


 At 13:19 02/09/2002, James Cox wrote:
 As I see it, PHP was designed with speed and simplicity in mind.
 
 It was indeed..
 
 Having the burden of a large number of extra modules compiled in by 
 default doesn't help, and deviates from this path.
 
 Not really.  Speed-wise, adding modules has a negligible effect.  
 As far as 
 simplicity goes, we're talking about simplicity for the 
 developer.  Bundling features does make things simpler for the 
 majority of 
 the target audience.
 
   Compiling modules by default which are buggy just compounds 
 the problem.
 
 I obviously agree with that.  I do want to see mbstring become an 
 integrated part of PHP, but not a moment sooner than when it is stable.
 

exactly..

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




RE: [PHP-DEV] mbstring

2002-09-02 Thread Wez Furlong

On 09/02/02, James Cox [EMAIL PROTECTED] wrote:
 But you see, it's not really all that solid. It needs more work (hence this
 apparent development outside of php.net).

But it *is* VERY stable in the default configuration.

 All I am saying is that we should
 disable it by default in current releases. For PHP5, we should have proper
 mbstring support that should probably also be transparent; by that I mean I
 see no reason for it not to be as standard functionality rather than an
 extension, if that is necessary.

The transparent encoding style options - including that of the sessions
should *never* be enabled by default precisely because they are transparent
and cause unexpected behaviour for people that haven't read the docs.
 
 I will let Phil know that he can update his errata to just removing the one
 compile option -- however, he demonstrates a valid point: unexpected
 behaviour sucks. This includes the building of modules that you don't need.

Umm, but the behaviour was only unexpected because he enabled an option
without reading the docs to find out what it does. (regardless of the fact
that there was a slight bug: the very next bug report would be along the
lines of PHP is changing encodings automatically).
 
 if it were me, i'd rather just be able to build the bare-bones PHP binary
 without an extensions, and compile others in as i needed them. By enabling
 extensions by default, what you end up doing is increasing the size of the
 end product... now that, in most cases, doesn't make a difference, however
 for scenarios where you have very little space to play with... having
 extensions compiled in by default that you don't know about sucks.

But in that situation, you would be paying close attention to what you
were building anyway.
 
 As I see it, PHP was designed with speed and simplicity in mind. Having the
 burden of a large number of extra modules compiled in by default doesn't
 help, and deviates from this path.

No, you can always disable those extensions.  The default extensions were
*voted* in for a reason.

 Compiling modules by default which are
 buggy just compounds the problem.

Yes, but the bug was only present in an advanced optional feature that would
cause unexpected behaviour for non-mbstring aware people anyway.
*and it has already been fixed a number of weeks ago*

As I've said, mbstring is very stable in it's default configuration - the
codebase has been around for years and tested to death by a very dedicated
i18n team *in production*.

The development you keep referring to is part of a streamable filter
*add-on* that does not change the existing code that people rely on.

Why don't you test the current CVS to see if it still has a problem,
if it does, lets fix it.

Please don't take a step backwards by disabling this extension by default
just because you are afraid that people can abuse advanced options.

--Wez.



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




Re: [PHP-DEV] mbstring

2002-09-02 Thread Edin Kadribasic

 But it *is* VERY stable in the default configuration.

  All I am saying is that we should
  disable it by default in current releases. For PHP5, we should
have proper
  mbstring support that should probably also be transparent; by
that I mean I
  see no reason for it not to be as standard functionality rather
than an
  extension, if that is necessary.

 The transparent encoding style options - including that of the
sessions
 should *never* be enabled by default precisely because they are
transparent
 and cause unexpected behaviour for people that haven't read the
docs.

Exactly. Most unexpected behaviour cases were in regards to
transparent encoding. I have discovered this myself after spending
couple of hours trying to hunt down a bug.

This is why, we have agreed back then that transparent encoding
option should be turned off by default, which Yasuo did. We have
also agreed to leave mbstring module itself on by default because
there seemed to be no stability issues with it.

Therefore I think that the things should be left as they are in the
cvs, mbstring enabled by default and transparent encoding disabled
by default.

The windows version should have the same defaults as well.

Edin



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




RE: [PHP-DEV] mbstring

2002-09-02 Thread Sterling Hughes


 Wez,

 lets loose the crap here. I am happy to see mbstring in PHP! I have
 used it too, when I needed multibyte support.


James,

Let's stay consistent here.  Your opinion changes more than Microsoft's .NET
strategy...  In your original message you stated that you wanted to
remove mbstring.  If you've changed your opinion fine, but don't chide Wez
for responding to the opinion so forcefully expressed in your original
message.  Furthermore, you've said that you've never used mbstring extension
and that mbstring is certainly not a gold extension in prior messages,
what do you think Wez is going to respond too?

 But you see, it's not really all that solid. It needs more work (hence
 this apparent development outside of php.net). All I am saying is that
 we should disable it by default in current releases. For PHP5, we
 should have proper mbstring support that should probably also be
 transparent; by that I mean I see no reason for it not to be as
 standard functionality rather than an extension, if that is necessary.


_Every_ extension needs more work, a redesign, etc.  The mbstring extension
minus perhaps some of the newer features is quite solid, much more so than
many of the other standard php extension (for example, xml and domxml), its
being redesigned and reworked -- that's true, but that is imho just a
matter of evolution and improvement.

 I will let Phil know that he can update his errata to just removing the
 one compile option -- however, he demonstrates a valid point:
 unexpected behaviour sucks. This includes the building of modules that
 you don't need.


Yes, unexpected behaviour does suck, but this is not unexpected...

if you explicitly _enable_ a configuration option, and then it yields a
certain documented behaviour, I would hardly call that unexpected...

 if it were me, i'd rather just be able to build the bare-bones PHP
 binary without an extensions, and compile others in as i needed them.
 By enabling extensions by default, what you end up doing is increasing
 the size of the end product... now that, in most cases, doesn't make a
 difference, however for scenarios where you have very little space to
 play with... having extensions compiled in by default that you don't
 know about sucks.

 if we want to do some kind of auto-compile thing, then perhaps a script
 which detects-and-compiles every extension could get stuck in /php4 for
 those who were really lazy.

 As I see it, PHP was designed with speed and simplicity in mind. Having
 the burden of a large number of extra modules compiled in by default
 doesn't help, and deviates from this path. Compiling modules by default
 which are buggy just compounds the problem.


As Zeev stated this doesn't really hurt speed, actually what you're
suggesting would provide a larger speed hit (although not signifigant)
than the current situation.

As far as compiling in buggy modules -- yes, of course, that's stating the
obvious.  However mbstring is certainly not that buggy, unless you enable
a further option, and that's debatable.

From reading Wez's message, I really don't see a reason to unbundle/unenable
it -- as long as new development doesn't cause a new api (backwards compat),
i wasn't aware before that it didn't cause any bc issues.

I don't know how many people remember the bundling of XML with PHP4, but
there were _quite_ a few kinks with that integration, causing segfaults and
unexpected behaviour (especially when dealing with objects).  When
bundling a new extension, you should always expect a few kinks, with
mbstring it seems that there are less than usual (we also had major
problems with MySQL integration by the way...)

-Sterling




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




RE: [PHP-DEV] mbstring

2002-09-02 Thread James Cox




  As I see it, PHP was designed with speed and simplicity in 
 mind. Having the
  burden of a large number of extra modules compiled in by default doesn't
  help, and deviates from this path.
 
 No, you can always disable those extensions.  The default extensions were
 *voted* in for a reason.


Still, I think it makes more sense to enable, not disable. What extensions are enabled 
by default anyhow?  I am not aware of a list. Perhaps that's why i get odd errors when 
working with php, because there are extensions i didn't expect built in.
 
  Compiling modules by default which are
  buggy just compounds the problem.
 
 Yes, but the bug was only present in an advanced optional feature 
 that would
 cause unexpected behaviour for non-mbstring aware people anyway.
 *and it has already been fixed a number of weeks ago*
 
 As I've said, mbstring is very stable in it's default configuration - the
 codebase has been around for years and tested to death by a very dedicated
 i18n team *in production*.
 
 The development you keep referring to is part of a streamable filter
 *add-on* that does not change the existing code that people rely on.
 
maybe i'm jaded against mbstring here, but i experienced two unexpected crashes which 
i traced back to mbstring, but with no real cause that i could find, as well as 
watching the cvs commits -- and also wondering why on earth they feel they want to 
work on mbstring  sf.jp. CVS is quite capable of maintaining code (hence branches).

 Why don't you test the current CVS to see if it still has a problem,
 if it does, lets fix it.
 
I will do that.

 Please don't take a step backwards by disabling this extension by default
 just because you are afraid that people can abuse advanced options.

I'm not taking a step backwards, just trying to remove the potential for confusion. If 
people think that register_globals is confusing, and causes issues, then we should 
also not build stuff by default. I *HATE* it when I don't know what's being built.


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




RE: [PHP-DEV] mbstring

2002-09-02 Thread Melvyn Sopacua

On Mon, 2 Sep 2002, James Cox wrote:

JC Still, I think it makes more sense to enable, not disable. What extensions are 
enabled by default anyhow?  I am not aware of a list. Perhaps that's why i get odd 
errors when working with php, because there are extensions i didn't expect built in.

./configure --help | egrep -- '--(without|disable)'

exception to the rule being mysql.


-- 


Melvyn.


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




RE: [PHP-DEV] mbstring

2002-09-02 Thread James Cox



 On Mon, 2 Sep 2002, James Cox wrote:

 JC Still, I think it makes more sense to enable, not disable.
 What extensions are enabled by default anyhow?  I am not aware of
 a list. Perhaps that's why i get odd errors when working with
 php, because there are extensions i didn't expect built in.

 ./configure --help | egrep -- '--(without|disable)'

 exception to the rule being mysql.


Yes. It was a rhetorical question -- i wonder if this is worth another page
in the manual?

 james


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




RE: [PHP-DEV] mbstring

2002-09-02 Thread Melvyn Sopacua

On Mon, 2 Sep 2002, James Cox wrote:

JC  On Mon, 2 Sep 2002, James Cox wrote:
JC 
JC  JC Still, I think it makes more sense to enable, not disable.
JC  What extensions are enabled by default anyhow?  I am not aware of
JC  a list. Perhaps that's why i get odd errors when working with
JC  php, because there are extensions i didn't expect built in.
JC 
JC  ./configure --help | egrep -- '--(without|disable)'
JC 
JC  exception to the rule being mysql.
JC 
JC Yes. It was a rhetorical question --

I believe you :-)

JC i wonder if this is worth another page
JC in the manual?

Definetely. Remember register_globals? You just can't mention it often
enough.
Further more if people can count on this behaviour, they can more easily
create buildscripts. But then mysql shouldn't be the exception and a new
module, can never be enabled by default in a new release (don't recall
this ever happening, but still).

-- 


Melvyn.


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




Re: [PHP-DEV] mbstring

2002-09-02 Thread Dan Kalowsky

On Mon, 2 Sep 2002, Yasuo Ohgaki wrote:

 If we should reduce number of modules built by default, 1st
 module should be MySQL. Removing MySQL does not cause any
 technical problems at all.

I'll agree to that as well.  +1 on removing --with-mysql as a default.
Although realize I'm also +1 on removing any default modules that are not
essential to PHP's running.

 Is --disable-something is too hard to get used to?

Yes it is.  Why?  Because PHP has so many options at this point, finding
which modules are automatically enabled isn't terribly easy.  More to the
point, it's a PITA to find out during the build you forgot to explicitly
disable a feature.

In general it is easier to enable a feature than to disable a feature
(witness Clippy).

---
Dan KalowskyA little less conversation,
http://www.deadmime.org/~danka little more action.
[EMAIL PROTECTED]- A Little Less Conversation,
[EMAIL PROTECTED]Elvis Presley



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




Re: [PHP-DEV] mbstring

2002-09-02 Thread Zeev Suraski

At 22:52 02/09/2002, Dan Kalowsky wrote:
On Mon, 2 Sep 2002, Yasuo Ohgaki wrote:

  If we should reduce number of modules built by default, 1st
  module should be MySQL. Removing MySQL does not cause any
  technical problems at all.

I'll agree to that as well.  +1 on removing --with-mysql as a default.
Although realize I'm also +1 on removing any default modules that are not
essential to PHP's running.

-1



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




RE: [PHP-DEV] mbstring

2002-09-02 Thread James Cox



 At 22:52 02/09/2002, Dan Kalowsky wrote:
 On Mon, 2 Sep 2002, Yasuo Ohgaki wrote:
 
   If we should reduce number of modules built by default, 1st
   module should be MySQL. Removing MySQL does not cause any
   technical problems at all.
 
 I'll agree to that as well.  +1 on removing --with-mysql as a default.
 Although realize I'm also +1 on removing any default modules that are not
 essential to PHP's running.

 -1

Nice to see you argue that one so eloquently...

 -- james


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




RE: [PHP-DEV] mbstring

2002-09-02 Thread Zeev Suraski

At 23:21 02/09/2002, James Cox wrote:
Nice to see you argue that one so eloquently...

I have in the past, numerous times.  I don't think I or anybody else should 
have to repeat themselves like broken records, you can look it up in the 
archives.

Zeev


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




Re: [PHP-DEV] mbstring

2002-09-02 Thread Paul Nicholson

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Monday 02 September 2002 04:16 pm, Zeev Suraski wrote:
 At 22:52 02/09/2002, Dan Kalowsky wrote:
 On Mon, 2 Sep 2002, Yasuo Ohgaki wrote:
   If we should reduce number of modules built by default, 1st
   module should be MySQL. Removing MySQL does not cause any
   technical problems at all.
 
 I'll agree to that as well.  +1 on removing --with-mysql as a default.
 Although realize I'm also +1 on removing any default modules that are not
 essential to PHP's running.

 -1
- -1!!
 Are you crazy?! remove --with-mysql as default?! I must be seeing 
things.mysql is a major reason ppl use php and some(not all!!) dumb 
sysadmins don't enable anything but the defaults and forget about asking them 
to enable som'in for you

- -- 
~Paul Nicholson
It said uses Windows 98 or better, so I loaded Linux!
Registered Linux User #183202 using Register Linux System # 81891
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE9c85KDyXNIUN3+UQRAj6MAJ9Dbu0T4pCN9h/d0vtgsbJp+dIV1gCbB+Z6
Xva9XSblcuCZzGDeLW8D2RQ=
=FHIi
-END PGP SIGNATURE-

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




RE: [PHP-DEV] mbstring

2002-09-02 Thread Sebastian Nohn

 -Original Message-
 From: Dan Kalowsky [mailto:[EMAIL PROTECTED]]
 Sent: Monday, September 02, 2002 9:53 PM
 To: Yasuo Ohgaki
 Cc: PHP Development Mailing list
 Subject: Re: [PHP-DEV] mbstring


 On Mon, 2 Sep 2002, Yasuo Ohgaki wrote:

  If we should reduce number of modules built by default, 1st
  module should be MySQL. Removing MySQL does not cause any
  technical problems at all.

 I'll agree to that as well.  +1 on removing --with-mysql as a default.
 Although realize I'm also +1 on removing any default modules that are not
 essential to PHP's running.

-1 on changing this with PHP 4.x - with PHP 5.x people realize that
something big has changed. The register_golabls thing should have also been
changed in PHP 5 and not in 4.x, but anyway it's too late for that now ;)
Ah. I'm against changing this. But IF it's changed change it with 5.

  Is --disable-something is too hard to get used to?

 Yes it is.  Why?  Because PHP has so many options at this point, finding
 which modules are automatically enabled isn't terribly easy.  More to the
 point, it's a PITA to find out during the build you forgot to explicitly
 disable a feature.

Well... What about an _optional_ curses based, linux-kernel-like make
menuconfig?

+--+
| - Extensions   |
|   [x] mySQL|
|   [x] GD   |
|   .|
|   .|
|   .|
|   [ ] HyperWave  |
|   .|
|   .|
|   [x] zlib |
||
| - Options  |
|   [ ] enable transparent session id  |
+--+
| Here some description of the option or the   |
| Extension for examle   |
||
+--+

Regards,
   Sebastian Nohn
--
+49 170 471 8105 - [EMAIL PROTECTED] - http://www.nohn.net/
PGP Key Available - Did I help you? Consider a gift:
http://www.amazon.de/exec/obidos/wishlist/3HYH6NR8ZI0WI/


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




Re: [PHP-DEV] mbstring

2002-09-02 Thread Markus Fischer

On Tue, Sep 03, 2002 at 06:06:29AM +0200, Sebastian Nohn wrote : 
 Well... What about an _optional_ curses based, linux-kernel-like make
 menuconfig?
 
 +--+
 | - Extensions |
 |   [x] mySQL  |
 |   [x] GD |
 |   .  |
 |   .  |
 |   .  |
 |   [ ] HyperWave  |
 |   .  |
 |   .  |
 |   [x] zlib   |
 |  |
 | - Options|
 |   [ ] enable transparent session id  |
 +--+
 | Here some description of the option or the   |
 | Extension for examle |
 |  |
 +--+

That would be an uebercool thing. Nice overview, load and
save different configurations, etc.

Just don't forget the text boxes for the extra parameters (GD
could need a path to the library).

I just think this will remain in our dreams.

-- 
GnuPG Key: http://guru.josefine.at/~mfischer/C2272BD0.asc
Finally, if someone actually flying a plane is relying on
a freakin' webcam to land, we're all in trouble.
- A /. poster.

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




Re: [PHP-DEV] mbstring

2002-09-01 Thread derick

On Sun, 1 Sep 2002, James Cox wrote:

 The other he mentions is mbstring seems to cause problems. I have
 experienced this too.
 
 Guys, i don't want to be mean or sound racist or anything else you throw at
 me.
 
 But mbstring really isn't a core module, and very few people will require
 kr/zh/ru style encoding.
 
 I vote to remove mbstring as a default module.

+1
 
 And for those who say that i could just disable it -- well, the converse is
 true. Let us STOP burdening default builds with crap that is unlikely to be
 used.

+1

Derick

---
 Did I help you?   http://www.derickrethans.nl/link.php?url=giftlist
 Frequent ranting: http://www.derickrethans.nl/
---
 PHP: Scripting the Web - [EMAIL PROTECTED]
All your branches are belong to me!
SRM: Script Running Machine - www.vl-srm.net
---


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




Re: [PHP-DEV] mbstring

2002-09-01 Thread Sebastian Bergmann

James Cox wrote:
 I vote to remove mbstring as a default module.

  +1

-- 
  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] mbstring

2002-09-01 Thread Mike Robinson

 James Cox wrote:

 I vote to remove mbstring as a default module.

+1

 Let us STOP burdening default builds with crap that is unlikely
 to be used.

Amen.

Regards
Mike Robinson


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




Re: [PHP-DEV] mbstring

2002-09-01 Thread Dan Kalowsky

On Sun, 1 Sep 2002, James Cox wrote:

 I vote to remove mbstring as a default module.

+1000

 And for those who say that i could just disable it -- well, the converse is
 true. Let us STOP burdening default builds with crap that is unlikely to be
 used.

Another voice of reason!  Welcome!

---
Dan KalowskyA little less conversation,
http://www.deadmime.org/~danka little more action.
[EMAIL PROTECTED]- A Little Less Conversation,
[EMAIL PROTECTED]Elvis Presley


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




Re: [PHP-DEV] mbstring

2002-09-01 Thread Brian France

At 10:49 AM +0100 9/1/02, James Cox wrote:
I vote to remove mbstring as a default module.

I completely agree!

I do have one request, when the time comes to remove it from the 
default also change the PHP core code so that it can be built as a 
shared extension and loaded on the fly.  Currently it can only be 
compiled into PHP statically and building it as .so means hacking the 
PHP source and the mbstring module (which I have already done with a 
small patch).

Just my 2 cents.

Thanks,

Brian

BTW, sorry if this has been already done in the CVS tree and I didn't catch it.

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




RE: [PHP-DEV] mbstring

2002-09-01 Thread James Cox

 
 I do have one request, when the time comes to remove it from the 
 default also change the PHP core code so that it can be built as a 
 shared extension and loaded on the fly.  Currently it can only be 
 compiled into PHP statically and building it as .so means hacking the 
 PHP source and the mbstring module (which I have already done with a 
 small patch).
 
Where is your patch?

 -- james

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




RE: [PHP-DEV] mbstring

2002-09-01 Thread Brian France

At 6:29 PM +0100 9/1/02, James Cox wrote:
Where is your patch?

The patch basically renames php_treat_data to php_treat_data_default,
creates a function pointer called php_treat_data that is defaulted to
php_treat_data_default, removes all mbstrings references in php_main.h
and makes mbstring.c change the php_treat_data to mbstr_treat_data in
the INIT function and restores its value in SHUTDOWN.

This allows us to only load the mbstrings extension on the machines 
that need it, which is a very small percentage of our over all server 
count.

This patch is based off of the 4.2.2 release and there have been 
changes in CVS to the exif extension that may need mbstring to be 
static because it is expecting mbstr_treat_data to be handling the 
php_treat_data stuff.

There was also talk about moving the changing mbstr_treat_data to be 
the default handler since there was so much duplicate code in 
mbstring.

Thanks,

Brian

--

diff -rc php-4.2.2/ext/mbstring/mbstring.c php-4.2.2/ext/mbstring/mbstring.c
*** php-4.2.2/ext/mbstring/mbstring.c   Wed Apr 24 02:46:23 2002
--- php-4.2.2/ext/mbstring/mbstring.c   Mon Jun 10 14:10:58 2002
***
*** 93,98 
--- 93,100 
{ MULTIPART_CONTENT_TYPE, 
sizeof(MULTIPART_CONTENT_TYPE)-1,   NULL, 
rfc1867_post_handler },
{ NULL, 0, NULL, NULL }
   };
+
+ void mbstr_treat_data(int arg, char *str, zval* destArray TSRMLS_DC);
   #endif

   static struct mb_overload_def mb_ovld[] = {
***
*** 529,534 
--- 531,538 
   #if defined(MBSTR_ENC_TRANS)
sapi_unregister_post_entry(mbstr_post_entries);
sapi_register_post_entries(mbstr_post_entries);
+
+ php_treat_data = mbstr_treat_data;
   #endif

REGISTER_LONG_CONSTANT(MB_OVERLOAD_MAIL, MB_OVERLOAD_MAIL, 
CONST_CS | CONST_PERSISTENT);
***
*** 552,557 
--- 556,565 

   #if HAVE_MBREGEX
zend_hash_destroy(MBSTRG(ht_rc));
+ #endif
+
+ #if defined(MBSTR_ENC_TRANS)
+ php_treat_data = php_treat_data_default;
   #endif

return SUCCESS;
diff -rc php-4.2.2/main/php_main.h php-4.2.2/main/php_main.h
*** php-4.2.2/main/php_main.h   Mon Mar  4 10:46:55 2002
--- php-4.2.2/main/php_main.h   Mon Jun 10 14:09:59 2002
***
*** 53,60 
   extern int php_init_environ(void);
   extern int php_shutdown_environ(void);

- #if defined(MBSTR_ENC_TRANS)
- #define php_treat_data mbstr_treat_data
- #endif
-
   #endif
--- 53,56 
diff -rc php-4.2.2/main/php_variables.c php-4.2.2/main/php_variables.c
*** php-4.2.2/main/php_variables.c  Tue Dec 11 07:31:05 2001
--- php-4.2.2/main/php_variables.c  Mon Jun 10 14:09:59 2002
***
*** 28,33 
--- 28,34 

   #include zend_globals.h

+ void *(*php_treat_data)(int arg, char *str, zval* destArray 
TSRMLS_DC) = php_treat_data_default;

   PHPAPI void php_register_variable(char *var, char *strval, zval 
*track_vars_array TSRMLS_DC)
   {
***
*** 215,221 
   }


! void php_treat_data(int arg, char *str, zval* destArray TSRMLS_DC)
   {
char *res = NULL, *var, *val, *separator=NULL;
const char *c_var;
--- 216,222 
   }


! void php_treat_data_default(int arg, char *str, zval* destArray TSRMLS_DC)
   {
char *res = NULL, *var, *val, *separator=NULL;
const char *c_var;
diff -rc php-4.2.2/main/php_variables.h php-4.2.2/main/php_variables.h
*** php-4.2.2/main/php_variables.h  Tue Dec 11 07:31:05 2001
--- php-4.2.2/main/php_variables.h  Mon Jun 10 14:09:59 2002
***
*** 30,36 
   #define PARSE_COOKIE 2
   #define PARSE_STRING 3

! void php_treat_data(int arg, char *str, zval* destArray TSRMLS_DC);
   PHPAPI void php_import_environment_variables(zval *array_ptr TSRMLS_DC);
   PHPAPI void php_register_variable(char *var, char *val, pval 
*track_vars_array TSRMLS_DC);
   /* binary-safe version */
--- 30,39 
   #define PARSE_COOKIE 2
   #define PARSE_STRING 3

! extern void *(*php_treat_data)(int arg, char *str, zval* destArray 
TSRMLS_DC);
!
! void php_treat_data_default(int arg, char *str, zval* destArray TSRMLS_DC);
!
   PHPAPI void php_import_environment_variables(zval *array_ptr TSRMLS_DC);
   PHPAPI void php_register_variable(char *var, char *val, pval 
*track_vars_array TSRMLS_DC);
   /* binary-safe version */

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




RE: [PHP-DEV] mbstring

2002-09-01 Thread Marcus Börger

At 20:38 01.09.2002, Brian France wrote:
At 6:29 PM +0100 9/1/02, James Cox wrote:
Where is your patch?

The patch basically renames php_treat_data to php_treat_data_default,
creates a function pointer called php_treat_data that is defaulted to
php_treat_data_default, removes all mbstrings references in php_main.h
and makes mbstring.c change the php_treat_data to mbstr_treat_data in
the INIT function and restores its value in SHUTDOWN.

This allows us to only load the mbstrings extension on the machines that 
need it, which is a very small percentage of our over all server count.

This patch is based off of the 4.2.2 release and there have been changes 
in CVS to the exif extension that may need mbstring to be static because 
it is expecting mbstr_treat_data to be handling the php_treat_data stuff.

exif uses mbstring since 4.3 so 4.2.3 would be no problem

(...)


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




RE: [PHP-DEV] mbstring

2002-09-01 Thread Brian France

At 8:47 PM +0200 9/1/02, Marcus Börger wrote:
At 20:38 01.09.2002, Brian France wrote:
At 6:29 PM +0100 9/1/02, James Cox wrote:
Where is your patch?

The patch basically renames php_treat_data to php_treat_data_default,
creates a function pointer called php_treat_data that is defaulted to
php_treat_data_default, removes all mbstrings references in php_main.h
and makes mbstring.c change the php_treat_data to mbstr_treat_data in
the INIT function and restores its value in SHUTDOWN.

This allows us to only load the mbstrings extension on the machines
that need it, which is a very small percentage of our over all
server count.

This patch is based off of the 4.2.2 release and there have been
changes in CVS to the exif extension that may need mbstring to be
static because it is expecting mbstr_treat_data to be handling the
php_treat_data stuff.

exif uses mbstring since 4.3 so 4.2.3 would be no problem

Which means that my fix would fix it for 4.2.x releases and then it
breaks again in 4.3. Break, I mean mbstring can not be built as a
shared extension.

I know there are things the exif needs from mbstring and there is no
way to have exif link against mbstring or require it.  But couldn't
exif check to see if mbstring is loaded (or built in) and if not
print a warning that some of its functionality may not work correctly
unless mbstring is loaded (or built in)?

Thanks,

Brian

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




RE: [PHP-DEV] mbstring

2002-09-01 Thread Marcus Börger

At 20:57 01.09.2002, Brian France wrote:
At 8:47 PM +0200 9/1/02, Marcus Börger wrote:
At 20:38 01.09.2002, Brian France wrote:
At 6:29 PM +0100 9/1/02, James Cox wrote:
Where is your patch?

The patch basically renames php_treat_data to php_treat_data_default,
creates a function pointer called php_treat_data that is defaulted to
php_treat_data_default, removes all mbstrings references in php_main.h
and makes mbstring.c change the php_treat_data to mbstr_treat_data in
the INIT function and restores its value in SHUTDOWN.

This allows us to only load the mbstrings extension on the machines that 
need it, which is a very small percentage of our over all server count.

This patch is based off of the 4.2.2 release and there have been changes 
in CVS to the exif extension that may need mbstring to be static because 
it is expecting mbstr_treat_data to be handling the php_treat_data stuff.

exif uses mbstring since 4.3 so 4.2.3 would be no problem

Which means that my fix would fix it for 4.2.x releases and then it breaks 
again in 4.3. Break, I mean mbstring can not be built as a shared extension.

I meant you do not have to care about exif in 4.2.3 and it does not break 
thinks in 4.3 since
availability is checked. The only thing is that there is be a lack in 
documentation for the case
that mbstring is a shared module.


I know there are things the exif needs from mbstring and there is no way 
to have exif link against mbstring or require it.  But couldn't exif check 
to see if mbstring is loaded (or built in) and if not print a warning that 
some of its functionality may not work correctly unless mbstring is loaded 
(or built in)?

I think we could, especially since 4.3 features are not sipulated yet.

marcus


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




Re: [PHP-DEV] mbstring

2002-09-01 Thread Marcus Börger

At 11:49 01.09.2002, James Cox wrote:
Phil Copeland  redhat pointed me at this bug:

https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=72752

Seems that there are a number of issues (i'm going to verify  patch his
fixes right now).

The other he mentions is mbstring seems to cause problems. I have
experienced this too.

Guys, i don't want to be mean or sound racist or anything else you throw at
me.

But mbstring really isn't a core module, and very few people will require
kr/zh/ru style encoding.

I vote to remove mbstring as a default module.

And for those who say that i could just disable it -- well, the converse is
true. Let us STOP burdening default builds with crap that is unlikely to be
used.



The problem with removing mbstring as a default module would be its upcoming
integration into Zend engine for full I18n of php. So i would prefer making 
it a
module that does not harm anything. In other words it must not change anything
until some character conversion is really needed.

I see the reasons for making it a non default module but i also think it 
will become
a core module. The remaining question is: Do we want full I18n for php?

marcus


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




Re: [PHP-DEV] mbstring

2002-09-01 Thread Wez Furlong

On 01/09/02, James Cox [EMAIL PROTECTED] wrote:
 The other he mentions is mbstring seems to cause problems. I have
 experienced this too.

Umm, dont enable the transparent encoding support then.
I don't, and I've had no problems.

 But mbstring really isn't a core module, and very few people will require
 kr/zh/ru style encoding.

But what about all the other encodings (not just charsets)?

 I vote to remove mbstring as a default module.

I guess you have never tried to create a truely globalized/localized
application then?

I'm -1 on removing it, because PHP needs a consistent charset encoding
API that is portable across platforms. iconv and recode are no good
because their supported charsets vary from system to system and version
to version; some libraries actually have broken encoding tables

Enabling mbstring by default was a very good move (tm).
But enabling the transparent encoding support option just because it's
there is not a very good move.  Just because people enable stuff they
don't understand is not a good reason to disable this module.

Actually, I'm -2 on removing it; -1 because PHP scripts can use it, and
and additional -1 because PHP extensions that need to play with encodings
can (and do) also use this portable API.

--Wez.


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




Re: [PHP-DEV] mbstring

2002-09-01 Thread Sterling Hughes

 
   I vote to remove mbstring as a default module.
  
  I guess you have never tried to create a truely globalized/localized
  application then?
  
  I'm -1 on removing it, because PHP needs a consistent charset encoding
  API that is portable across platforms. iconv and recode are no good
  because their supported charsets vary from system to system and version
  to version; some libraries actually have broken encoding tables
  
 
 Wez, let me rephrase:
 
 mbstring isn't a gold module which should be enabled by default.
 
 That is, it's still -- as i see it -- just a bit more than experimental. mbstring 
work is being done on sourceforge! 
 
 So I want to 'disable' it by default. If you want encoding, just enable it. But 
you're right, i've never needed to create a truely globalized/localized app. (and 
from general principles, if you feel you need to localize any more than your 
ui/strings.)


That's not what I read, perhaps you can just double clarify this -- you
do not at all want to remove mbstring from PHP (and move it say, to
pear)...

If this is correct, than I'm +1, otherwise I'm -1.  Mbstring is very
important when it comes to creating i18n applications.  Also, you seem
to forget that PHP is not only used in England, but other areas where it
is _quite_ important, and _quite_ necessary.

-Sterling

  -- james
 
 
 --
 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] mbstring

2002-09-01 Thread Yasuo Ohgaki

Brian France wrote:
 I know there are things the exif needs from mbstring and there is no way 
 to have exif link against mbstring or require it.  But couldn't exif 
 check to see if mbstring is loaded (or built in) and if not print a 
 warning that some of its functionality may not work correctly unless 
 mbstring is loaded (or built in)?

It's not a good idea.

What we need is smart ini parser and module loader that understand
module dependecy and proper loading order.

--
Yasuo Ohgaki


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




Re: [PHP-DEV] mbstring

2002-09-01 Thread Marcus Börger

At 01:24 02.09.2002, Yasuo Ohgaki wrote:
Brian France wrote:
I know there are things the exif needs from mbstring and there is no way 
to have exif link against mbstring or require it.  But couldn't exif 
check to see if mbstring is loaded (or built in) and if not print a 
warning that some of its functionality may not work correctly unless 
mbstring is loaded (or built in)?

It's not a good idea.

What we need is smart ini parser and module loader that understand
module dependecy and proper loading order.


PLEASE charme down on exif/mbstring liaison.

ext/exif is by now the most capable implemetnation available freely (with
the restriction that it can only read things) so i guess i can invent some
workaround. Or the users who really like that liaison can enable both
modules. For me the only reason to depend on both is the combination
of ACDSee and php. More will follow but i hope until then mbstring/I18n
is fully integrated in php5.0.

So my vote is +1 for having I18n support for php by mbstring being default.

AND exif has no affect. It works whether or not mbstring is there. Just
some tags might cause some problems (WinXP specific and one more).
AND exif is disliked by the developers on this list so why do we care now?


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




Re: [PHP-DEV] mbstring

2002-09-01 Thread Marcus Börger

At 01:24 02.09.2002, you wrote:
Brian France wrote:
I know there are things the exif needs from mbstring and there is no way 
to have exif link against mbstring or require it.  But couldn't exif 
check to see if mbstring is loaded (or built in) and if not print a 
warning that some of its functionality may not work correctly unless 
mbstring is loaded (or built in)?

It's not a good idea.

What we need is smart ini parser and module loader that understand
module dependecy and proper loading order.

We already had some discussion on some IF statements in ini
files already. I guess we might call to another mail thread here
and hope we find a volunteer. I will not invent any work here since
that would be totally useless.


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




Re: [PHP-DEV] mbstring

2002-09-01 Thread Brian France

I know this is ugly, but what about making the extensions handle it themselves?

Your example of session_pgsql:

In the extension init code:

ext_enabled = 1;

if ( dlsym( NULL, psql_module_entry ) == NULL 
  dlsym( NULL, _psql_module_entry ) == NULL )
{
 // print some warning about needing the pgsql extension
 // or pgsql should be loaded before this one in the php.ini
 ext_enabled = 0;
}

if ( dlsym( NULL, session_module_entry ) == NULL 
  dlsym( NULL, _session_module_entry ) == NULL )
{
 // print some warning about needing the session extension
 // or session should be loaded before this one in the php.ini
 ext_enabled = 0;
}

The second call with a underscore is to handle Openbsd and old 
version of FreeBSD, I think a.out things.  I am sure this can be 
handled differently, but you get the point.

Cheers,

Brian

At 9:19 AM +0900 9/2/02, Yasuo Ohgaki wrote:
We know current module loader is not smart :)

As number of modules increases, number of module depends on another 
increases. Examples are mbstirng/mailparse/exif, 
session/msession/session_pgsql and bunch of session save handler
modules out there, session_pgsql depends of session and pgsql module,
etc.

(Loading sessoin save handler as module does not work at all, since
current module loader isn't take into module dependency at all)

I would like to see smart module loader and/or ini parser that can
address this issue. PHP crashes easily w/o it.

IF statemnet is better than now, but it's not good enough.
I don't think this carefully, but here is my idea.

Add following member so that get_module() retrive
  loading weight (we need this so that we can control sub module
  loading order)
  list modules depend on
Check if module required is there, raise E_WARNING
  if module cannot be loaded.
Sort modules so that modules are loaded w/o problem.
Load modules.

This is easy to implement, isn't it?
We may better to have smart ini parser, but it may not be
required strictly for this purpose.

I don't have plan to write this, since I need to modify
engine code. I hope Andi or Zeev like this idea for PHP5 :)

BTW, I'm +1 for having IF statement in php.ini.

--
Yasuo Ohgaki


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




Re: [PHP-DEV] mbstring

2002-09-01 Thread Brian France

At 9:25 AM +0900 9/2/02, Yasuo Ohgaki wrote:
As all of us know, PHP crashes easily when module is loaded
improperly.

Has anybody tracked down why this is?

This could have been the problem, but is fixed now:

http://bugs.php.net/?id=17643

(I think this link is right, bugs is down right now)

Brian





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




Re: [PHP-DEV] mbstring

2002-09-01 Thread Yasuo Ohgaki

We should have generic code for this. IMHO.

--
Yasuo Ohgaki

Brian France wrote:
 I know this is ugly, but what about making the extensions handle it 
 themselves?
 
 Your example of session_pgsql:
 
 In the extension init code:
 
 ext_enabled = 1;
 
 if ( dlsym( NULL, psql_module_entry ) == NULL 
  dlsym( NULL, _psql_module_entry ) == NULL )
 {
 // print some warning about needing the pgsql extension
 // or pgsql should be loaded before this one in the php.ini
 ext_enabled = 0;
 }
 
 if ( dlsym( NULL, session_module_entry ) == NULL 
  dlsym( NULL, _session_module_entry ) == NULL )
 {
 // print some warning about needing the session extension
 // or session should be loaded before this one in the php.ini
 ext_enabled = 0;
 }
 
 The second call with a underscore is to handle Openbsd and old version 
 of FreeBSD, I think a.out things.  I am sure this can be handled 
 differently, but you get the point.
 
 Cheers,
 
 Brian
 
 At 9:19 AM +0900 9/2/02, Yasuo Ohgaki wrote:
 
 We know current module loader is not smart :)

 As number of modules increases, number of module depends on another 
 increases. Examples are mbstirng/mailparse/exif, 
 session/msession/session_pgsql and bunch of session save handler
 modules out there, session_pgsql depends of session and pgsql module,
 etc.

 (Loading sessoin save handler as module does not work at all, since
 current module loader isn't take into module dependency at all)

 I would like to see smart module loader and/or ini parser that can
 address this issue. PHP crashes easily w/o it.

 IF statemnet is better than now, but it's not good enough.
 I don't think this carefully, but here is my idea.

 Add following member so that get_module() retrive
  loading weight (we need this so that we can control sub module
  loading order)
  list modules depend on
 Check if module required is there, raise E_WARNING
  if module cannot be loaded.
 Sort modules so that modules are loaded w/o problem.
 Load modules.

 This is easy to implement, isn't it?
 We may better to have smart ini parser, but it may not be
 required strictly for this purpose.

 I don't have plan to write this, since I need to modify
 engine code. I hope Andi or Zeev like this idea for PHP5 :)

 BTW, I'm +1 for having IF statement in php.ini.

 -- 
 Yasuo Ohgaki
 
 
 
 




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




  1   2   >