WordPressWP核心?插件更新失败白屏OD–检测和修复方法

简要概述; 本主题提出了一种自动化方法,其目标是检测和修复失败的插件更新,这些更新会导致\"死亡白屏\",这对某些用户可能会造成很大压力。但是在任何情况下,如果有一种方法可以避免后果(即使到目前为止还没有避免原因的方法),则不需要浪费时间来修复后果的原因。 将举例说明自动检测\"死亡白屏\"状态的两种方法。 问题; 当插件更新后,系统有时会无法在前端或仪表板上查看。 这只需要一个插件就可以导致问题。 对于那些知道如何操作的人和失败的插件来说,这个问题很容易让网站重新工作。 和,在那之后需要修复。 对于第一次体验到这种情况的用户,或者是第一次体验到这种情况的用户(希望这个事件发生的频率低于记忆允许的频率),这可能会非常可怕。 如果他们只做少量的研究,他们面临着决定放弃网站(可能还有WordPress)重新开始的风险。 幸运的是,这种状态是可以恢复的,至少对于网站的其余部分是可以恢复的,还可能包括在更新时失败的插件。 不幸的是,技能水平或对WordPress环境之外的Web服务器工作的熟悉程度是必需的,对于较小的用户来说,这是一项困难的工作。 导致了; 由于WordPress(core?)不会提供前端网页,也会提供仪表板页面,所有这些都是因为一个\"以前激活的\"插件在更新其文件时遇到问题。 这些问题的原因包括空间限制、文件传输时间过长、过程中断,更重要的是, 要想找到解决这些原因的方法(相对来说)还需要很大的发展; 这样做的结果是,在前端或后端都不会提供任何页面。 当用户试图请求前端或后端页面时,用户很容易观察到这一点。 对于以前有过这种经历的用户,他们知道这并不太难做(但几乎从来都不是他们在工作中计划要做的)。 现在…… 就像用户可以观察到页面内容的缺乏一样,服务器也可以。 服务器能够生成对(前端或仪表板)网页的请求,并检测结果,结果的形式,或者没有结果。 方法; 方法的核心是 i)使服务器生成对页面的请求 ii)检查页面是否有合适的内容 iii)检查页面是否没有内容,或者类似于死亡白屏的内容(如果有)是任何内容)。 iv)如果检测到\"可能\"或\"确定\"的白色屏幕,则禁用最近更新的插件(或多个插件) v),这样前端和后端页面仍会显示。 结果; 而不是前端脱机,因此访问者看不到任何内容,后端通过仪表板变得完全不可访问, 前端继续对所有访问者可见,仪表板继续发挥功能,能够用于进一步的诊断维修和正常工作任务。仪表板还将报告问题是由哪些插件引起的,这样用户就可以激活没有问题的插件。 各种实现 这种WSOD检测的核心方法可以通过以下方式使用:; a) 更新单个插件时 b)在所有更新结束时更新一组插件时 c)在更新下一个插件后更新一组插件时 d)如果在更新后不久检测到网站处于非活动状态(或未被登录用户访问),则作为一个自动过程活动。 e)作为一个定期定时的自动过程,在用户在系统中挖掘时出现问题后帮助自动恢复。在进行系统级调整或文件管理活动时,可以允许用户调整轮询周期。系统可以根据用户检测到的活动更改轮询周期,以备出现问题的可能性。 f)可以使用命令行指令从网站管理面板(对于网站空间)启动该过程。这将节省用户需要进入文件管理(特别是如果他们不是那么先进),并将加快恢复到接近正常的事件后。 辅助返回到总修复的附加功能; 如果使用手动方法已知要通过插件更新来修复给定问题, 然后尽可能多地使用用户需要研究的详细说明来查找、阅读、理解并执行(没有错误),并将其转换为自动执行的脚本。 如果可能,使用诊断方法也可以这样做。 例如, 如果插件由于所需文件不全而损坏,或者某个文件损坏,那么如果已知文件和文件夹列表、大小和校验和,就可以检测到,这样就可以检测到故障,然后可以重复更新。 如果在自动重复尝试更新之前需要采取任何预防措施,那么当然应该提示用户,并完成检查。 如果这些检查也可以自动进行,那就更好了。 可能会改进插件更新的健壮性; 一个插件可以包含关于需要做什么的信息,以修复损坏的更新(例如,检查数据库、保存以前的设置等),还可能包含自动执行这些操作的脚本(要么完成更新,或者恢复到原始版本)。 明智的做法是在尝试更新的开始时传输此信息,因此如果有任何问题,则原始版本将保持不变,如果有问题,则修复此问题的工具已由用户拥有(并可在之后立即提供给用户),或者理想情况下,修复脚本可以自动运行。 这可以独立于检测\"死亡白屏\"的方法来实现。 如果有其他更好的检测和修复方法,则可以使用这些方法。但希望这些建议足以在更新过程中得到一些改进,因此死亡的白色屏幕对于用户来说是一种不太常见的体验,节省了很多时间,并且提高了网站对于前端访问者的健壮性。 - 这个主题是由MKSnMKS在2年11个月前修改的。理由:格式清晰 您可以将您的意见放在Trac票证上: https://core.trac.wordpress.org/ticket/44458这是最近讨论过的上一次PHP会议的笔记。 PHP会议摘要–6月25日, 我做到了。 但是我不太想深入开发团队的本质(网站、论坛、闲聊),因为我想避免比我在这个主网站遇到的技术问题更多的问题。 隐喻地说; 如果有人拍手,那么你就不太可能接受这个人的晚餐邀请(尽管你可以选择在街上保持一种亲切的关系)(你甚至可以在将来接受,在时间或变化之后)。 请关注这个话题,以帮助确保它能吸引到有兴趣阅读它的人。 我也开始了其他话题与插件处理、更新和统一方法有关,这些方法可能会使WordPress插件系统更加健壮。 感谢您的帮助。 我理解,但我怀疑那些将致力于此问题的人是否正在阅读论坛。你的想法和解决方案不会对任何人有任何好处。我只是碰巧看到了它,试着把对同一件事感兴趣的人联系起来。 (与此回复相同)我可能不会再看到其他人了…… 嗨,乔伊, 谢谢。 我在 的Trac票证上对这个概念做了相当好的描述https://core.trac.wordpress.org/ticket/44458 我的印象是,这些论坛有几个论坛供wordpress开发团队阅读,包括:; a) \"其他一切\"论坛https://wordpress.org/support/forum/misscellaneous/和 b)请求和反馈论坛https://wordpress.org/support/forum/requests-and-feedback/, 和 c)可能是在https://wordpress.org/support/forum/alphabeta/ 我努力在这些论坛中提出改进建议,甚至有一些版主通知我,开发人员会扫描这些主题,他们搜索主题的方法之一是基于他们没有得到回复(这是我在最初的评论中添加后记时学到的,有人告诉我,这被称为\"颠簸\",被认为是不应该做的事情——因为开发人员和其他感兴趣的人不太可能找到它)。 现在,多亏你碰巧找到了这个话题,并且回答说,我了解到,那种人们我的印象是,浏览这些主题寻找新的想法,实际上会这样做 请允许我请您与您希望的任何开发人员沟通(尽可能多),并请他们考虑在这些论坛(上面3个)中搜索\"此主题不是支持问题\"的主题。 他们会找到大量普通用户提出的建议,这些建议是为了让WordPress在用户手中更有用。 我提出的建议之一(如果我没记错的话)是有一个\"重定向\"或\"复制到\"功能,它基本上自动化了您和我刚刚经历的过程。 即\"开发者搜索论坛,发现有趣的话题,并通知可能感兴趣的相关开发者\"。主题作者不需要知道主题的来龙去脉,他们不需要了解技术问题,谁做什么,谁是谁的政策,某种提交系统。 此功能允许开发者在论坛中对主题进行扫描搜索,查找相关主题,并对其进行标记(单击按钮),将信息复制到与开发人员相关的主题/讨论。这个过程可能包括在论坛主题中自动放置帖子,请求将该主题转发给另一个开发人员讨论,当主题作者单击批准按钮时,就会进行复制。 这个过程减少了每次编写自定义消息的次数,并方便了收集和整理(可能是一个巨大的)建议和想法资源。 类似的过程也可以用来确定已经开始研究类似概念的论坛主题,重复的建议和密切相关的建议(不删除它们),以及其他有用的管理。 这个建议并不是为了暗示或强制开发团队必须履行的职责,这会分散他们对核心(和享受的)任务的注意力。 这个建议是为了有用的附加工具可用于从用户向开发人员提供信息,这可能有助于为开发方向的决策提供信息(常见的陷阱是,可能在未来花费相同时间或精力的见解等)。 隐喻; 这有点像\"写给圣诞老人的信\" 很多信都是寄给圣诞老人的,我们都知道圣诞老人是不存在的(至少不是作为一个真实的人,但有些人可能是出于这个目的)。 很多人可能会认为这些信毫无价值。 没关系。 但是如果圣诞老人的邮政地址恰好在某家百货公司或玩具公司,然后,在即将到来的最有价值的时刻之前,免费获得了一些严肃的市场情报。 (有点可笑的是,最先用完的东西,是那些在前面陈列的东西堆得最多的) 而且必须有人把它们都做出来(圣诞老人的助手——我们中的一些人会有我们中的一些人,相信)。 所以(行动呼吁), 如果可以,请与开发者沟通,并 与阅读本文的开发者(圣诞老人的助手); 请尝试(甚至只是粗略地)搜索这些论坛中的主题,查找您感兴趣的主题,并设置为\"此主题不是支持问题\"(不管他们有多少回复), 以查看是否有或可能有一些感兴趣的主题值得在开发人员论坛上传播。 谢谢 这将是一个不错的博客主题,但它并不适合支持论坛。 在最近的WordCamp上,一位非常资深的核心开发人员被问到如何将一些特性应用到核心。他建议首先要通过社交网络,博客,等等支持论坛不是这样做的场所。 - 这个回复是史蒂文·斯特恩(sterndata)在2年11个月前修改的。 我认为没关系在请求和反馈论坛中讨论这个想法。 总的来说,WordPress会通过代码编辑器检测到致命事件并禁用插件,但是更新过程可能不会那么宽容。在就这个话题开罚单之前,先讨论一下这个概念是合理的。 史蒂夫和奥托,你好,我被锁在外面了。 我碰巧在我的话题列表的顶部看到了这个,没有锁的标志,所以想知道发生了什么。 系统有错误吗, 还是允许我再谈一次? 谢谢(我想?)

