Problem with mbstring.internal_encoding, mcrypt and php-fpm

From: Date: Mon, 23 Sep 2013 12:23:39 +0000
Subject: Problem with mbstring.internal_encoding, mcrypt and php-fpm
Groups: php.general 
Request: Send a blank email to php-general+get-322155@lists.php.net to get a copy of this message
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); /* binary blob */
 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.

« previous php.general (#322155) next »