PHP扩展安装mcrypt 提示没有可用包(No package php-mcrypt available)
一、用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)的更多相关文章
- VMware中安装系统提示没有可用的映像(No image available)
今天新建了个虚机在装系统的时候提示"没有可用的映像" 之所以会出现这种情况是因为在新建虚机的时候选择的设置不同导致的,此处不管选第一项还是第二项都会虚机设置中多了一个软盘的配置项, ...
- ubuntu安装vim时提示 没有可用的软件包 vim,但是它被其它的软件包引用了 解决办法
ubuntu安装vim时提示 没有可用的软件包 vim-gtk3,但是它被其它的软件包引用了 解决办法 本人在ubuntu系统安装vim 输入 sudo apt-get install vim 提示 ...
- win2012R2安装net4.6.2失败提示“更新2919355包问题,或者win8.1、win10”的错误
前言 在客户的服务器电脑安装net4.6,提示安装失败错误,最后顺利成功安装net4.6. 一.错误 1.win2012R2安装net4.6.2失败提示“更新2919355包问题,或者win8.1.w ...
- unbuntu 安装python包提示E: Unable to locate package python-timeout
今天本想着在unbuntu环境下安装python的一个包,安装了几次都提示 E: Unable to locate package python-timeout 查阅了一些信息才知道,原来是一些软件源 ...
- windows中android SDK manager安装更新sdk很慢,或者出现Done loading packages后不动甚至没有任何可用包
出现问题: 1.windows中android SDK manager安装更新sdk很慢,或者出现Done loading packages后不动甚至没有任何可用包 2.Failed to fetch ...
- Centos 7下安装nginx,使用yum install nginx,提示没有可用的软件包
Centos 7下安装nginx,使用yum install nginx,提示没有可用的软件包. 18 (flaskApi) [root@67 flaskDemo]# yum -y install n ...
- redis和redis php扩展安装(转)
redis是一个内存数据库,比memcache支持更丰富的value类型,新浪微博就使用redis来做缓存. redis的源码安装 wget http://download.redis.io/redi ...
- centos php Zookeeper kafka扩展安装
如题,系统架构升级引入消息机制,php 安装还是挺麻烦的,网上各种文章有的东拼西凑这里记录下来做个备忘,有需要的同学可以自行参考安装亲测可行 1 zookeeper扩展安装 1.安装zookeeper ...
- linux-CentOS6.4安装Memcached+memcached扩展+安装memcache扩展+Memcache+mecached同步SESSION的几种方法
一.编译环境的准备 yum install gcc yum install gcc-c++ libstdc++-devel yum install zlib-devel 二.源代码包准备 wget ...
随机推荐
- Swift -Login(MVC 纯代码)
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Menlo; color: #000000 } span.s1 { } span.s2 { c ...
- MyEclipse部署web项目到Tomcat出现An internal error occurred during: "Launching on Tomcat 7.x"的问题
如果出现了上述的错误按照如下的3个步骤解决:1.首先关闭MyEclipse工作空间.2.然后删除工作空间下的文件."MyEclipse10\workspace.metadata.plugin ...
- Android中Context的理解及使用(一)——Context的作用
Context的作用:用来访问全局信息的接口,通过Context进行资源的访问. 1.Context获取字符串资源: public class MainActivity extends AppComp ...
- Mac Pro 编译安装 Redis 的 PHP 客户端 phpredis
1.去官网下载 redis 扩展源码包 https://github.com/phpredis/phpredis 2.安装 redis 扩展 /usr/local/src/mac-sdk/source ...
- .net一般处理程序(httphandler)实现文件下载功能
Handler文件代码如下: public class MDMExporterWeb : IHttpHandler { public void ProcessRequest(HttpContext c ...
- 让用VS2013编写的程序在XP中顺利运行
vs2013编译好的exe文件拖到虚拟机xp中无法运行,提示错误,从网上搜索.找答案. 参考:http://blog.csdn.net/asanscape/article/details/387526 ...
- ovirt配置为cas登录
准备工作 Ovirt测试机.CAS服务器.AD服务器 cas.crt -- CAS服务器的CA证书 allwinner.cer -- CAS服务器的证书颁发机构根证书 Ovirt测试机要求:apach ...
- xml编辑器
cstring转cha型方法在mfc中用过可行 int CstringToch(CString str, char *ch) { assert(ch); memset(ch, 0, sizeof(ch ...
- c语言socket通信
http://www.cnblogs.com/xudong-bupt/archive/2013/12/29/3483059.html
- too many open files 报错
看到这种某个程序或sock 打开文件数超出了限制,可以在/etc/security/limits.conf 这个文件中设置某个用户的可打开文件数. 例如: root hard nofile 16384 ...