Re: php mbstring extension doesnt load [message #175329 is a reply to message #175328] |
Tue, 06 September 2011 01:12 |
Cat 22
Messages: 6 Registered: September 2011
Karma:
|
Junior Member |
|
|
Jerry Stuckle wrote:
> On 9/5/2011 8:06 PM, Cat 22 wrote:
>> Jerry Stuckle wrote:
>>
>>> On 9/4/2011 1:03 AM, Cat 22 wrote:
>>>> Jerry Stuckle wrote:
>>>>
>>>> > On 9/3/2011 7:09 PM, Cat 22 wrote:
>>>> >> I'm on a mandriva x64 (2010.0) system and have
>>>> >> PHP 5.2.6 (cli) (built: Nov 15 2009 11:54:34)
>>>> >> installed, i use lighttpd as my webserver for local stuff.
>>>> >> I find i need the mbstring extension so i installed it via mcc
>>>> >> its now in /usr/lib64/php/extensions/mbstring.so
>>>> >> but php -m dosent list it as loaded.
>>>> >> The /etc/php.ini file has an mbstring section which i
>>>> >> set to this (all the other items under [mbstring] are
>>>> >> commented out):
>>>> >> [mbstring]
>>>> >> ; language for internal character representation.
>>>> >> ; http://php.net/mbstring.language
>>>> >> mbstring.language = English
>>>> >>
>>>> >> I restarted lighttpd but i still dont have mbstring loaded.
>>>> >> What have i missed?
>>>> >> Thanks
>>>> >> Cat22
>>>> >>
>>>> >>
>>>> >
>>>> > Did you load the extension in your php.ini file?
>>>> >
>>>> I tried that, like this but it didnt help
>>>>
>>>> from /etc/php.ini:
>>>>
>>>> ; Directory in which the loadable extensions (modules) reside.
>>>> ; http://php.net/extension-dir
>>>> extension_dir = "/usr/lib64/php/extensions"
>>>>
>>>> ; If you wish to have an extension loaded automatically, use the
>>>> following
>>>> ; syntax:
>>>> ;
>>>> ; extension=modulename.extension
>>>> extension=mbstring.so<== i added this line
>>>> ;
>>>> ; On Mandriva, we don't add the extensions in php.ini anymore,
>>>> we put ; them in /etc/php.d/<number>_<name>.ini, for example
>>>> 10_recode.ini. ;
>>>> ; This is so that the RPMS can register themselves without
>>>> having to ; modify the php.ini file.
>>>>
>>>> Also:
>>>>
>>>> #locate mbstring
>>>> /etc/php.d/29_mbstring.ini
>>>> /usr/lib64/php/extensions/mbstring.so
>>>>
>>>> #cat /etc/php.d/29_mbstring.ini
>>>> extension = mbstring.so
>>>>
>>>> I then restarted lighttpd
>>>> Still no joy
>>>> Thanks
>>>> Cat22
>>>
>>>
>>> OK, some other questions. First of all, did you change the
>>> correct
>>> php.ini file? This usually is more of a problem in Windows
>>> systems than
>> As near as i can tell i have these:
>> /etc/php-cgi-fcgi.ini
>> /etc/php.ini
>> /etc/php.ini.ccpbackup
>>
>> grepping i find:
>>
>> rep mbstring /etc/php.ini
>> extension=mbstring.so
>> [mbstring]
>> ; http://php.net/mbstring.language
>> mbstring.language = English
>> ; http://php.net/mbstring.internal-encoding
>> ;mbstring.internal_encoding = EUC-JP
>> ; http://php.net/mbstring.http-input
>> ;mbstring.http_input = auto
>> ; http://php.net/mbstring.http-output
>> ;mbstring.http_output = SJIS
>> ; mbstring.internal_encoding setting. Input chars are
>> ; http://php.net/mbstring.encoding-translation
>> ;mbstring.encoding_translation = Off
>> ; http://php.net/mbstring.detect-order
>> ;mbstring.detect_order = auto
>> ; http://php.net/mbstring.substitute-character
>> ;mbstring.substitute_character = none;
>> ; overload(replace) single byte functions by mbstring functions.
>> ; http://php.net/mbstring.func-overload
>> ;mbstring.func_overload = 0
>> ;mbstring.strict_detection = Off
>> ; Default: mbstring.http_output_conv_mimetype=^(text/|
>> application/xhtml\+xml)
>> ;mbstring.http_output_conv_mimetype=
>> ;mbstring.script_encoding=
>> ; With mbstring support this will automatically be converted into
>> the encoding
>> ; given by corresponding encode setting. When empty
>> mbstring.internal_encoding
>>
>> and for the other ini file:
>> grep mbstring /etc/php-cgi-fcgi.ini
>> extension=mbstring.so
>> [mbstring]
>> ; http://php.net/mbstring.language
>> mbstring.language = English
>> ; http://php.net/mbstring.internal-encoding
>> ;mbstring.internal_encoding = EUC-JP
>> ; http://php.net/mbstring.http-input
>> ;mbstring.http_input = auto
>> ; http://php.net/mbstring.http-output
>> ;mbstring.http_output = SJIS
>> ; mbstring.internal_encoding setting. Input chars are
>> ; http://php.net/mbstring.encoding-translation
>> ;mbstring.encoding_translation = Off
>> ; http://php.net/mbstring.detect-order
>> ;mbstring.detect_order = auto
>> ; http://php.net/mbstring.substitute-character
>> ;mbstring.substitute_character = none;
>> ; overload(replace) single byte functions by mbstring functions.
>> ; http://php.net/mbstring.func-overload
>> ;mbstring.func_overload = 0
>> ;mbstring.strict_detection = Off
>> ; Default: mbstring.http_output_conv_mimetype=^(text/|
>> application/xhtml\+xml)
>> ;mbstring.http_output_conv_mimetype=
>> ;mbstring.script_encoding=
>> ; With mbstring support this will automatically be converted into
>> the encoding
>> ; given by corresponding encode setting. When empty
>> mbstring.internal_encoding
>>
>>
>>> Unix ones, but it can still occur. phpinfo() will show you which
>>> ini file is being used.
>> I dont have phpinfo on my system.
>> I do have these tho:
>> php php-cgi php-config php-fcgi phpize
>>
>>>
>>> Also, are you using the 64 bit version of PHP? Is the version of
>>> mbstring you installed the correct one for your version of PHP (I
>>> don't
>> yes, i checked using the "file" cmd and php, php-cgi and lighttpd
>> are all x86_64 executables as is mbstring.so so no conflict there
>>> know where you got either one). Also, what's in
>>> /etc/php.d/29_mbstring.ini? Is this the file you're supposed to
>>> include?
>>>
>>> ALso, I'm not familiar with Mandriva, but you should be asking
>>> them what they requires for their package system to work.
>>>
>> Well generally in Mandrive there are ini files located in
>> /etc/php.d/, each file has a one liner "extension=mbstring.so" (as
>> an example
>> the actual mbstring.so file is in /usr/lib64/php/extensions/
>>
>> My guess at this point is that the vesion of php they distribute
>> has no ability to load modules at run time.
>> I cant find any info that shows any of the modules being
>> dynamically loaded. Its possible however that some ini option has
>> dynamic loading turned off
>>
>
> Dynamic loading would not be turned off (not even sure it can be).
>
> Once again - check phpinfo(). It will tell you (among a lot of
> other
> good things) which initialization file is being used. That's the
> one you need to be looking at.
>
There is no phpinfo on my system, should it have been part of php?
|
|
|