【问题标题】:Building single-file executables with PHP / PHAR使用 PHP / PHAR 构建单文件可执行文件
【发布时间】:2012-06-18 19:58:24
【问题描述】:

我想创建一些 PHP cli 应用程序的单文件可执行文件,它应该驻留在例如。 “/usr/local/bin” 打包为 PHAR 之后。这已经很好用了,但是我有点困惑:

看来,在创建目标文件时需要具有“.phar”扩展名。当我想创建一个不带扩展名的phar new Phar('/usr/local/bin/app', ...) 时,会抛出异常:

Fatal error: Uncaught exception 'UnexpectedValueException' with message 
'Cannot create phar '/usr/local/bin/app', file extension (or combination) not 
recognised' in /Users/harald/... on line ...

但是:当我使用“.phar”扩展名创建它并在创建后重命名它时,一切似乎都正常。我想知道为什么会这样,我在创建时需要扩展名,以及在创建文件后重命名文件时是否有任何问题?

【问题讨论】:

    标签: php phar


    【解决方案1】:

    我只是简单地使用了 Phar,重命名扩展对我来说似乎没有问题……但这只是为了简单地打包一些类以包含在其他项目中。

    【讨论】:

    • 经过彻底测试,我得出结论,重命名包确实没有问题。似乎只有 PHAR 扩展需要后缀来检测应该创建什么样的包。谢谢!
    【解决方案2】:

    您可以将 php 的 shebang (#!/usr/bin/php) 添加到存根(使用 setStub)的开头,以使您的 phar 可执行。

    更多信息请见How to make an executable phar?

    【讨论】:

      猜你喜欢
      • 2018-01-20
      • 2013-02-20
      • 1970-01-01
      • 2010-11-11
      • 1970-01-01
      • 2019-09-11
      • 2017-11-12
      • 2013-08-20
      • 2013-11-16
      相关资源
      最近更新 更多