windows
当运行php的服务器端缺少libmcrypt.dll时使用函数mcrypt_module_open进行解密会出现此错误。
在服务器上做如下设置可解决。
到网上下载一个php的mcrypt模块安装包,只需要libmcrypt.dll文件即可
1.将libmcrypt.dll复制到system32目录或php安装目录下的extensions目录下
2.将libmcrypt.dll复制到apache安装目录的bin目录下
3.到php安装目录下找到php.ini文件,打开它
4.找到; Directory in which the loadable extensions (modules) reside.
extension_dir = “./”
这两行,要使extension_dir指向的目录下能找到libmcrypt.dll,或系统path下有libmcrypt.dll
5.找到;Windows Extensions 项下面的;extension=php_mcrypt.dll这一行和;extension=php_iconv.dll这两行
6.去掉;extension=php_mcrypt.dll前面的分号和;extension=php_iconv.dll前面的分号
7.到apache安装目录下找到php.ini文件,打开它
8.找到; Directory in which the loadable extensions (modules) reside.
extension_dir = “./”
这两行,要使extension_dir指向的目录下能找到libmcrypt.dll,或系统path下有libmcrypt.dll
9.找到;Windows Extensions 项下面的;extension=php_mcrypt.dll这一行和;extension=php_iconv.dll这两行
10.去掉;extension=php_mcrypt.dll前面的分号和;extension=php_iconv.dll前面的分号
以上由smartdp原创。
linux
显示
Call to undefined function: mcrypt_module_open()
的错误
原因:缺少
libmcrypt-2.5.7.tar.gz
tar -zxvf libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
./configure –prefix=/usr/local/libmcrypt
make
make check
make install
成功后在进入
php
./configure –prefix=/usr/local/php –with-apxs2=/usr/local/httpd/bin/apxs –with-gd=/usr/local/gd –enable-gd –enable-gd-native-ttf –with-jpeg-dir=/usr/local/jpeg6 –with-png=/usr/local/lib –with-ttf –with-zlib=/usr/local/zlib –with-freetype-dir=/usr/local/freetype –enable-magic-quotes –with-mysql=/usr/local/mysql –with-mysql-sock=/usr/local/mysql/tmp/mysql.sock –with-iconv –with-mbstring –enable-mbstring –enable-track-vars –enable-force-cgi-redirect –enable-ftp –with-config-file-path=/usr/local/httpd/conf –with-pear=/usr/local/php/pear –with-mcrypt=/usr/local/libmcrypt
配置
php
make
make install
重新启动服务器