Я пытаюсь создать однофайловую версию PHP framework 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: "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 нет. Кто-нибудь знает, где ошибка? Спасибо за все предложения!
vendor/nette/nette/Nette/Framework.php
. - person Jan Tojnar   schedule 28.11.2016