我正在尝试创建PHP框架nette2.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: "loader.php" is not a file in phar "C:/wamp64/www/app/nette.phar" in C:\wamp64\www\app\nette.phar on line 2因此,单文件版本是加载的,但没有启动文件loader.php.有人知道哪里有错误吗?谢谢你的建议!
发布于 2016-11-29 06:08:08
您不能从通过Composer下载的Nette创建.phar。它没有一些必要的文件(例如,您的Loader.php)。
如果要创建.phar,请从https://nette.org/en/download下载正式的.zip,从文件夹./Nette创建.phar。
__
另外,您不需要自己创建.phar,您可以在文件夹Nette-minified中的.zip文件中找到它
https://stackoverflow.com/questions/40831624
复制相似问题