关于一些php扩展编译安装

 每日运维   2019-08-30 11:04   85 人阅读  0 条评论

一、安装mcrypt扩展

cd /usr/local/src/
tar -zvxf php-5.5.25.tar.gz
cd php-5.5.25/ext/mcrypt/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install

二、安装mysqli扩展

/usr/local/php/bin/phpize
./configure --prefix=/usr/local/mysqli --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/local/mysql/bin/mysql_config
make && make install

三、安装phpredis扩展

cd /usr/local/src/
tar -zxvf php-5.3.22.tar.gz
cp -r phpredis-master php-5.3.22/ext/
cd php-5.3.22/ext/phpredis-master/
/usr/local/php/bin/phpize
./configure  --with-php-config=/usr/local/php/bin/php-config
make  &&  make install

四、安装soap扩展

cd /usr/local/src/
tar -zxvf php-5.3.22.tar.gz
cd php-5.3.22/ext/soap/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --enable-soap
make && make install

五、安装amqp扩展

cd /usr/local/src/
tar -zvxf rabbitmq-c.tar.gz
cd rabbitmq-c
./configure
make && make install
cd ..
tar -zvxf amqp-1.0.3.tgz
cd amqp-1.0.3
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-amqp
make && make install

六、安装gearman及php扩展

先介绍安装Gearman

1、先安装依赖库

yum install -y boost-devel gperf libevent-devel libuuid-devel

2、下载Gearman

 wget https://launchpad.net/gearmand/1.2/1.1.12/+download/gearmand-1.1.12.tar.gz

解压:

tar zxf gearmand-1.1.12.tar.gz

3、配置Gearman

cd gearmand-1.1.12
./configure

4、编译 Gearman

make

...


CXX libtest/gearmand_hostile_gearmand-cpu.o

CXXLD gearmand/hostile_gearmand

libgearman-server/.libs/libgearman-server.a(libgearman_server_libgearman_server_la-gearmand_con.o): In function `gearmand_con_free':

/opt/gearmand-1.1.12/libgearman-server/gearmand_con.cc:677: undefined reference to `event_initialized'

collect2: ld returned 1 exit status

make[1]: *** [gearmand/hostile_gearmand] Error 1

make[1]: Leaving directory `/opt/gearmand-1.1.12'

make: *** [all] Error 2


如果出现上面错误,两种情况

 1.libevent版本太低

 删除老版本

# rpm -qa|grep libevent(查看安装的老版本)
# rpm -e --allmatches --nodeps libevent-1.4.13-4.el6.x86_64 libevent-devel-1.4.13-4.el6.x86_64 (卸载老版本)
# ls -al /usr/lib | grep libevent (查看还残留没)

 安装:libevent-2.0.21-stable

# wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
# tar -zxvf libevent-2.0.21-stable.tar.gz
# cd libevent-2.0.21-stable
# ./configure --prefix=/usr && make && make install

 2.查找mysqlclient 库文件所在目录

 公司mysql库文件一般在/usr/local/mysql/lib/目录下

 在/usr/lib 目录下连两个软链接:

# ln -s /usr/local/mysql/lib/libmysqlclient.a /usr/lib/libmysqlclient.a
# ln -s /usr/local/mysql/lib/libmysqlclient_r.a /usr/lib/libmysqlclient_r.a

再次编译安装:

# make
# make install

随意进入其他目录执行gearman,检查安装是否成功:

#gearman

image.png

出现上面显示则Gearman安装成功


启动与停止 Gearman 服务:

1. 启动 Gearman

# gearmand -d --log-file=/data/logs/gearman/logs/gearmand.log

log-file 参数指定日志文件。

出现:gearmand: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory

解决办法:

ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18

2. 停止 Gearman

# gearadmin --shutdown

使用Gearman的PHP扩展环境

1、下载

gearman-1.1.2.tgz(注意,这个 gearman-1.1.2.tgz 与前面的 gearmand-1.1.12.tar.gz 不同):

# wget http://pecl.php.net/get/gearman-1.1.2.tgz

2、解压

tar -xf gearman-1.1.2.tgz

3、配置

# cd gearman-1.1.2
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config

4、编译安装

# make
# make install

5、在php.ini文件中加入Gearman配置

# vim /usr/local/php/etc/php.ini

image.png

6、测试

打印Gearman版本

# vim test.php
<?php
print gearman_version() . "\n";
?>
/usr/local/php/bin/php test.php

image.png

出现上述结果即安装成功

本文地址:https://linux365.cn/post/13.html
版权声明:本文为原创文章,版权归 每日运维 所有,欢迎分享本文,转载请保留出处!

评论已关闭!