如何让 MCrypt 与 PHP 在 CentOS 上协同工作

如何让 MCrypt 与 PHP 在 CentOS 上协同工作

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

  • A)dl(mcrypt.so)或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 2009 年 4 月 1 日星期三 09:10:25 EDT 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

谢谢蒂姆

答案1

您需要安装 libmcrypt 和 php-mcrypt 包。

答案2

您是否已检查过该线路

扩展=php_mcrypt.dll

在您的 php.ini 文件中没有被注释掉(以 ; 开头)

答案3

是的,我在使用 PHP 5.2.9 的 Centos 5.5 上安装 mcrypt 模块时遇到了问题。我发现,当我最终找到 x64 版本的 php-mcrypt 时,它将 mcrypt.so 文件安装在 /usr/lib64/php/modules/ 文件夹中,将鼠标悬停在我的 PHP.ini 文件中,它正在完全不同的地方寻找它的模块 /usr/local/lib/php/extensions/no-debug-non-zts-20060613/,因此将 mycrpt 文件夹复制到 /usr/local/lib/php/extensions/no-debug-non-zts-20060613/ 文件夹并将行 extension="mcrypt.so" 添加到我的 php.ini 文件夹顶部保存它并重新启动 apache 并且它工作了

相关内容