admin_action_{$_REQUEST[‘action’]}

do_action( "admin_action_{$_REQUEST[‘action’]}" )动作钩子::在发送“Action”请求变量时激发。Action Hook: Fires when an ‘action’ request variable is sent.目录锚点:#说明#源码说明(Description)钩子名称的动态部分$_REQUEST['action']引用从GET或POST请求派生的操作。源码(Source)更新版本源码位置使用被使用2.6.0 wp-admin/admin.php:...

日期:2020-09-02 17:44:16 浏览:1127

admin_footer-{$GLOBALS[‘hook_suffix’]}

do_action( "admin_footer-{$GLOBALS[‘hook_suffix’]}", string $hook_suffix )操作挂钩:在默认页脚脚本之后打印脚本或数据。Action Hook: Print scripts or data after the default footer scripts.目录锚点:#说明#参数#源码说明(Description)钩子名的动态部分,$GLOBALS['hook_suffix']引用当前页的全局钩子后缀。参数(Parameters)参数类...

日期:2020-09-02 17:44:20 浏览:1032

customize_save_{$this->id_data[‘base’]}

do_action( "customize_save_{$this->id_data[‘base’]}", WP_Customize_Setting $this )动作钩子::在调用WP_Customize_Setting::save()方法时激发。Action Hook: Fires when the WP_Customize_Setting::save() method is called.目录锚点:#说明#参数#源码说明(Description)钩子名称的动态部分,$this->id_data...

