Php 正在移动WordPress Multisite,但我的主题自定义已停止工作。为什么?

Php 正在移动WordPress Multisite,但我的主题自定义已停止工作。为什么?,php,wordpress,multisite,Php,Wordpress,Multisite,我最近将一个多站点网络移动到了一个新域。目前网络中只有一个站点(我正在为网络构建站点,我正在将这个站点推送到一个临时服务器进行测试) 要移动站点,我执行了以下操作: 已传输所有文件 从数据库A导出完整数据库,并在登台时导入数据库B 对所有表运行一系列查找和替换查询,以将旧域替换为新域 使用正确的数据库信息和更新的URL更新了登台服务器上的mywp config.php文件 在这个阶段,除了主题定制之外,几乎所有东西都能完美地工作。我意识到这是以序列化数组的形式存储的,我已经相应地更新了每个字

我最近将一个多站点网络移动到了一个新域。目前网络中只有一个站点(我正在为网络构建站点,我正在将这个站点推送到一个临时服务器进行测试)

要移动站点,我执行了以下操作:

  • 已传输所有文件
  • 从数据库A导出完整数据库,并在登台时导入数据库B
  • 对所有表运行一系列查找和替换查询,以将旧域替换为新域
  • 使用正确的数据库信息和更新的URL更新了登台服务器上的my
    wp config.php
    文件
在这个阶段,除了主题定制之外,几乎所有东西都能完美地工作。我意识到这是以序列化数组的形式存储的,我已经相应地更新了每个字段的长度。有关存储值,请参见下文:

a:19:{i:0;b:0;s:8:"tcx_logo";s:72:"http://stange.********.com/wp-content/uploads/2014/11/***-***-bottle.png";s:13:"tcx_address_1";s:12:"***** Avenue";s:13:"tcx_address_2";s:0:"";s:12:"tcx_citytown";s:7:"*******";s:10:"tcx_county";s:6:"******";s:12:"tcx_postcode";s:8:"**** ***";s:11:"tcx_country";s:0:"";s:7:"tcx_lat";d:**.**********0000076470314525067806243896484375;s:7:"tcx_lng";d:-*.**********00000065853100750246085226535797119140625;s:12:"tcx_facebook";s:12:"************";s:11:"tcx_twitter";s:12:"************";s:18:"nav_menu_locations";a:2:{s:9:"main-menu";i:2;s:6:"footer";i:3;}s:16:"tcx_openingtimes";s:0:"";s:13:"tcx_foodtimes";s:225:"<dl class="dl-horizontal">
    <dt>Monday to Thursday:</dt>
    <dd>12noon - 2:30pm & 5:30pm - 9:00pm</dd>

    <dt>Friday & Saturday:</dt>
    <dd>12noon - 2:30pm & 5:30pm - 9:00pm</dd>

    <dt>Sunday:</dt>
    <dd>12noon - 8:00pm</dd>
</dl>";s:13:"tcx_telephone";s:13:"**** *** 5535";s:9:"tcx_email";s:27:"info@****************.co.uk";s:14:"tcx_bookatable";s:17:"Bookatable Widget";s:10:"tcx_seekom";s:13:"Seekom Widget";}
a:19:{i:0;b:0;s:8:tcx_徽标;s:72:http://stange.********.com/wp content/uploads/2014/11/***-***-***-battle.png“s:13:“tcx_地址_1”s:12:******大道;s:13:“tcx_地址_2”s:0:;s:12:“tcx_城市镇”s:7:******s:10:“tcx_县”s:6:*******“s:12:“tcx_邮编”s:8:****“s:11:“tcx_国家”;s:0:“s:7:”tcx:“TCU”(7)s:11:“tcx”推推特公司的12个:12:“(12)s:“(12)12:“(12)12::“(12)12::“(12)s:“(18)s:18:“(18)s:18:“(18:::::::::::::::::::::::::::::18::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::“tcx_食品时间”s:225:
星期一至星期四:
中午12时至下午2时30分及下午5时30分至9时
星期五和星期六:
中午12时至下午2时30分及下午5时30分至9时
星期日:
中午12时至晚上8时
s:13:“tcxèU电话”s:13:“tcxèU电子邮箱”s:9:“tcxèU电子邮箱”s:27:“info@********************************************.co.uk”s:14:“tcxèU bookatable”s:17:“bookatable小部件”s:10:“tcxèU seekom”s:13:“seekom小部件”}
敏感信息已被删除

每当我访问主题的定制区域时,我都会看到字段,但看不到任何值。前端也没有显示任何存储值,这使我相信数据库中的这个字段有问题


有什么想法吗?

您的问题似乎在于这一部分:

s:225:"<dl class="dl-horizontal">
    <dt>Monday to Thursday:</dt>
    <dd>12noon - 2:30pm & 5:30pm - 9:00pm</dd>

    <dt>Friday & Saturday:</dt>
    <dd>12noon - 2:30pm & 5:30pm - 9:00pm</dd>

    <dt>Sunday:</dt>
    <dd>12noon - 8:00pm</dd>
</dl>"
s:225:“
星期一至星期四:
中午12时至下午2时30分及下午5时30分至9时
星期五和星期六:
中午12时至下午2时30分及下午5时30分至9时
星期日:
中午12时至晚上8时
"
…我认为你把人物数错了。当然,如果我剪切并粘贴您的版本并替换您在数字字段中输入的星号,我需要将长度设置为243,而不是224,以便正确地反序列化。然而,考虑到复制和粘贴到堆栈溢出和从堆栈溢出中复制和粘贴可能会使事情变得混乱,所以很难确定。几乎可以肯定,空白中存在一些问题,这将使诊断变得困难

如果序列化的手动更新有问题,您应该至少在服务器错误日志中看到错误,这将帮助您查明问题所在,例如,“PHP注意:unserialize():在/path/to/file.PHP中Y字节的偏移量X处出错”,这可能会给您一些线索


我建议您不要手动更新长度,而是使用专门为此目的设计的脚本,该脚本将反序列化数据库中的值,进行替换,然后重新序列化它们。将WordPress数据库推送到我的临时站点时,我使用它正是为了这个目的。

顺便说一句,如果您不使用它来替换站点URL,我建议您使用它。它将搜索序列化的数据并正确地替换它,许多人正是为了这个目的而使用它的。另外:问题中存储的值是“之前”还是“之后”版本?你能同时向我们提供这两个吗?(另外,当******数据时,如果你对数值(“d:…”)使用一些数字,比如“0”,这会有所帮助-这样你就不会破坏序列化…)奇怪,我得到的字符串长度是254,而不是225。似乎是一个空白问题,可能是许多问题之一。我已经重新导入了数据库并运行了搜索和替换脚本,现在工作得很好。谢谢