一、用CentOS的朋友基本在安装软件的时候默认都会想到用yum安装省事省时而且不会有错不需要担心依赖问题。

php大部分的扩展都是可以再yum源里安装的,但是部分扩展是没有的,需要安装epel-release这个扩展更新包。

yum  install epel-release  //扩展包更新包
yum  update //更新yum源,这里有一个问题 update 和upgrade 有什么却别呢。这里补充下有的人知道就略过不知道的提高一下知识储备。update会更新kernel 但是upgrade不会。有朋友更新系统如果不需要更新内核就执行upgrade即可。
yum install libmcrypt libmcrypt-devel mcrypt mhash  就ok了

二、也可以编译安装,虽然麻烦,但是编译的好处也是很多的,而且这个过程也是一个运维人的必修课

http://www.sourceforge.net下载Libmcrypt,mhash,mcrypt安装包

libmcrypt(libmcrypt-2.5.8.tar.gz )、mcrypt(mcrypt-2.6.8.tar.gz )、  mhash(mhash-0.9.9.9.tar.gz );

1 .先安装Libmcrypt

#tar -zxvf libmcrypt-.tar.gz
#cd libmcrypt-
#./configure
#make
#make install 说明:libmcript默认安装在/usr/local

2.安装mhash

#tar -zxvf mhash-0.9.9.9.tar.gz
#cd mhash-0.9.9.9
#./configure
#make
#make install

3.安装mcrypt

#tar -zxvf mcrypt-.tar.gz
#cd mcrypt-
#LD_LIBRARY_PATH=/usr/local/lib ./configure
#make
#make install

三、在php中增加mcrypt的更新(动态加载编译)

实际上你做到上述的是远远不够的。无论你是yum安装上了还是编译装mcrypt 你在phpinfo里或者php -m 都还是看不到这个扩展,因为你还需要在php的配置文件里在配置下(我原来的php环境是yum安装的,所以php.ini的文件配置方式是不一样的。如果编译装的话 会有单独php.ini)。

下载php下的mcrypt扩展或者直接下载php的完整安装包(这里需要用到php的环境,所以需要去php的网站下载一个php的包用下,不论你的lamp环境是否yum安装)

http://cn.php.net/releases/ 网页下找到自己服务器的php版本,下载后tar解压(我的是php5.3.3)

进入ext/mcrypt文件夹

#这里要先装几个环境防止后面用到的东西可能没有,gcc是后面编译要用 php-devel是安装phpize这个命令用来动态扩展用的

[root@localhost ~]#yum install gcc php-devel -y
[root@localhost ~]# wget http://museum.php.net/php5/php-5.3.3.tar.gz
[root@localhost ~]# mv php-.tar.gz /usr/local/src
[root@localhost ~]# cd !$
[root@localhost src]# tar -zvxf php-.tar.gz
[root@localhost src]# cd php-/ext/mcrypt/

# 这里进入mcrypt后ls一下 看下这个目录的下的config文件数量,后面会有一个对比

[root@localhost mcrypt]#ls

执行phpize命令(phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块,上面已经安装)

[root@localhost mcrypt]# whereis phpize    //为了确定phpize存在
phpize: /usr/bin/phpize /usr/share/man/man1/phpize..gz
[root@localhost mcrypt]# phpize
Configuring for:
PHP Api Version:
Zend Module Api No:
Zend Extension Api No:   

执行完后,会发现当前目录下多了一些configure文件,最后执行php-config命令就基本完成了

执行以下命令,确保你的/usr/bin/php-config是存在的

[root@localhost mcrypt]# whereis php-config
php-config: /usr/bin/php-config /usr/share/man/man1/php-config..gz
[root@localhost mcrypt]# ./configure --with-php-config=/usr/bin/php-config

执行以下命令

[root@localhost mcrypt]# make && make install

最后的最后,会提示你如下,说明你大功告成了

Installing shared extensions:     /usr/lib64/php/modules/

顺便检查下/usr/lib64/php/modules/里的mrcypt.so扩展是否已经创建成功

然后的事就简单了,给你的php.ini添加一条extension=mcrypt.so

[root@localhost mcrypt]# cd /etc/php.d

创建一个mrcypt.ini文件

[root@localhost php.d]# echo 'extension=mcrypt.so' > mcrypt.ini

四、重启apache,查阅phpinfo,mcrypt模块扩展已经加载

