关于php的打包 解包 Phar

最近用php连接hive,找到了php-thrift-sql,发现readme里面有一句:
第一次接触是韩老大的创建swooole打包文章

php -c php.ini build.php

因为php.ini中phar.readonly默认是on的,而我们这里需要解包打包使用,所以要配置如下

[Phar]
; http://php.net/phar.readonly
phar.readonly = Off

; http://php.net/phar.require-hash
;phar.require_hash = On

;phar.cache_list =

我们看代码里有一个ThriftSQL.phar,想知道使用应该要看看源码。那么怎么解包呢?

<?php
$phar =new Phar("./ThriftSQL.phar");
$re=$phar->extractTo("Thrift-origin");
var_dump($re);

解包正确的话会返回true,这样路径下会多一个Thrift-origin的文件,

php returned.php 
bool(true)
root@tongbo:/home/tb/tmpdown# ls
ci_3.1.30  ci.zip  php-thrift-sql  returned.php  Thrift-origin  ThriftSQL.phar
root@tongbo:/home/tb/tmpdown# 

进入到Thrift-origin里面就可以看具体的php代码了。


差的很多
每一个真实现在都是你曾经幻想未来

iamtb.cn

1.5k 声望
80 粉丝
0 条评论
推荐阅读
结合php xdebug webGrind一图查看调用链路及性能(适合老项目梳理与维护)
由于近期维护老项目,各种factory类,各种parent嵌parent。各种abstract extends,而且依赖项目外的许多common和中间件等。IDE内无法直接跳转,而且急需缕清方法的调用链路。调研后有了以下组件的组合。此文不涉...

牙小木木阅读 873

初学后端,如何做好表结构设计?
这篇文章介绍了设计数据库表结构应该考虑的4个方面,还有优雅设计的6个原则,举了一个例子分享了我的设计思路,为了提高性能我们也要从多方面考虑缓存问题。

王中阳Go4阅读 1.8k评论 2

封面图
一分钟搞明白!快速掌握 Go WebAssembly
最近因为各种奇怪的原因,更多的接触到了 WebAssembly。虽然之前很多博客也翻过写过各种文章,但总感觉欠些味道。于是今天梳理了一版,和大家一起展开学习。

煎鱼4阅读 2.2k

Laravel入门及实践,快速上手ThinkSNS+二次开发
【摘要】自从ThinkSNS+不使用ThinkPHP框架而使用Laravel框架之后,很多人都说技术门槛抬高了,其实你与TS+的距离仅仅只是学习一个新框架而已,所以,我们今天来说说Laravel的入门。

ThinkSNS1阅读 2.5k

我让chatGPT用PHP写一个MVC框架,不仅写出来,还能跑!
没想到写出来的框架确实挺简单的,但是又没觉得哪里不对,于是我尝试把这个框架放到服务器试试能不能跑起来,最后还真的可以跑起来,为了让大家能够看到这个框架的演示,我直接爬一个热搜,然后便于展示数据。

TANKING1阅读 1.7k

封面图
开发一个全网搜索引擎的大致流程
由于对搜索引擎技术很感兴趣,便开始尝试开发一个搜索引擎。在参考了网上有限的资料后,加上自己钻研,最终开发出了一个小型的全网搜索引擎,底部有项目地址和搜索测试图片。

会飞的鸟1阅读 5.7k评论 1

快速上手 Go CGO,掌握在 Go 里写 C!
大家好,我是煎鱼。最近因为各种奇怪的原因,接触到了 Go 特色之一 CGO。这方面的相关内容也相对少一些,给大家抛砖引玉。毕竟很多跨语言调用,还是会依赖 CGO 这个特性。希望大家在真正要用时有个前置知识垫肚子...

煎鱼1阅读 1.4k

iamtb.cn

1.5k 声望
80 粉丝
宣传栏