如何在 CentOS 5.6 上构建缺失的 PHP 5.3 扩展

如何在 CentOS 5.6 上构建缺失的 PHP 5.3 扩展

我已全新安装 CentOS 5.6,并使用php53-*CentOS 存储库中的软件包安装了 PHP 5.3。具体来说,我已获得:

  • php53
  • php53-cli
  • php53-通用
  • php53-开发
  • php53-mysql
  • php53-pdo
  • php53-xml

但是,我还需要为我的应用程序安装mcryptapc扩展。 CentOS 有一个预构建的php-mcrypt包,但没有等效的php53-mcrypt。 APC 的安装需要pecl我通常会与php-pear包一起安装的(对于 5.1),但同样似乎没有包php53-pear

我该如何构建这些?

编辑 看起来该php-pear软件包可以与 配合使用php53,所以我设法正确安装了 APC。但我仍然遇到问题,mcrypt因为它无法通过 pecl 安装;它只是核心 PHP 构建的一部分。

答案1

您可以手动编译并安装 mcrypt 扩展。这是我在 CentOS 5.6 VPS 中所做的:

首先安装一些必需的软件包:

yum install php53-devel libmcrypt-devel gcc gcc-c++

然后从php.net下载php 5.3.6源代码并解压:

wget http://mx2.php.net/get/php-5.3.6.tar.bz2/from/us3.php.net/mirror
tar xvjf php-5.3.6.tar.bz2

(请注意,下载链接将随着每个后续 PHP 版本而改变。)

进入mcrypt扩展源代码的目录并进行编译:

cd php-5.3.6/ext/mcrypt/
phpize
aclocal
./configure
make

然后安装:

make install

创建 PHP 配置文件/etc/php.d/mcrypt.ini包含:

extension=mcrypt.so

重新启动apache:

/etc/init.d/httpd restart

创建一个带有 phpinfo 的文件来检查扩展是否已加载:

<?php
phpinfo();
?>

答案2

关于 php-pear 包:

该问题应该通过 RHEL 来解决,以便在 CentOS 中得到解决,这里是关于该问题的错误报告: PHP53 缺少 php53-pear

通过安装旧版 php-pearyum install php-pear然后运行以下命令:

pear 升级 --force Console_Getopt
梨升级--强制梨
梨升级-全部

(这些命令似乎可以解决这个问题,它对拉布拉多特来自链接的错误报告并且它对我有用)

答案3

您还可以通过从以下位置添加 EPEL 存储库来获取 php53-mcrypt 和其他一些缺失的软件包http://fedoraproject.org/wiki/EPEL到您的系统。

答案4

从 redhad/fedora repo 安装 php53-mcrypt 版本 5,有一个 epl5 版本 :)

http://rpm.pbone.net/index.php3?stat=3&search=php53-mcrypt&srodzaj=3

相关内容