我用以下代码创建了我的第一个phar档案:
$phar = new Phar('myphar.phar');
$phar->addFile("index.php");
$phar->setStub($phar->createDefaultStub('index.php', 'index.php'));
Run Code Online (Sandbox Code Playgroud)
提到的index.php只做一个输出:
echo "I am in a PHP archive!";
Run Code Online (Sandbox Code Playgroud)
当我运行上面的代码时,会创建myphar.phar,当我在cli中运行时,输出是"我在PHP存档中!".但是,当我从webbrowser调用myphar.phar时,它会输出一些奇怪的字符,比如??????????我的index.php内容而不是错误.
我将以下行添加到我的apache httpd.conf中以支持phar档案:
AddType application/x-httpd-php .phar
Run Code Online (Sandbox Code Playgroud)
有人知道它为什么在cli上工作,而不是在浏览器中?