您的位置:首页 > 编程语言 > PHP开发

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

2017-02-13 16:13 507 查看
首先来说明下遇到的问题,公司用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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: