如何使MCrypt和PHP在CentOS上协同工作

时间:2009-08-31 14:22:25

标签: php centos mcrypt

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

  • A)dl(mcrypt.so)或死('The Mcrypt 模块无法加载['。 $前缀。 'mcrypt的。' 。 PHP_SHLIB_SUFFIX。']');
  • B) Mcrypt模块无法加载[ mcrypt.so]

现在,我知道yum安装了mcrypt,但我不知道它所在的位置。我可以找到它吗?更重要的是,如何使用我的PHP系统安装最新安装的mcrypt。许多线程建议你重新编译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

感谢

2 个答案:

答案 0 :(得分: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

参考Install PHP 5.3 mcrypt extension on Centos 5.6

答案 1 :(得分:0)

好吧,我会假设有一些特殊原因你无法使用CentOS发行商提供的软件包(例如,参见here)。我不知道CentOS,但我可以为您提供最有可能导致成功构建和安装PHP的mcrypt模块的步骤的粗略路线图。

  1. 获取与您的发行版编译版本匹配的PHP源代码副本(CentOS可能有一个包)

  2. 安装PHP开发pacakges(可能类似“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应用程序一样:configuremakemake install