php程序打包成phar

Phar的php程序打包

如果开发过Java程序,肯定知道Jar文件(Jar是Java ARchive的缩写)。一个应用,包括所有的可执行、可访问的文件,都打包进了一个JAR文件里,使得部署过程十分简单。

PHAR (“Php ARchive”) 是PHP里类似于JAR的一种打包文件。如果使用的是 PHP 5.3 或更高版本,那么Phar后缀文件是默认开启支持的,你不需要任何其他的安装就可以使用它。

开启phar可创建

PHAR文件缺省状态是只读的,现在需要创建一个Phar文件,需要允许写入Phar文件,这需要修改一下 php.ini

phar.readonly = 0

现在,就可以把PHP应用打包成Phar文件了。

phar程序前置条件(注意点)

  1. !!!需是单一入口程序
  2. !!!php.ini 中的 phar.readonly 设为 Off 或者 0
  3. !!!程序里include引入php文件时 尽量用 __DIR__."path" 引入
  4. !!!静态资源不会被打包(js,css,jpg…..)

phar打包代码

$phar=new phar('app.phar');             //参数为要打包成的文件名
$phar->buildFromDirectory(__DIR__.'/','//.php$/');  //从哪个文件夹打包 参数1为程序根目录(最好用__DIR__等魔术常量)  参数2是正则表达式(选填)表示要打包文件的后缀
$phar->compressFiles(phar::GZ);        //压缩方式
$phar->stopBuffering();            //停止缓冲
$a=$phar->createDefaultStub('./a.php'); //程序入口文件
$phar->setStub($a);

phar使用

phar包可以像普通php文件一样被include 或 require

include_once 'app.phar';  //全部引入
include_once 'phar://app.phar/conf.php'; //引入单个文件

原文 

https://segmentfault.com/a/1190000022111380

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » php程序打包成phar

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址