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

Jon*_*han 4 php web-server centos

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

  • php53
  • php53-cli
  • php53-common
  • 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 构建的一部分。

MV.*_*MV. 5

您只能手动编译和安装 mcrypt 扩展。这是我在 CentOS 5.6 VPS 中所做的:

首先安装一些必需的包:

yum install php53-devel libmcrypt-devel gcc gcc-c++
Run Code Online (Sandbox Code Playgroud)

然后从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
Run Code Online (Sandbox Code Playgroud)

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

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

cd php-5.3.6/ext/mcrypt/
phpize
aclocal
./configure
make
Run Code Online (Sandbox Code Playgroud)

然后安装:

make install
Run Code Online (Sandbox Code Playgroud)

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

extension=mcrypt.so
Run Code Online (Sandbox Code Playgroud)

重启阿帕奇:

/etc/init.d/httpd restart
Run Code Online (Sandbox Code Playgroud)

使用 phpinfo 创建一个文件只是为了检查扩展是否已加载:

<?php
phpinfo();
?>
Run Code Online (Sandbox Code Playgroud)