PHP扩展安装mcrypt 提示没有可用包(No package php-mcrypt available)的更多相关文章

  1. VMware中安装系统提示没有可用的映像(No image available)

    今天新建了个虚机在装系统的时候提示"没有可用的映像" 之所以会出现这种情况是因为在新建虚机的时候选择的设置不同导致的,此处不管选第一项还是第二项都会虚机设置中多了一个软盘的配置项, ...

  2. ubuntu安装vim时提示 没有可用的软件包 vim,但是它被其它的软件包引用了 解决办法

    ubuntu安装vim时提示 没有可用的软件包 vim-gtk3,但是它被其它的软件包引用了 解决办法 本人在ubuntu系统安装vim  输入 sudo apt-get install vim 提示 ...

  3. win2012R2安装net4.6.2失败提示“更新2919355包问题,或者win8.1、win10”的错误

    前言 在客户的服务器电脑安装net4.6,提示安装失败错误,最后顺利成功安装net4.6. 一.错误 1.win2012R2安装net4.6.2失败提示“更新2919355包问题,或者win8.1.w ...

  4. unbuntu 安装python包提示E: Unable to locate package python-timeout

    今天本想着在unbuntu环境下安装python的一个包,安装了几次都提示 E: Unable to locate package python-timeout 查阅了一些信息才知道,原来是一些软件源 ...

  5. windows中android SDK manager安装更新sdk很慢,或者出现Done loading packages后不动甚至没有任何可用包

    出现问题: 1.windows中android SDK manager安装更新sdk很慢,或者出现Done loading packages后不动甚至没有任何可用包 2.Failed to fetch ...

  6. Centos 7下安装nginx,使用yum install nginx,提示没有可用的软件包

    Centos 7下安装nginx,使用yum install nginx,提示没有可用的软件包. 18 (flaskApi) [root@67 flaskDemo]# yum -y install n ...

  7. redis和redis php扩展安装(转)

    redis是一个内存数据库,比memcache支持更丰富的value类型,新浪微博就使用redis来做缓存. redis的源码安装 wget http://download.redis.io/redi ...

  8. centos php Zookeeper kafka扩展安装

    如题,系统架构升级引入消息机制,php 安装还是挺麻烦的,网上各种文章有的东拼西凑这里记录下来做个备忘,有需要的同学可以自行参考安装亲测可行 1 zookeeper扩展安装 1.安装zookeeper ...

  9. linux-CentOS6.4安装Memcached+memcached扩展+安装memcache扩展+Memcache+mecached同步SESSION的几种方法

    一.编译环境的准备 yum install gcc  yum install gcc-c++ libstdc++-devel  yum install zlib-devel 二.源代码包准备 wget ...

随机推荐

  1. 【原创】PageAdminCMS 前台SQL注入漏洞(3)

    之前根据公司的要求找了几个web程序的漏洞提交CNVVD,发现漏洞提交上去两个月了,CNVVD却没有任何回应,我提交的这几个漏洞却悄悄的修补掉了. 文章作者:rebeyond 受影响版本:V3.0 漏 ...

  2. BAYSY2 的LVDS引脚 笔记

    差分引脚标号说明: 'L' 代表该引脚属于差分引脚 'xx' 两位整型数,在每一 bank 的独特标记 'y' 表示正向 还是 反向,同时要注意输入输出方向 ‘#’ 0~3,代表 bank0~bank ...

  3. [.net core]简介(转)

    原文地址:https://docs.microsoft.com/zh-cn/dotnet/articles/core/ NET Core 是一个通用开发平台,由 Microsoft 和 GitHub  ...

  4. shell脚本学习第一课

    shell是一种程序设计语言,是访问操作系统内核的服务. Linux的shell种类常见的有: Bourne Shell(/usr/bin/sh或/bin/sh) Bourne Again Shell ...

  5. KMP学习之旅

    说起kmp就要从字符串的匹配说起,下面我们谈谈字符串的匹配 给定一个原字符串:bababababababababb,再给定一个模式串:bababb,求模式串是否在源字符串中出现 最简单的方法就是遍历源 ...

  6. HDOJ 1358

    Period Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  7. Virus.Win32.Virlock.b分析

    0x00 样本说明 分析样本是被0b500d25f645c0b25532c1e3c9741667的样本感染得到.感染前的文件是Tcpview.exe,一款windows网络连接查看工具. 感染前后文件 ...

  8. libvirt 网络手册(二):桥接网络

    原文:Bridged Network 在一个桥接网络里面,宿主机和虚拟机共享物理网卡.每一个虚拟机可以直接绑定任意可用的IPV4或IPV6局域网地址,就像一个物理机一样.桥接给libvirt网络提供最 ...

  9. dubbo实践

    最近公司准备重构内部服务模块,准备使用dubbo,故研究一下. 官方文档:http://alibaba.github.io/dubbo-doc-static/Home-zh.htm 1. 用maven ...

  10. angular.extend用法实例

      angular.extend:依次将第二个参数及后续的参数的第一层属性(不管是简单属性还是对象)拷贝赋给第一个参数的第一层属性,即如果是对象,则是引用的是同一个对象,并返回第一个参数对象. 实例一 ...