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');