1

I am getting the following error:

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20121212/mcrypt.so' - /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /usr/lib/php/extensions/no-debug-non-zts-20121212/mcrypt.so)

Does mcrypt require glibc 2.14?

We are running CentOS 6.4 (latest stable version of CentOS) and it comes with glibc 2.12 (can't really upgrade glibc as being a core part of OS, changing it will likely break lots of stuff)

How do I make my PHP 5.5.4 run mcsypt under these circumstances?

Current configuration (phpinfo output) is here.

4

3 回答 3

3

我在我的 VPS 开发服务器上安装 mcrypt 时也遇到了问题,所以我想我会发布我的解决方案,希望它对某人有所帮助。我正在运行 Centos OS 6.5 并已使用 Webtatic EL yum 存储库将 PHP 升级到 5.5.13。https://webtatic.com/packages/php55/

首先 shh 进入你的服务器

ssh admin@domain.com

最初我试图做(这不起作用):

yum update
yum install php-mcrypt

然后,当我查看 php -v 并意识到 php-common 冲突时,我意识到了我的错误,因为上面的代码试图从 5.3 加载依赖项。

然后我执行了以下正确的命令:

rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
yum update
yum install php55w-mcrypt
service httpd restart

这对我来说非常有效。

我在研究这个问题时还读到,有些人确实必须通过添加以下行手动将扩展名添加到他们的 .ini 文件中,但我不必这样做。

extension=mcrypt.so

您可以通过查看 phpinfo() 找到 php.ini 文件的位置;并查看它正在加载哪个配置。对我来说,正在加载以下 ini 文件:

/etc/php.ini
/etc/php.d/mcrypt.ini
/var/www/vhosts/system/domain.com/etc/php.ini

如果安装成功,那么当你 echo phpinfo(); 时你会看到扩展名。

php 信息中的 mcrypt

于 2014-08-06T15:53:08.863 回答
2

尝试使用 yum 安装 php-mcrypt。这应该会引入您运行它所需的任何其他库。

yum install php-mcrypt
于 2013-09-27T15:41:06.473 回答
0

根据您的更新,您似乎正在尝试使用从另一个 PHP 源构建的 MCrypt 扩展,该 PHP 源由更新的 GLIBC 库创建。我能看到的唯一正确的解决方案如下:

在继续之前,您首先需要确保已安装 libmcrypt、libmcrypt-devel 和 mcrypt。检查您的 CentOS 存储库。

  1. 从http://php.net下载 PHP 源代码
  2. 解压下载的源tar -zxf php-5.5.4.tar.gz
  3. cd 进入源码cd php-5.4.4
  4. 复制您当前的./configure字符串。整个东西!
  5. 添加对 Mcrypt 的支持--with-mcrypt=/usr并运行新的配置命令
  6. 制作 && 制作安装
  7. 重启 Apache 和 PHP-FPM

这将保留您当前的配置,就像 CentOS 构建它一样,但您希望拥有 MCrypt 的额外支持。完成此操作后,您无需在 php.ini 文件中启用 MCrypt 扩展,因为它将内置到 PHP 本身中,并且现在会自动为您加载。

如有疑问,您还可以在此处阅读安装http://us1.php.net/manual/en/mcrypt.installation.php

于 2013-09-27T15:36:05.940 回答