PHP系列 | 编译安装msgpack-php
<p><span style="font-size: 16px">Msgpack 是一个 PECL 扩展,此扩展提供用于与 MessagePack 序列化通信的 API。</span></p><p><span style="font-size: 16px">MessagePack 是一个基于二进制高效的对象序列化类库,可用于跨语言通信。它可以像JSON那样,在许多种语言之间交换结构对象;但是它比JSON更快速也更轻巧。</span></p>
<p><span style="font-size: 16px">下载</span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:bash;gutter:true;"><span style="font-size: 16px">wget https://github.com/msgpack/msgpack-php/archive/msgpack-2.0.3.tar.gz
</span></pre>
</div>
<p><span style="font-size: 16px">解压</span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:bash;gutter:true;"><span style="font-size: 16px">tar -zxvf msgpack-2.0.3.tar.gz
cd msgpack-php-msgpack-2.0.3/
</span></pre>
</div>
<p><span style="font-size: 16px"> 查看phpize文件路径</span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:bash;gutter:true;"><span style="font-size: 16px">$ whereis phpize
phpize: /usr/local/php-7.2.9/bin/phpize</span></pre>
</div>
<p><span style="font-size: 16px">从源代码编译 </span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:bash;gutter:true;"><span style="font-size: 16px">$./configure
$make && make install
</span></pre>
</div>
<p><span style="font-size: 16px"> 修改配置文件</span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:bash;gutter:true;"><span style="font-size: 16px">sudo vim /usr/local/php-7.2.9/etc/php.ini
// 增加以下扩展
extension=msgpack.so
</span></pre>
</div>
<p><span style="font-size: 16px"> 重启php-fpm 检查是否安装成功</span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:bash;gutter:true;"><span style="font-size: 16px">sudo systemctl restart php-fpm.service
</span></pre>
</div>
<p><span style="font-size: 16px"><img src="https://img2018.cnblogs.com/blog/1021265/201909/1021265-20190911134946823-744924166.png" alt=""></span></p>
<p> </p>
<p><span style="font-size: 16px"> 官方简单案例 msgpack-test.php</span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:php;gutter:true;"><span style="font-size: 16px"><?php
$data = array(0=>1,1=>2,2=>3);
$msg = msgpack_pack($data);
var_dump($data);
echo '----------------';
var_dump($msg);
$data = msgpack_unpack($msg);
var_dump($data);
</span></pre>
</div>
<p><span style="font-size: 16px"> 运行结果</span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:php;gutter:true;"><span style="font-size: 16px">array(3) {
=>
int(1)
=>
int(2)
=>
int(3)
}
----------------string(4) ""
array(3) {
=>
int(1)
=>
int(2)
=>
int(3)
}
</span></pre>
</div>
<p><span style="font-size: 16px"> </span></p>
</div>
<div id="MySignature" role="contentinfo">
<div>
<p>作者:Tinywan</p>
</div>
<div>
<p>出处:https://www.cnblogs.com/Tinywan</p>
</div>
<div>
<p>本文版权归作者和博客园共有。欢迎转载,但必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。</p>
</div>
<div>
<p>欢迎关注个人微信公众号,一起进步!扫描左方二维码即可</p>
</div><br><br>
来源:https://www.cnblogs.com/tinywan/p/11505854.html
頁:
[1]