【问题标题】:Nette phar boot fileNette phar 引导文件
【发布时间】:2017-04-11 10:14:50
【问题描述】:

我正在尝试创建PHP 框架Nette 2.4 的单文件版本。我使用以下代码创建了一个 phar 文件:

<?php
$phar = new Phar('nette.phar');
$phar->buildFromDirectory(__DIR__ . '/../vendor/nette');
$phar->setStub("<?php
    require 'phar://' . __FILE__ . '/loader.php';
    __HALT_COMPILER();");
$phar->compressFiles(Phar::GZ);

一切正常,文件已创建。如果我尝试使用这个压缩版本:

// bootstrap.php
<?php
require __DIR__ . '/nette.phar';
...

发生错误:

Warning: require(phar://C:\wamp64\www\app\nette.phar/loader.php): failed to open stream: phar error: &quot;loader.php&quot; is not a file in phar &quot;C:/wamp64/www/app/nette.phar&quot; in C:\wamp64\www\app\nette.phar on line 2

所以,加载了单文件版本,但是没有启动文件loader.php。有谁知道错误在哪里?谢谢大家的建议!

【问题讨论】:

  • 你确定有loader.php吗?如果你通过 composer 安装了 nette,它应该在 vendor/nette/nette/Nette/Framework.php

标签: php phar nette


【解决方案1】:

您无法从通过 Composer 下载的 Nette 创建 .phar。它没有一些必要的文件(例如您的 Loader.php)。

如果要创建 .phar,请从 https://nette.org/en/download 下载官方 .zip 并从文件夹 ./Nette 创建 .phar。

__

顺便说一句,您不需要自己创建 .phar,您可以在文件夹 Nette-minified 的 .zip 文件中找到它

【讨论】:

    猜你喜欢
    • 2012-10-22
    • 1970-01-01
    • 2013-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 2015-03-06
    相关资源
    最近更新 更多