Re: php mbstring extension doesnt load [message #175331 is a reply to message #175329] |
Tue, 06 September 2011 01:52 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma:
|
Senior Member |
|
|
On 9/5/2011 9:12 PM, Cat 22 wrote:
> 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?
phpinfo() is a PHP function call (see the manual).
Create a web page with just the following:
<?php
phpinfo();
?>
Place it where it is accessible to your web server and bring the page up
in your browser (don't leave it on your system - it tells people all
kinds of things about your installation).
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
|
|
|