Phar ошибка, не могу найти stub.php

Я создал Phar архив Zend Framework, но получаю следующую ошибку:Warning: include(): Failed opening 'phar://z3.phar/stub.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php')

Это stub.php, который я использовал:<?php __HALT_COMPILER();

Я создал архив с помощью http://empir.sourceforge.net/ Я также попытался создать архив без empir, используя учебник из блога.

Я получил ту же ошибку, оба раза.

2 ответа

Решение

Я заменил include () на:set_include_path('phar://z3.phar' . PATH_SEPARATOR . get_include_path());

и это сработало как задумано.

Я ошибочно полагал, что включение фар с пустой заглушкой позволит добиться того же.

Ваш интерпретатор PHP не имеет phar:// потоковая обертка включена (см. phpinfo). Вот почему вы получаете эту ошибку.
Более того, вы должны просто использовать:

include("z3.phar");

Это должно запустить файл заглушки. Что, конечно, бесполезно, если у вас там есть заглушка. Однако, возможно, что файл-заглушка будет содержать реализацию phar:// из http://pear.php.net/package/PHP_Archive - что позволит.phar функционировать на интерпретаторах PHP без встроенной поддержки phar:// потоковой обертки,

Я могу поклясться, что где-то читал. Но для простоты вы можете просто включить PHP_Archive вручную и включить поддержку phar:// таким образом.

stream_wrapper_register('phar', 'PHP_Archive');
Другие вопросы по тегам