Phar ошибка, не могу найти stub.php - PullRequest
1 голос
/ 13 марта 2011

Я создал 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 ]

2 голосов
/ 14 марта 2011

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

и все заработало как надо.

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

0 голосов
/ 13 марта 2011

В вашем интерпретаторе 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');
...