2011-07-19 09:32
浏览 68

使用PHP / PHAR构建单文件可执行文件

I want to create a single-file executable of some PHP cli application, which should reside under eg. "/usr/local/bin" after it's packaged up as PHAR. This works quite well already, however there is something i am a little confused with:

It seems, that on creation the destination file requires to have the ".phar" extension. when i want to create a phar without extension new Phar('/usr/local/bin/app', ...) an exception is thrown:

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 ...

However: when i create it with '.phar' extension and rename it after creation, everything seems to work. I wonder why that is, that i need the extension on create-time and if i might have any issues when i rename the file after it's creation?

图片转代码服务由CSDN问答提供 功能建议

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

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

'无法创建phar'/ usr / local / bin / app',文件扩展名(或组合)未在/ Users / harald / ...中
recognised'  line ... 

但是:当我使用'.phar'扩展创建它并在创建后重命名它时,一切似乎都有效。 我想知道为什么会这样,我需要在创建时间进行扩展,如果我在创建文件后重命名该文件可能有任何问题?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

  • dongshen9058 2011-07-19 10:17

    I have only briefly used Phar, and renaming the extension for me seem to present no issues... but it has only been for simply packaging up some classes to be included in other projects.

    解决 无用
    打赏 举报

相关推荐 更多相似问题