Я создал свой первый архив ФАР со следующим кодом:архив Phar выходы jibberish
$phar = new Phar('myphar.phar');
$phar->addFile("index.php");
$phar->setStub($phar->createDefaultStub('index.php', 'index.php'));
Упомянутая index.php только делает один вывод:
echo "I am in a PHP archive!";
Когда я бегу выше код, myphar.phar, и когда я запускаю в cli, вывод «Я в архиве PHP!». Однако, когда я вызываю myphar.phar из веб-браузера, он печатает некоторые странные символы, например ????�???�?
, вместо моего содержимого index.php и без ошибок.
я добавил следующую строку в мой апаче httpd.conf, чтобы поддержать ФАРЫ архивов:
AddType application/x-httpd-php .phar
Кто-нибудь знает, почему это работает на кли, но не в браузере?
Странно. Я не могу воспроизвести его, хотя я использовал ваш код и, вероятно, имел ту же конфигурацию (я использую PHP 5.3 и Phar 2.0.0-dev). Какую версию PHP и Phar вы используете? Они актуальны? –
Моя версия PHP действительно 5.3.0, и у меня такая же версия Phar. phpinfo() сообщает, что phar также является зарегистрированным потоком PHP. Я должен упомянуть, что я использую XAMPP в Mac OS X 10.6 – Pascal
Просто хотел добавить, что эта ошибка определенно находится в конфигурации Apache. – Evert