1

当 xml 文件超过 64kb 时,有没有办法分解 xml 文件?

当我的 xml 文件超过 64kb 时出现问题,它显示了这个:(

    Warning: DOMDocument::loadXML(): CData section not finished <tr> <td colspan="2"> <div id="map_canvas in Entity, line: 1929 in C:\wamp\www\qdrah\oc2test1\admin\controller\extension\modification.php on line 132
Warning: DOMDocument::loadXML(): Premature end of data in tag add line 1893 in Entity, line: 1929 in C:\wamp\www\qdrah\oc2test1\admin\controller\extension\modification.php on line 132
Warning: DOMDocument::loadXML(): Premature end of data in tag operation line 1891 in Entity, line: 1929 in C:\wamp\www\qdrah\oc2test1\admin\controller\extension\modification.php on line 132
Warning: DOMDocument::loadXML(): Premature end of data in tag file line 1890 in Entity, line: 1929 in C:\wamp\www\qdrah\oc2test1\admin\controller\extension\modification.php on line 132
Warning: DOMDocument::loadXML(): Premature end of data in tag modification line 2 in Entity, line: 1929 in C:\wamp\www\qdrah\oc2test1\admin\controller\extension\modification.php on line 132Notice: Trying to get property of non-object in C:\wamp\www\qdrah\oc2test1\admin\controller\extension\modification.php on line 143
    ( ! ) Fatal error: Call to a member function getElementsByTagName() on a non-object in C:\wamp\www\qdrah\oc2test1\admin\controller\extension\modification.php on line 145
    Call Stack
    #   Time    Memory  Function    Location
    1   0.0016  300672  {main}( )   ..\index.php:0
    2   0.0396  1156520 Front->dispatch( )  ..\index.php:171
    3   0.0418  1237880 Front->execute( )   ..\front.php:29
    4   0.0418  1237880 Action->execute( )  ..\front.php:34
    5   0.0442  1482808 call_user_func ( )  ..\action.php:65
    6   0.0442  1482840 ControllerExtensionModification->refresh( ) ..\action.php:65

我的文件显示如下:

upload -> have images
install.php
install.xml
readme.txt

我希望可以将 xml 文件划分为像管理员对 admin.xml 的修改一样移动,因为大文件很难更新,但是当我查看 admin/controller/extension/installer.php 时,它似乎不可能:(

所以目前我看到在两个 ocmod 中爆炸我的 ocmod,直到有人给我们解决方案她或 opencart 更新这个问题。

管理员请添加标签 ocmod

4

1 回答 1

1

好的,我找到了错误!xml 文件存储在数据库和字段类型(文本)中,此类型的大小为 64KB,因此当 xml 文件大于 64KB 时,它会被剪切,然后导致上述错误!

有关此链接中 mysql 文本字段类型的更多信息 MySQL 类型文本的最大长度

类型应该是 16MB 大小的 MEDIUMTEXT。

所以在它修复之前你可以在 opencart 数据库中运行这个查询

ALTER TABLE oc_modification CHANGE xml xml MEDIUMTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ;

或通过此 ocmod https://drive.google.com/file/d/0B2-nzvg31rU7QVAtZnVGN2lYRzA/view?usp=sharing使用它

如果 ftp 有错误,请使用这个 ocmod http://www.opencart.com/index.php?route=extension/extension/info&extension_id=18892

谢谢

于 2015-01-14T10:34:22.490 回答