项目主题:支持台

跳转到导航 跳转到搜索

安装扩展:Echo搞砸了一些东西

31
道奇67(谈话贡献者)

我按照安装说明操作扩展名:Echo不折不扣,但在最后一步(运行“更新脚本”)之后,我得到了一条我不明白的详细错误消息:

原始异常:[ae2d7c99]/wiki/index.php?title=主页DBQueryError来自/home/krdspmen/public_html/wiki/includes/db/Database.php的第1119行:发生了数据库错误。升级后是否忘记运行maintenance/update.php?参见:https://www.mediawiki.org/wiki/Manual:升级#运行“更新”脚本查询:从“mwsz_echo_target_page”中选择etp_user,etp_page,etp_event,其中etp_user='2',etp_page='1';函数:echorTargetPageMapper::fetchByUserPageId 错误:1146表“krdspmen_mw269.mwsz_echo_target_page”不存在(localhost)

回溯:

  1. 0/home/krdspmen/public_html/wiki/includes/db/Database.php(1076):数据库->报告查询错误(string,integer,string,string,boolean)
  2. 1/home/krdspmen/public_html/wiki/includes/db/Database.php(1600):数据库->查询(字符串,字符串)
  3. 2/home/krdspmen/public_html/wiki/extensions/Echo/includes/mapper/TargetPageMapper.php(38):数据库->选择(数组,数组,字符串)
  4. 3/home/krdspmen/public_html/wiki/extensions/Echo/Hooks.php(643):EchoTargetPageMapper->fetchByUserPageId(用户,整数)
  5. 4[内部函数]:EchoHooks::onPersonalUrls(数组,标题,SkinVector)
  6. 5/home/krdspmen/public_html/wiki/includes/Hooks.php(204):调用“用户”func_数组(字符串,数组)
  7. 6/home/krdspmen/public_html/wiki/includes/skins/SkinTemplate.php(688):Hooks::run(字符串,数组)
  8. 7/home/krdspmen/public_html/wiki/includes/skins/SkinTemplate.php(455):SkinTemplate->buildPersonalUrls()
  9. 8/home/krdspmen/public_html/wiki/includes/SkinTemplate.php(240):SkinTemplate->prepareQuickTemplate(OutputPage)
  10. 9/home/krdspmen/public_html/wiki/includes/OutputPage.php(2314):SkinTemplate->OutputPage()
  11. 10/home/krdspmen/public_html/wiki/includes/MediaWiki.php(690):OutputPage->output()
  12. 11/home/krdspmen/public_html/wiki/includes/MediaWiki.php(476):MediaWiki->main()
  13. 12/home/krdspmen/public_html/wiki/index.php(41):MediaWiki->run()
  14. 13{main}

