title: php - Fatal error: Call to undefined function mcrypt_get_iv_size() in AppServ
body: <p>I found a problem when I use mcrypt_get_iv_size function via <a href="https://www.appserv.org/" rel="noreferrer">AppServ</a>.</p>
  
  <p>I try to find a topic that related to solved a problem.</p>
  
  <p>However, I try yo download libmcrypt.dll into symtem32 and edit php.ini by removing a comment from <code>;extension=php_mcrypt.dll</code> to <code>extension=php_mcrypt.dll</code>. Then restart apache.</p>
  
  <p>Unfortunately, after reload a page to see a result after modify.</p>
  
  <p>It still error as</p>
  
  <blockquote>
    <p><strong>Fatal error</strong>: Call to undefined function mcrypt_get_iv_size() in C:\AppServ\www\folder\index.php on line 36</p>
  </blockquote>
  
  <p>A function contains following:</p>
  
  <pre><code>class Encryption {
      var $skey     = "SuPerEncKey2010"; // you can change it
  
      public  function safe_b64encode($string) {
  
          $data = base64_encode($string);
          $data = str_replace(array('+','/','='),array('-','_',''),$data);
          return $data;
      }
  
      public function safe_b64decode($string) {
          $data = str_replace(array('-','_'),array('+','/'),$string);
          $mod4 = strlen($data) % 4;
          if ($mod4) {
              $data .= substr('====', $mod4);
          }
          return base64_decode($data);
      }
  
      public  function encode($value){
  
          if(!$value){return false;}
          $text = $value;
          $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
          $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
          $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $this-&gt;skey, $text, MCRYPT_MODE_ECB, $iv);
          return trim($this-&gt;safe_b64encode($crypttext)); 
      }
  
      public function decode($value){
  
          if(!$value){return false;}
          $crypttext = $this-&gt;safe_b64decode($value); 
          $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
          $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
          $decrypttext = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $this-&gt;skey, $crypttext, MCRYPT_MODE_ECB, $iv);
          return strtolower(trim($decrypttext));
      }
  }
  </code></pre>