日期:2020-08-15 15:47:24 浏览:775

customize_value_{$this->id_data[‘base’]}

apply_filters( "customize_value_{$this->id_data[‘base’]}", mixed $default )过滤器::过滤未作为主题模式或选项处理的自定义设置值。Filter Hook: Filter a Customize setting value not handled as a theme_mod or option.目录锚点:#说明#参数#源码说明(Description)钩子名称的动态部分,$this->id_date['base'],指的是设置...

日期:2020-08-15 15:47:24 浏览:866

get_comment_author_url

过滤钩子:过滤评论作者的URL。Filter Hook: Filters the comment author’s URL.目录锚点:#源码源码(Source)更新版本源码位置使用被使用 wp-includes/comment-template.php:32610...

日期:2020-08-10 23:06:14 浏览:903

network_admin_edit_{$_GET[‘action’]}

do_action( "network_admin_edit_{$_GET[‘action’]}" )操作挂钩:启动请求的处理程序操作。Action Hook: Fires the requested handler action.目录锚点:#说明#源码说明(Description)钩子名称的动态部分$u GET['action']引用请求的操作的名称。源码(Source)更新版本源码位置使用被使用3.1.0 wp-admin/network/edit.php:3600...

日期:2020-08-02 09:56:09 浏览:848

network_sites_updated_message_{$_GET[‘updated’]}

