особенности работы PHAR >>>

Exilibris

Новичок
Приветствую!

Задача заключается в необходимости использования PHAR. В документации упоминается о возможности использования Stub в качестве bootstrap. Иными словами, мне нужно стабильное выполнение некоторого куска кода при обращении к phar-файлу.

Проблема в следующем:
Шаг 1. В файле index.php -> Создание test.phar со значением $phar['index.php']='Hello';
Шаг 2. В файле include.php -> Подключение test.phar: include('test.phar');

Результат исполнения include.php:

Hello World

Все замечательно... НО, обновим страницу [F5] и получаем выброс исключения:
Fatal error: Uncaught exception 'PharException' with message '__HALT_COMPILER(); must be declared in a phar
------------

P.S. Не имеет значения использование __HALT_COMPILER(); ни в $phar['index.php'], ни через ручное переопределение Stub'а.

Код:
index.php
PHP:
<?php
    $phar = new Phar('test.phar');
    $phar['index.php'] = 'Hello World';
?>
include.php
PHP:
<?php
    include('test.phar');
?>
Ребят, если не трудно, проверьте ошибку на возможность повторения на своих системах.

Жду ваших ответов.

С уважением,
Сергей.
 

Exilibris

Новичок
Нашел решение проблемы: дело в eAccelerator, кеширование phar-архива не позволяет использовать Stub, на что вываливается Exception.

Отключение eAccelerator'а решило проблему.

При использовании APC работает корректно.
 
Сверху