关于编译安装msgpack-php的方法

Msgpack 是一个 PECL 扩展,此扩展提供用于与 MessagePack 序列化通信的 API。

MessagePack 是一个基于二进制高效的对象序列化类库,可用于跨语言通信。它可以像JSON那样,在许多种语言之间交换结构对象;但是它比JSON更快速也更轻巧。

下载

wget https://github.com/msgpack/msgpack-php/archive/msgpack-2.0.3.tar.gz

解压

tar -zxvf msgpack-2.0.3.tar.gz

cd msgpack-php-msgpack-2.0.3/

查看phpize文件路径

$ whereis phpize

phpize: /usr/local/php-7.2.9/bin/phpize

从源代码编译 

$./configure

$make && make install

修改配置文件

sudo vim /usr/local/php-7.2.9/etc/php.ini

// 增加以下扩展

extension=msgpack.so

重启php-fpm 检查是否安装成功

sudo systemctl restart php-fpm.service

关于编译安装msgpack-php的方法

官方简单案例 msgpack-test.php

  1. <?php
  2. $data = array(0=>1,1=>2,2=>3);
  3. $msg = msgpack_pack($data);
  4. var_dump($data);
  5. echo '----------------';
  6. var_dump($msg);
  7. $data = msgpack_unpack($msg);
  8. var_dump($data);

运行结果

  1. array(3) {
  2. [0]=>
  3. int(1)
  4. [1]=>
  5. int(2)
  6. [2]=>
  7. int(3)
  8. }
  9. ----------------string(4) ""
  10. array(3) {
  11. [0]=>
  12. int(1)
  13. [1]=>
  14. int(2)
  15. [2]=>
  16. int(3)
  17. }