Wordpress-onstart(?)添加意外的崩溃处理



我是WordPress的新手,我正在为它构建一些后端逻辑。我希望管理员有尽可能顺利的经验。我希望他能够用";点击按钮";。

我习惯了Java和nodeJS环境,在那里我有生命周期,在这里,我可以指定服务器启动时发生的逻辑,但我很难理解在WordPress(或PHP(中是如何完成的。

我希望网站检查数据库,看看它是否需要表格来运行,如果没有,创建表格并用相关数据填充,以及检查数据库是否是最新的(以防长时间崩溃(,并在必要时进行更新。

现在我正在考虑每隔几分钟运行一次Cron脚本来检查它,但它占用了大量资源。一个更好的解决方案可能是在与用户的第一次交互时运行它,但这似乎并不理想,因为这会减慢用户的速度。

WordPress有生命周期吗?我应该担心它在重要的操作中崩溃,然后自己开始吗?我可以指定它在启动/重新启动时运行的逻辑吗?

我不完全确定你说";用相关数据填充它们";,但我建议,要么利用WordPress自己的逻辑,要么使用其他工具完成任务。

就像任何php脚本一样,它是无状态的,并且以index.php作为起点。然后按顺序加载文件,请求的内容和环境将取决于您的最终位置。这就是php的工作方式,与JS的关键区别在于JS在您的计算机上执行,而php是一组经过编译的服务器端脚本,会产生某种输出,并将其发送回浏览器,就像调用RESTapi一样。

您可能需要查看以下内容:

wp-load.php:将查找在wp-config.php中定义的常量的文件,当该文件还不存在时,它将重定向到";著名的";wordpress站点设置(在加载了一堆与数据库连接和请求数据相关的东西之后(。你可以遵循逻辑,但我建议你不要那样做。这是因为WordPress核心非常古老,这为您提供了一个21世纪初php应用程序的外观示例,并且很可能会引起头痛。

现有工具

不仅是在服务器级别,还有像wp-cli这样的东西,或者可能是基于composer的解决方案,比如roots/基岩,甚至roots/wordpress。

直接回答您关于生命周期的问题

是的,WordPress提供了一个过时的挂钩系统,但这只是在活动安装的请求生命周期中,所以这并不是你想要的。

最后,对WordPress的内部工作有一些了解是很好的,但WordPress易于运行并与许多设置兼容的全部原因,只是因为它们";争取永远的向后兼容性";(这也是他们不使用语义版本控制的原因(。这反过来意味着核心是非常过时和不可读的,所以我不会麻烦自己去弄清楚。

更重要的是,我不想让你认为这是PHP世界的一个公平代表,自从WordPress最初发布以来,该语言已经完全进化,它的大多数关键组件都是一个良好的开发体验,还有很长的路要走。

简而言之,我会寻找为您的特定服务器设置构建的现有解决方案,如果由于某种原因无法实现,请尝试在php或其他语言中找到某种CLI工具。

最新更新