2

我已经在 CentOS 上安装了 mcrypt(通过 yum),但是当我尝试在 A) 中进行 dl() 调用时,我在 B) 中收到了消息。

  • A) dl( mcrypt.so ) or die('无法加载 Mcrypt 模块 ['. $prefix . 'mcrypt.' . PHP_SHLIB_SUFFIX .']');
  • B) 无法加载 Mcrypt 模块 [ mcrypt.so ]

现在,我知道 yum 已经安装了 mcrypt,但我不知道它放的位置。我能找出来吗?更重要的是,我怎样才能让最新安装的 mcrypt 与我的 PHP 系统一起工作。许多线程建议您重新编译 PHP(例如: http://forums.theplanet.com/index.php?showtopic= 26527),但我不知道如何使用 CentOS 执行此操作。我也玩过我的图书馆路径无济于事。任何帮助将不胜感激。

设置

  • CentOS: Linux localhost.localdomain 2.6.18-128.1.6.el5 #1 SMP Wed Apr 1 09:10:25 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
  • mcrypt: mcrypt-2.6.8-1.el5.x86_64
  • PHP: php-5.1.6-23.2.el5_3.x86_64

谢谢蒂姆
_

4

2 回答 2

2

以 root 或超级用户身份登录到服务器并添加以下命令


yum install php53-devel
yum install libmcrypt-devel
yum install gcc
wget http://museum.php.net/php5/php-5.3.3.tar.bz2
tar xvjf php-5.3.3.tar.bz2
cd php-5.3.3/ext/mcrypt/
phpize
aclocal
./configure
make
make install
echo "extension=mcrypt.so" > /etc/php.d/mcrypt.ini
service httpd restart

参考在 Centos 5.6 上安装 PHP 5.3 mcrypt 扩展

于 2012-06-06T10:51:29.293 回答
0

好吧,我假设你不能使用 CentOS 分销商提供的软件包有一些特殊的原因(例如,请参见这里。)我不知道 CentOS,但我可以给你一个粗略的路线图最有可能导致成功构建和安装 PHP 的 mcrypt 模块的步骤。

  1. 获取与您的发行版的编译版本相匹配的 PHP 源代码的副本(CentOS 可能为此提供了一个软件包)

  2. 安装 PHP 开发包(可能类似于“php5-dev”)以及为您的发行版构建 PHP 的所有依赖项(在基于 Debian 的系统上,这是通过 完成apt-get build-dep php5的,不确定 CentOS 的正确咒语)。

  3. 从 PHP 源代码的顶级目录,cd 进入ext/mcrypt. 在这个目录中,运行phpize(它应该与前面提到的 CentOS 等价物一起安装php5-dev)。这将生成一个配置脚本ext/mcrypt,允许您将 mcrypt 构建为共享模块。

  4. 在同一ext/mcrypt目录中,发出./configure --help并查看可供您使用的选项。从这一点开始,它就和任何其他 Unix 应用程序一样:configure, make, make install.

于 2010-11-10T03:55:44.270 回答