如何利用phar-composer,打包php源码生成phar文件?
发布于 作者:苏南大叔 来源:程序如此灵动~大多数情况下,大家是用phar-composer
来构建基于composer
的phar
包的。
所以,在本篇文章中,苏南大叔就介绍一下,phar-composer
的构建命令。其它的命令,如果您有兴趣,可以到官方文档上面去查看。
前言
phar.readonly=off
本文成功执行的前提依然是php.ini
中的phar.readonly=off
。如果开启phar
的readonly
的话,本文所述内容,是不会成功的。大家请注意这一点。
打包当前目录
如果您自己的项目,是基于composer
的。并且需要打包成phar
文件。那么本条内容,就是您所需要的。我们需要在当前项目根目录下面,执行如下语句。
phar-composer build
但是这条语句顺利生成一个phar
文件的前提是:该目录使用composer
进行管理。也就是说:根目录下面应该有个composer.json。这个文件,我们可以通过下面命令生成。
composer init
这样的话,我们就符合这个phar-compser工具的执行条件了。事实上,代码还是我们的代码,仅仅多了个没有什么用途的composer.json文件而已。这个就免得我们大家再写个构建脚本了。还是挺容易的,推荐使用。如果您还是需要依赖包的话,您还可能需要下列命令。
composer install
记得写个index.php
文件在根目录下面,作为phar的存根文件。这个是默认零配置的。当然,如果你不喜欢使用index.php作为默认的存根文件的话,那么就可以还是使用传统的代码方式生成phar文件即可。
所以,正确完整的执行姿势是,其中的composer init
就一路回车好了。
composer init
composer install
phar-composer build
然后就你可以得到一个phar文件了,需要注意的是:请确保index.php存根文件存在即可。
通过名称打包某个composer库
这个命令就涉及composer的大本营,https://packagist.org 了,我们如果想打包某个库的话,例如aliyuncs/oss-sdk-php
,我们需要执行下面的命令。
phar-composer build aliyuncs/oss-sdk-php
这个命令没有什么当前目录的说法,在哪里执行,最终的phar文件就会默认生成在什么地方。
通过git地址打包phar
还是以上述需求为例,我们打包一下aliyun的oss库。
phar-composer build https://github.com/aliyun/aliyun-oss-php-sdk.git
这里需要注意的一点是:这里的git地址,似乎不能识别类似下面的这种地址。git@github.com:aliyun/aliyun-oss-php-sdk.git
。
通过命令行交互式打包
phar-composer
输入要打包的项目关键词,选择要打包的序号。
选择要打包的项目的版本。
打包
这里仅仅是演示作用,并不是说,这个打包好的phar一定能用。具体的还要看项目的源码情况,这个功能仅仅是用来打包的。
结论
在phar-composer
的git主页上面,还有很多phar-composer
的使用方法,大家感兴趣的话,可以去看看。这里,苏南大叔就不一一介绍了。毕竟,我们的需求也就是构建个phar
文件而已。您说,是吧?
更多有关php
的phar
的经验文章,请点击这里查看:
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。