我安装了一个脚本,当我登录管理仪表板时收到此错误:
警告(2):simplexml_load_file():/ app/Plugin/PaypalAdaptive/info.xml:7:解析器错误:xmlParseEntityRef:无名称[APP / Controller / PluginsController.php,第1151行]
我检查了文件pluginscontroller.php
,这是代码。我复制了整个文件的一部分。
第1151行是:$xml = simplexml_load_file($file);
完整代码从这里开始:
// get all installed plugins
$plugins = $this->Plugin->find( 'all', array(
'order' => 'id DESC'
));
$totalNewVersion = 0;
if($plugins != null)
{
foreach($plugins as $k => $plugin)
{
$plugin = $plugin['Plugin'];
$file = sprintf(PLUGIN_INFO_PATH, $plugin['key']);
if(file_exists($file))
{
$xml = simplexml_load_file($file);
if($xml != null && isset($xml->version))
{
if((string)$xml->version > $plugin['version'])
{
$totalNewVersion += 1;
}
}
}
}
}
return $totalNewVersion;
}
public function admin_do_upgrade( $id )
{
if(!$this->Plugin->hasAny(array('id' => $id)))
{
$this->Session->setFlash(__('This plugin does not exist'), 'default', array('class' => 'Metronic-alerts alert alert-danger fade in' ));
}
else
{
答案 0 :(得分:0)
它告诉你XML无效,可能是因为它包含“&”应该以{{1}}转义的字符。
做任何有缺陷的商品 - 将其发回供应商并告诉他们解决。
答案 1 :(得分:0)
我终于解决了它,我在代码中进行了一些编辑,并使用了"&"
而不是"&"
这就是导致问题的因素。