我使用以下代码创建了我的第一个 phar 存档:
$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 存档中!”。但是,当我从 webbrowser 调用 myphar.phar 时,它会打印一些奇怪的字符,例如????�???�?
,而不是我的 index.php 内容并且没有错误。
我将以下行添加到我的 apache httpd.conf 以支持 phar 档案:
AddType application/x-httpd-php .phar
有人知道为什么它可以在 cli 上运行,但不能在浏览器中运行吗?