在apache+PHP已有环境下安装mcrypt扩展
(2010-02-06 15:17:40)
标签:
it
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
到这里ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/下载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
重新启动服务器
(法二)
到这里ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/下载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
成功后
cd php-5.2.3/ext/mcrypt //到PHP安装源文件目录下
./configure --with-mcrypt=/usr/local/libmcrypt
(如果没有configure这个文件,需要用phpize生成configure和makefile这两文件)
make
cp ./modules/mcrypt.so
/usr/local/lib/ 或者
/usr/local/lib/php/extensions/
vi php.ini 加入extension=mcrypt.so
php -m //查看是否已加入此模块
重起APACHE.
分享:
喜欢
0
赠金笔
加载中,请稍候......
评论加载中,请稍候...
发评论
登录名: 密码: 找回密码 注册记住登录状态
昵 称:
评论并转载此博文
发评论
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。