在/dab9中捕获到异常:[?title=主页DBQueryError来自/home/krdspmen/public_html/wiki/includes/db/Database.php的第1119行:发生了数据库错误。升级后是否忘记运行maintenance/update.php?参见:https://www.mediawiki.org/wiki/Manual:升级#运行“更新”脚本查询:从“mwsz_echo_target_page”中选择etp_user,etp_page,etp_event,其中etp_user='2',etp_page='1';函数:echorTargetPageMapper::fetchByUserPageId 错误:1146表“krdspmen_mw269.mwsz_echo_target_page”不存在(localhost)

回溯:

  1. boolean/string,boolean/queryr/boolean/public/database6/query0/xml
  2. 1/home/krdspmen/public_html/wiki/includes/db/Database.php(1600):数据库->查询(字符串,字符串)
  3. 2/home/krdspmen/public_html/wiki/extensions/Echo/includes/mapper/TargetPageMapper.php(38):数据库->选择(数组,数组,字符串)
  4. 3/home/krdspmen/public_html/wiki/extensions/Echo/Hooks.php(643):EchoTargetPageMapper->fetchByUserPageId(用户,整数)
  5. 4[内部函数]:EchoHooks::onPersonalUrls(数组,标题,SkinVector)
  6. 5/home/krdspmen/public_html/wiki/includes/Hooks.php(204):调用“用户”func_数组(字符串,数组)
  7. 6/home/krdspmen/public_html/wiki/includes/skins/SkinTemplate.php(688):Hooks::run(字符串,数组)
  8. 7/home/krdspmen/public_html/wiki/includes/skins/SkinTemplate.php(455):SkinTemplate->buildPersonalUrls()
  9. 8/home/krdspmen/public_html/wiki/includes/SkinTemplate.php(240):SkinTemplate->prepareQuickTemplate(OutputPage)
  10. 9/home/krdspmen/public_html/wiki/includes/OutputPage.php(2314):SkinTemplate->OutputPage()
  11. 10/home/krdspmen/public_html/wiki/includes/exception/mwaexception.php(204):OutputPage->output()
  12. 11/home/krdspmen/public_html/wiki/includes/exception/mwaexception.php(244):mwaexception->reportHTML()
  13. 12/home/krdspmen/public_html/wiki/includes/exception/MWExceptionHandler.php(69):mwaexception->report()
  14. 13/home/krdspmen/public_html/wiki/includes/exception/MWExceptionHandler.php(180):MWExceptionHandler::report(DBQueryError)
  15. 14/home/krdspmen/public_html/wiki/includes/MediaWiki.php(485):MWExceptionHandler::handleException(DBQueryError)
  16. 15/home/krdspmen/public_html/wiki/index.php(41):MediaWiki->run()
  17. 16{main}

我是一个完全的PHP新手,所以请假设我什么都不知道-我需要“按数字绘制”的帮助。

道奇67(谈话贡献者)

救命啊,求求你了。

潜在用户越来越不耐烦了。

NH35(谈话贡献者)

回音表的名称。例如“event`u”

“wiki”是我的前缀。

第一百五十六条第一百一十三条(谈话贡献者)

很明显,你应该打电话给php/wiki/index.php?title=主页,意味着你的主页。

正确的做法是从shell运行update.php,就像您在进行MediaWiki更新时所做的那样:

cd wiki/maintenance 
 php update.php

然后,更新脚本应将必要的表添加到数据库中。

Ciencia Al Poder公司(谈话贡献者)
道奇67(谈话贡献者)

我已经运行了多次更新-发生了完全相同的错误-事实上,我认为是更新导致了错误。

由于wiki不包含用户生成的内容,所以我可以从头开始重新安装所有内容。但我不能保证当前版本的扩展名:Echo实际上与1.26.0兼容。在我添加Echo之前,一切正常。

我正在构建的wiki确实需要一种功能性的方式来“ping”用户-Echo是唯一的方法吗?我的大多数用户都是wiki的新手,他们很难跟上观察列表,至少在他们变得更熟练之前。

道奇67(谈话贡献者)

这话题好像又扯回来了

88.130.121.191(谈话贡献者)

您是对的,错误是由扩展Echo的更新引起的:

发生数据库错误。查询:从“mwsz_echo_target_page”中选择etp_user,etp_page,etp_event,其中etp_user='2'和etp_page='1'函数:EchoTargetPageMapper::fetchByUserPageId 
错误:1146表“krdspmen_mw269.mwsz_echo_target_page”不存在(localhost)

很明显,这次更新确实做到了添加表mwsz逯echo_目标_页面. 我怀疑不仅这一个表没有被添加,而且基本上没有人数据库的扩展Echo的更改已经完成。

道奇67(谈话贡献者)

谢谢你的确认。这是否意味着Echo与1.26.0不兼容,还是有办法让它正常工作?

88.130.121.191(谈话贡献者)

我想肯定会有办法的。但是,我不知道扩展应该如何将它的SQL添加到update.php脚本中,以便这个脚本能够识别它。

在我看来像文件扩展名/echo.sql包含扩展所需的表的结构。因此,从wiki数据库中手动运行该文件中的命令可能是一种解决方法。请注意,我还没有测试过这个。

这个帖子被Ciencia Al-Poder藏了起来(历史)
163.116.6.92条(谈话贡献者)

安装Echo扩展后我也有同样的问题,版本稳定1.26。

NH35(谈话贡献者)

同样的问题。。。

87.123.18.176(谈话贡献者)

你试过88.130.121.191的提示了吗?

您应该手动将扩展Echo的表/列添加到数据库中。为此,从文件扩展名/echo.SQL获取SQL命令,在表名前面加上表前缀(如果您使用的是表前缀),然后在wiki数据库中运行这些命令以添加缺少的表/列。

之后,您将不会再收到错误“1146表'echo_target_page'does not exist“。

艾哈迈德夫·奇玛(谈话贡献者)

有限解决方案:

使用此处记录的方法:手册:吊钩/装载扩展图表更新,用于添加“新表”。

修改了以下示例:

#update.php的架构更新
$wgHooks公司['加载扩展架构更新'][] = 'fnMyHook';
功能 fnMyHook公司( 数据库更新程序 $更新程序 ) {
	$更新程序->加法扩展表( '表名',
		__方向__ . '/table.sql' );
	返回 是的;
}

改变:

  • “目标表u中的”echo“错误”
  • "表.sql" - "回声.sql"

结果:

#update.php的架构更新
$wgHooks公司['加载扩展架构更新'][] = 'fnMyHook';
功能 fnMyHook公司( 数据库更新程序 $更新程序 ) {
$更新程序->加法扩展表( '回显目标页面',
__方向__ . '/echo.sql' );
返回 是的;
}

将这些行添加到本地设置.php.

不确定是否“__方向__“代表本地设置.phpdirectiry或“maintenance/update.php”目录,所以我将“echo.sql”文件从扩展目录复制到这两个目录中。不知道是谁干的。

在这之后,我更新了MediaWiki的安装,为此我使用了“Web浏览器”方法(因为我在宿主服务器上没有SSH访问权限)。这在“升级现有安装”浏览器MediaWiki界面中给出了以下结果。

…欺骗器表已存在。
正在创建echo_target_page table…完成。
站点统计信息已填充…完成。
正在清除缓存…完成。

这个维基在这之后我不会像以前那样崩溃回声用户工具栏中的图标也变得可见。所以,我想这个方法是有效的。

测试:

在测试扩展时,通过创建测试帐户,我无法看到监视页和其他一些编辑的通知。通知唯一起作用的时间是编辑用户对话页面时。

使用这种方法,目前看来这个扩展的大多数特性都不起作用。

也许,其他扩展数据库表也不是自动创建的。

更新:刚刚检查了其他三张桌子回声.sql使用相同的方法,它们显然是自动创建的,就像它们应该是那样的。

艾哈迈德夫·奇玛(谈话贡献者)

更新:

显然,我犯了个错误。当我测试的时候,我把扩展的主版本覆盖到稳定版本上(我以前测试过)。我完全删除了扩展文件夹“Echo”并重新上传了稳定版本。

除了“提及”即“当有人链接到我的用户页面时通知我”之外,通知现在似乎起作用了,但也许我测试错了。

史蒂芬格尔哈特(谈话贡献者)

可以。。所以这个线程就像一年前,我现在得到了这个错误。这个问题还没有解决吗?我按照指示通过浏览器运行更新。我能处理的事情。很明显,我的网站更新并没有破坏我的网站设置,但这并没有破坏我的网站更新过程。我不明白这些关于如何以另一种方式更新它或手动添加表的说明。我已经尝试安装了几个其他扩展,这些扩展需要运行这个更新脚本的第三步,我得到了相同的效果. 我的主机是通过网站地面,如果这可能与它有关,但我觉得我只是错过了一些东西。我按指示走 :将webbrowser导航到/mw配置/. 例如,如果您的wiki位于http://example.org/w/index.php,然后导航到http://example.org/w/mw-config/. 我给它输入升级键,然后遍历所有内容。看起来它在视觉上工作,但实际上没有更新任何文件。

我不知道如何从命令行运行更新。如果我在siteground上托管,我甚至可以使用命令行吗?我从来没用过。

我还试图使我的维基多语言,并运行到同一个墙,因为它需要这个更新步骤。我在安装扩展时没有问题,只需要(1)ftp文件和(2)添加一行到localsettings文件。我的网站需要第三步的更新

S3r3nd1型(谈话贡献者)
艾哈迈德夫·奇玛(谈话贡献者)
史蒂芬格尔哈特(谈话贡献者)

在摸索了一番之后,我想出了如何使用putty,然后实际上记住了如何移动终端上的目录和垃圾,以到达维护文件夹来运行更新脚本 :)快乐的一天!谢谢。他们应该删除关于通过浏览器更新的那个,fkn不起作用。再次感谢!现在来计算这个node.js位来获取可视化编辑器。。。http://FlatEarthWiki.com

布氏菌(谈话贡献者)

Im正在运行Windows server 2012R2

产品 版本
维基百科 1.32.0款
菲律宾比索 7.2.7(cgi fcgi)
MySQL数据库 8.0.15款
重症监护室 61.1

所以我不知道这为什么有用,但它确实起了作用。我清除了我的wincache,使用的脚本是我不久前从其他人推荐的一个不同的扩展名不同的问题创建的。

<?菲律宾比索

wincache_ucache_设置('绿色',1);

wincache_ucache_设置('红色',2);

wincache_cache_设置(“橙色”,4);

wincache_cache_设置('蓝色',8);

wincache_ucache_设置('青色',16);

$array1=数组('green'、'red'、'orange'、'blue'、'cyan');

var_dump(wincache_ucache_get($array1));

var_dump(wincache_ucache_clear());

var_dump(wincache_ucache_get($array1));

?>

我将文件命名为wincache_ucache_clear.php并将其保存到我的站点文件夹中,然后以admin的身份打开命令提示符并运行cd C:\inetpub\wwwroot\“YourWIKISite”然后php wincache_ucache_clear.php然后我跑了php更新.php从维修目录和维奥拉。在流中,我可以看到它添加了所有echo表。希望这有帮助。

艾哈迈德夫·奇玛(谈话贡献者)

你跑了吗更新.php运行前wincache_ucache_clear.php? 据我所知,不能自动创建表的问题已经解决了,用户不应该再经历这样的黑客攻击。

史蒂芬格尔哈特(谈话贡献者)

这还是个问题。我最近又碰到了。它只存在于通过web运行update.php时。我这次没有访问命令行的权限,所以我发现导入回声.sql用phpMyAdmin到数据库,然后将我的前缀添加到表中起作用。~ParamotorWiki.com

布氏菌(谈话贡献者)

是的,我跑了更新.php运行前wincache_ucache_clear.php我得到了以下信息

[fatal][7348d6842ad5793ac217096e]update.php php C:\inetpub\wwwroot\CAS\extensions\Flow\includes\Container.php第5行出现致命错误:找不到类“Pimple\Container”

清除缓存后,它工作得很好。

猎鹰(谈话贡献者)

我也有同样的错误,请协助我。

请告诉我如何和在哪里运行'update.php'。。?

我在这方面是个新手。。

这是错误-->

)致命错误:在C:\wamp64\www\wiki\extensions\Flow\includes\Container.php中未找到类“Pimple\Container” 5

艾哈迈德夫·奇玛(谈话贡献者)
猎鹰(谈话贡献者)

艾哈迈德,谢谢

我已经卸载了当前版本的Extension:StructuredDiscussions&正在寻找兼容的版本。

你能给我一个链接,从那里我可以下载扩展名:StructuredDiscussions forMediaWiki版本-1.32.2?

艾哈迈德夫·奇玛(谈话贡献者)
猎鹰(谈话贡献者)

是的,分配器被窃听了 :( .

我尝试了你发给我的链接,它与我的MediaWiki版本兼容,“Flow”扩展也出现在“Special:version”页面的“Installed extensions”部分。

但它仍然不运行,现在再次出现此错误-->

在\Pimple\Pimple\Pimple\c64\Pimple\cFound\Pimple\c64\Pimple\cFound\Pimple\cFound\Pimple\cFound\Pimple\Pimple\cFound\Pimple\Pimple\c64\pImp 5


原来这是我之前删除的扩展版本。。。。。

还是…谢谢你,伙计!

这个帖子被法尔科普拉加蒂藏了起来(历史)
猎鹰(谈话贡献者)

此错误现在通过下载“composer”解决