PHP扩展库安装遇到的问题总结

首先来说明下遇到的问题,公司用php做游戏服务器开发语言,当然还用了php传说中不擅长的长连接(个人觉得开发效率高于机器成本,现在分布式网络集群时代,没必要省那么点钱),我们涉及到php5.3版本升级到5.6的时候,有的php扩展不能用了,蛋疼;


涉及到的模块有libevent,对,就是它,这是干吗用的呢?应为我们是长连接,必然是高并发的io密集型应用程序,所以,用libevent做io事件处理模块,性能和效率提高是指数级别的,所以,这个模块一定要安装的(研究wokerman的小伙伴自己去官网看吧,那个社区很健全的);


废话这么多,记录笔记是为了以后自己看,简明比较好;

1:卸载就的模块不干净(我原来服务器安装的是5.3版本的php,现在新项目打算升级到5.6,不用7以上的版本,是怕除了问题没地方哭);

解决办法:卸载php rpm -e 先 rpm -qa 找出所有 //这方法卸载不干净,得把配置文件一块移除才行

2:安装目录在哪里呢?好多时候我们编译安装软件的时候,习惯./configure,然后参数都用的默认的,这个习惯不好,在做项目管理的时候,特别在做自动化运维管理的时候,我们最好把一些基础的配置信息整理下,方便我们日后查问题,例如:日志放到哪里,扩展模块放哪里,这些基础的往往让我们日后抓狂(为什么呢?设想下,系统安装了默认的nginx,你自己部署服务器的时候再次安装了,遇到问题查找时候潜意识的看老的nginx日志目录,当然你看不到任何信息,你会纠结,为嘛我没有报错日志,是哪出的问题呢?吃一堑长一智,自己蹲墙角哭去吧);言归正传,遇到以上问题,自然收索文件是linux使用者必须掌握的基础技能,自己去搜索吧;


3:安装目录一般在 /usr/lib64/php/modues
配置文件在/etc/php.d/扩展配置echo extension=libevent.so > /etc/php.d/libevent.ini

在这里我遇到个问题,就是libevent库依赖socket扩展库,还有就是编译的时候socket库必须在libevent库前加载,可以在libevent库模块配置文件前加上socket库就好了,当然了,你的socket库的配置文件里需要注释掉,不然会编译报错(一个模块只能被加载一次的意思);



伯来一些方法



查看PHP版本:

php -v
 
 
  • 1
  • 1

查看指定PHP版本:

/usr/local/php/bin/php -v
 
 
  • 1
  • 1

查看PHP已安装的扩展

php -m
 
 
  • 1
  • 1

查看服务器上某个版本的PHP已安装的扩展

/usr/local/php/bin/php -m
 
 
  • 1
  • 1

查看php.ini的位置

/usr/local/php/bin/php --ini

安装扩展

方法一:使用yum命令安装

如果PHP是通过yum命令安装的,则扩展也可以通过yum安装 
依次执行以下三步,中间要求输入内容的都执行“回车”:

1、命令行运行yum install  libevent-devel
2、命令行运行pecl install channel://pecl.php.net/libevent-0.1.0
3、命令行运行echo extension=libevent.so > /etc/php.d/libevent.ini
 
 
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

以上步骤中,需要安装pecl,如果没有,以下为安装方法:

    //打开对应安装版本目录
cd /usr/local/php/bin/
    //curl下载 
curl -o go-pear.php http://pear.php.net/go-pear.phar
    //安装
php go-pear.php
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

方法二:phpize安装

    //下载libevent扩展文件压缩包(在当前系统哪个目录下载随意)
~# wget http://pecl.php.net/get/libevent-0.1.0.tgz
    //解压文件
~# tar -zxvf libevent-0.1.0.tgz
    //进入源码目录
~# cd libevent-0.1.0/
    //运行phpize命令,写全phpize的路径
~# /usr/local/php/bin/phpize
    //运行configure命令,配置时 要将php-config的路径附上
~# ./configure --with-php-config=/usr/local/php/bin/php-config
    //运行make命令
~# make
    //测试编译安装
~# make test
    //正式编译安装
~# sudo make install
    //修改php.ini,结尾加入:extension=libevent.so
    //重启对应的php-fpm



常用的扩展库

yum install -y php php-JsonSchema  php-mysqli php-cli php-process php-devel php-fpm php-gd php-mysql php-odbc php-mcrypt php-pear php-xml libevent-devel php-pecl-memcache



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值