2014-10-30 2 views
2

Я пытаюсь создать архив PHAR с исполняемым заглушкой. Код:PHP PHAR: Еще раз о создании .phar соответствующим образом

<?php 
$phar = new Phar('test.phar'); 
$phar->buildFromDirectory('files/'); 
$phar->setStub($phar->createDefaultStub(file_get_contents('st.php'), 'install.php')); 
?> 

Содержимое "st.php" (заглушкой по умолчанию):

#!/usr/bin/php 
<?php Phar::mapPhar(); include("phar://test.phar/install.php"); __HALT_COMPILER(); 

Внутри "файлы" только один файл - "install.php"

<?php 
echo "The Installer is running right now."; 
?> 

Процесс компиляции PHAR выполняется без каких-либо ошибок. Но когда я пытаюсь включить созданный архив Phar

include_once('phar://test.phar'); 

ошибка происходит:

PHP Parse error: syntax error, unexpected ''#!/usr/bin/php\r' (T_ENCAPSED_AND_WHITESPACE) in D:/WebServer/domains/modinst/www/test.phar on line 110 

Вопрос заключается в том: как создать архив Phar для использования в качестве PHP ресурс, который я могу просто «включить «?

ответ

0

Вы не можете использовать строку shebang внутри файла-заглушки. Это ограничение существующих версий PHP.

Удалите его, и ошибка исчезнет.

 Смежные вопросы

  • Нет связанных вопросов^_^