On Tue, 3 Dec 2002, Moriyoshi Koizumi wrote:

>--snip
>> If you compile mbstring as static module, you can workaround this
>> error. It's not very good idea to enable it anyway..
>
>I'm wondering why you referred to enabling mbstring as no good idea
>in this report. I believe the problem has been properly avoided, or am I 
>missing something?

    Maybe I just assumed something, but I think this person really 
    doesn't even need it. :) That's why I also noted about enabling 
    only extensions that he actually needs.

    The biggest concern about mbstring for me is that it changes some core
    functions behaviour. I haven't followed the development of mbstring 
    closely so I might be wrong here..just that one major bug caused by 
    that duplication of code (for post vars parsing) gives me creeps. :)
    
    As long as it's separate from core PHP, I will never suggest anybody
    to use it.
    
>> For the mbstring authors: You should decide whether or not to allow
>> external usage of these functions (ie. in other extensions) or disable
>> the building of this extension as shared altogether..
>
>What decision? We actually externalise some functions just for that 
>purpose. Perhaps did you mean integration of mbstring into core part?

    Yes. But mbstring is not the only extension having the same problem
    when compiled as shared. At least iconv, openssl, pcre and gd also 
    have some external parts used outside them. e.g. All the extensions
    and core parts using those externalized functions in mbstring must
    now put these around the parts using those:
    
    #ifndef COMPILE_DL_MBSTRING
    #endif

    This is done in some places, but not everywhere, like shown by 
    the bug report. 

    The same problem is also with PCRE and GD extensions. 
    One solution would be to make at least PCRE and MBstring always
    static, ie. disallow building them as shared. Or move them
    under ext/standard..

    With openssl and iconv it's a bit different, the same libraries
    are required by other extensions. This problem could be solved by
    linking the core PHP always with those, even when compiling openssl
    or iconv as shared extensions.

>BTW we are now working on a new mbstring API specification so that other 
>extension authors can use the functions with more convenience and in no 
>more doubt about their usage. If we should treat it in a special way,
>please let us know.

    Yeah, keep it simple. :)

    --Jani


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

Reply via email to