Как получить доступ к внешним файлам из архивов Phar?

Мне нужно разместить файл конфигурации из phar моего веб-приложения. Мне нужно смонтировать его. В моем файле заглушки я попробовал:

<?php
try {
    Phar::mount('sites/site.php', __DIR__.'/../sites/site.php');
} catch (PharException $e) {
    print_r($e);
};
Phar::mapPhar();
include '../app.phar';

однако, я получил сообщение об ошибке "Mounting of sites/site.php to D:\(...)\public/../sites/site.php failed". Я пробовал различные стили пути к файлу без каких-либо успехов. Что с этим не так?

Я использую box2 для ubild phar файлов. Для создания файла phar требуется много времени. Есть ли способ сделать это быстрее?

Сообщение об ошибке также нечеткое. Любой способ получить лучшее сообщение?

Ответ 1

Вы пытались использовать внутренний phar uri в качестве точки монтирования, например:

 Phar::mount('phar://sites/site.php', __DIR__.'/../sites/site.php');

Также я не знаю, может ли проблема быть вызвана поддиректором sites, вы пробовали:

 Phar::mount('site.php', __DIR__.'/../sites/site.php');