apply_filters( "network_sites_updated_message_{$_GET[‘updated’]}", string $msg )筛选器挂钩:在网络管理中筛选特定的非默认站点更新消息。Filter Hook: Filters a specific, non-default site-updated message in the Network admin.目录锚点:#说明#参数#源码说明(Description)钩子名称的动态部分$_GET['updated']引用了非默认的...

日期:2020-08-02 09:56:03 浏览:834

pre_wp_is_site_initialized

过滤器::过滤在访问数据库之前是否初始化站点的检查。Filter Hook: Filters the check for whether a site is initialized before the database is accessed.目录锚点:#源码源码(Source)更新版本源码位置使用被使用 wp-includes/ms-site.php:93910...

日期:2020-07-29 10:15:38 浏览:808

WordPress 的SEO 教学:如何在网站中加入关键字(Meta Keywords)与Meta 描述(Meta Description)?

你想在WordPress 中添加关键字和meta 描述吗?关键字和meta 描述使你能够提高网站的SEO。在本文中,我们将向你展示如何在WordPress 中正确添加关键字和meta 描述。为什么要在WordPress 中添加关键字和Meta 描述?关键字和说明让搜寻引擎更了解您的帖子和页面的内容。关键词是人们寻找您发布的内容时,可能会搜索的重要词语或片语。而Meta Description则是对你的页面和文章的简要描述。如果你想要了解更多关于中继标签的资讯,可以参考Google的说明。Meta 关键字和描...

日期:2020-10-03 21:18:25 浏览:1619

谷歌的SEO是什么

SEO (Search Engine Optimization)中文是搜寻引擎最佳化,意思近于「关键字自然排序」、「网站排名优化」。简言之,SEO是以搜索引擎(如Google、Bing)为曝光媒体的行销手法。例如搜寻「wordpress教学」,会看到本站的「WordPress教学:12个课程…」排行Google第一:关键字:wordpress教学、wordpress课程…若搜寻「网站架设」,则会看到另一个网页排名第1:关键字:网站架设、架站…以上两个网页,每月从搜寻引擎导入自然流量,达2万4千:每月「有机搜...

日期:2020-10-30 17:23:57 浏览:1262