我正在将一些代码从旧站点移植到同一域上的新站点,并且我遇到了一些使用.phar存档的地理跟踪代码(GeoIP2)的奇怪问题。我一直收到这个错误:
PHP Fatal error: Uncaught exception 'PharException' with message '__HALT_COMPILER(); must be declared in a phar'
代码可追溯到:
<?php
if (class_exists('Phar')) {
Phar::mapPhar('geoip2.phar');
require 'phar://' . __FILE__ . '/phar-stub.php';
}
__HALT_COMPILER(); ?>
其中Phar::mapPhar('geoip2.Phar')行是错误中引用的行。
我将此绑定到一个表格中,以确定提交者的地理位置。非常奇怪的是,这个表格大约每五分钟就会工作一次。但每五分钟提交一份以上的材料,我就没有运气了。
我该如何解决这个问题?非常感谢。
xcache仍然存在phar问题。通过php-ini-禁用xcache