Re: Problem with mbstring.internal_encoding , mcrypt and php-fpm
| From: | Condor | Date: | Mon, 23 Sep 2013 12:54:04 +0000 |
| Subject: | Re: Problem with mbstring.internal_encoding , mcrypt and php-fpm | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-322157@lists.php.net to get a copy of this message | ||
On 2013-09-23 15:42, Aziz Saleh wrote:
Hristo, Try changing the php.ini config: mbstring.func_overload 0 See if that helps your issue, more on what it does: http://php.net/manual/en/mbstring.overload.php [3] Aziz On Mon, Sep 23, 2013 at 8:23 AM, Condor <condor@stz-bg.com> wrote:Hello, I just try and no effect after reload the php-fpm. Regards, Hristo S.Hello, from two days I have strange problem with this param mbstring.internal_encoding on nginx and php-fpm. I use php version 5.4.20 and when I setting mbstring.internal_encoding I have a problem with mcrypt. NOTICE: PHP message: PHP Warning: mcrypt_generic_init(): Iv size incorrect; supplied length: 12, needed: 8 in file.php I setup php.ini file: zend.multibyte = On default_mimetype = "text/html" default_charset = "UTF-8" mbstring.internal_encoding = UTF-8 and here is function:85 private function decrypt($blob) 86 { 87 $deckey = $_SESSION['key']; 88 $realkey = sha1($deckey, true); 89 $rawblob = hex2bin($blob); /* binaryblob */90 $td =mcrypt_module_open($this->CIPHER, "", MCRYPT_MODE_CFB, "");91 $iv = mb_substr($rawblob, 0,mcrypt_enc_get_iv_size($td)); /* IV */92 if (mb_strlen($iv) <mcrypt_enc_get_iv_size($td)) return FALSE;93 $ct = mb_substr($rawblob,mcrypt_enc_get_iv_size($td)); /* CipherText */94 ---> mcrypt_generic_init($td, $realkey, $iv); 95 $unblob = mdecrypt_generic($td, $ct); 96 mcrypt_generic_deinit($td); 97 $pt = mb_substr($unblob, 20); 98 $check = mb_substr($unblob, 0, 20); 99 if ($check != sha1($pt, true)) 100 { 101 return FALSE; 102 } else { 103 return $pt; 104 } 105 }The same code with the same config options is worked fine with apache httpd. Any one can give me a little help ? Thanks Regards, Hristo S.