Пытаюсь сделать исполняемый phar. Поковырял несколько руководств, получается примерно так:
$p = new Phar('./test.phar');
$p->startBuffering();
$p = $p->convertToExecuteble(Phar::TAR, Phar::GZ, '.phar.tgz');
$p->addFile('index.php');
$p->createDefaultStub('index.php');
$p->stopBuffering();
В index.php банальный phpinfo();
Собственно если вместо Phar::TAR поставить Phar::PHAR, то получается текстовый архив в котором в stub записан вызов index.php, но если как сейчас, то в stub только __HALT_COMPILER(); и ни фига больше.
При этом в документации явно указано, что Phar::TAR и Phar::ZIP можно использовать для создания исполняемых phar-архивов. «This should be one of Phar::PHAR, Phar::TAR, or Phar::ZIP». И как же?