Внутреннее повреждение PHAR (несоответствие crc32) во время обработки процесса

Я разработчик ко-работник библиотека. Я добавляю функцию с исполняемым файлом phar в качестве приложения демонов. И обнаружил странное поведение с phar и процессом разветвления undex linux. Каждый раз, когда в главном процессе более 1 ребенка я получаю такую ​​ошибку

include(phar:///opt/www/worker.phar/vendor/path/to/file.php):
failed to open stream: phar error: internal corruption of phar

"/opt/www/worker.phar" (crc32 mismatch on file "vendor/path/to/file.php")
in `phar:///opt/www/worker.phar/vendor/composer/ClassLoader.php` line 412

Заглушка (оригинальная заглушка здесь) фара выглядит как

#!/usr/bin/env php
<?php
Phar::mapPhar('worker.phar');
require_once 'phar://worker.phar/vendor/autoload.php';

//Execute next going fork code more then one 1 time
...
$pid = pcntl_fork();
if ($pid == -1) {
die('could not fork');
} else if ($pid) {
// we are the parent
...
} else {
// we are the child
...
exit(1);
}

__HALT_COMPILER();

я не использую cache_list. Это происходит, только если phar сжимается с помощью GZ или BZ2. Phar файлы без сжатия не воспроизводят эту ошибку. Есть ли обходные пути или может быть какая-то информация об ограничении сжатых файлов и разветвленном процессе?

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]