分享使用wp-env在Ubuntu上设置WordPress测试环境

在Ubuntu上使用wp-env搭建WordPress测试环境

关键词:wp-env, Ubuntu, WordPress测试环境, 安装, 使用方法

近期,我在参加一家与WordPress密切相关的公司的面试中遇到了不少挑战。其中最困扰我的一点是如何搭建一个简单的本地测试环境,因为我几乎在每一个步骤上都感到困惑,而且很难找到关于如何进行基本操作的信息,比如构建一个简单的本地测试环境等。

在调研了很多资料并向我的资源求助后,我终于收集到了完成这个作业挑战所需的信息(你可以在这里阅读我的心得)。但同时我也意识到,还有许多其他人可能需要知道更多的内容,即使是那些能够帮助他们实际写作的“背后教程”。因此,我打算分享一些我所发现的信息,以帮助那些在寻找解决方案时感到沮丧和缺乏知识的人。

在开始之前,我先给出我所做的一些假设:

由于你的设置可能与我的(可能吗?应该是“几乎肯定”!)不同,以下是我所使用的配置。如果你的情况不同,请根据实际情况进行调整:

  • Ubuntu 23.10 (Mantic Minotaur)

  • AMD Ryzen 7处理器,16核

  • 64Gb内存

安装wp-env

首先,为了安装wp-env本身,你需要进行以下步骤:

  1. 安装docker(可以在这里找到详细的说明)

  2. 安装node.js(可以在这里找到说明)

  3. 最后,运行以下命令来安装wp-env:npm -g i @wordpress/env

最重要的一点

大多数人需要同时拥有多个WordPress环境,并且这些环境必须完全独立。这将帮助你理解我所了解到的最重要的一点:

无论你在启动wp-env时所处的目录是哪一个,wp-env都会与该目录绑定。

具体来说,假设你有两个目录:/foo和/bar:

  • 今天,你位于/foo目录并启动了wp-env;

    你进行了许多更改、安装了一些插件等;

  • 明天,你位于/bar目录并启动了wp-env;

你可能会认为你的所有更改都消失了,但实际上并不是这样。停止wp-env,切换到/foo目录,并重新启动wp-env,你将看到昨天的所有更改。实际上,你甚至不需要从/bar目录停止wp-env。你可以同时运行两个环境。

这是一个特性,而不是一个bug。每个开始wp-env的目录都有其自己的独立环境。这使得你能够测试和开发多个环境,而它们之间互不干扰。

另一个重要的一点

大多数人安装wp-env是为了测试插件,无论是他们想要尝试的插件还是他们自己正在开发的插件,这将帮助你理解我所能告诉你的另一个最重要的事情:

当你启动wp-env时,位于你启动命令所在目录(/foo或/bar等)的目录被视为/wp-content/plugins/new-plugin-name。

而其余的WordPress安装文件都在你的家目录下的~/wp-env文件夹中。

简单使用wp-env

有了这两个重要的信息,你就基本上拥有了开始的所需信息。

通过进入要与该开发环境关联的目录(如前面解释的),然后输入以下命令来启动wp-env:

wp-env start

就是这样!

嗯,就是这些。但之后,你可能会看到一两条消息。大多数情况下,它只是告诉你有一两个文件没有找到(稍后会详细介绍),等等。真的没什么可担心的。

而且,第一次在你的机器上运行wp-env时,你会看到有关下载实际包含基础WordPress镜像的docker容器的消息。

基础WordPress镜像的docker容器的消息

但在所有这些之后,假设你没有遇到任何无法继续的问题,你将会收到一条消息,告诉你WordPress正在特定端口上运行。

WordPress正在特定端口上运行

如果你浏览到该地址,你将看到WordPress运行起来了。

WordPress运行效果图

更重要的是,你可以通过访问(wp-env显示给你的地址)/wp-admin来登录到管理员面板。

wordpress管理员面板

WordPress登录

你可以使用用户名admin和密码password进行登录。

WordPress后台管理面板

欢迎来到WordPress

在你担心安全性问题之前,请记住这只是在你的系统上运行。

好吧,现在你可以开始慌了,并更改该密码!!

然后,你可以开始尽情地玩耍、开发你的插件或者进行其他你在这个测试环境中需要的工作。

关闭这个疯狂的东西

如果你需要关闭你的环境,请运行以下命令:

wp-env stop

记得要在你启动命令所在的目录中执行此命令,否则你可能会关闭错误的环境!

文档中没有告诉你的事情

(或者没有清楚地告诉你。或者也许只有我一个人不知道。)

大多数情况下,只需运行wp-env start就足够了。

但偶尔你可能需要进行一些其他调整。我遇到的一个情况是默认的PHP版本(7.4)与我正在开发的插件不兼容。但事实证明,你可以使用各种可选元素来启动wp-env,比如指定你想要的PHP版本:

WP_ENV_PHP_VERSION=8.1 wp-env start

这里的技巧是指示PHP的主要版本。因此,你不能指定8.1.3。实际上,这与WordPress可用的各种docker镜像有关(你可以在这里找到)。

默认情况下,wp-env将在8888端口上启动网站。但如果你需要在不同的端口上运行,你可以进行特定设置。

WP_ENV_PORT=3333 wp-env start

但你不必在命令行上做所有的事情。你还可以将所有的设置放在一个名为.wp-env.json的文件中,并将其保存在第一次运行wp-env时所在的目录中。

这就解释了之前你看到的启动错误(实际上只是一条错误-ish消息)。

更多细节,请查看此页面的“.wp-env.json”部分。

故障排除和其他问题

“螺丝钉总是会掉落的。世界是个不完美的地方。”

- 约翰·本德尔,《早餐俱乐部》

如果事情没有按你的意愿或预期运行,有几件事情可以做来解决问题:

  1. 检查是否正确安装了docker和node.js。确保按照之前提到的说明进行安装,并验证安装是否成功。

  2. 确保你在启动wp-env时所处的目录是正确的。记住,wp-env会与启动命令所在的目录绑定。如果你在错误的目录中启动了wp-env,可能会导致意想不到的结果。

  3. 如果你遇到了容器下载失败的问题,可以尝试使用代理或者切换至其他网络环境再次尝试。

  4. 检查是否存在端口冲突。如果你在启动wp-env时遇到了端口被占用的错误,请尝试使用不同的端口号或者关闭占用该端口的其他服务。

  5. 如果你需要调整PHP版本或其他设置,可以参考之前提到的方法,在启动命令中指定相关的环境变量或者在".wp-env.json"文件中进行配置。

  6. 如果遇到其他问题,建议查阅官方文档或者社区论坛,寻找类似的问题和解决方案。还可以使用调试工具和日志来帮助排查问题。

大部分不必要的总结

在WordPress中开发新功能、插件或改进已经很具有挑战性了,而不必再费力去搭建测试环境。

希望本文能够帮助你节省一些时间,让你更快地进入“Hello World”的阶段。文章来源地址https://www.toymoban.com/diary/share/669.html

到此这篇关于分享使用wp-env在Ubuntu上设置WordPress测试环境的文章就介绍到这了,更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

原文地址:https://www.toymoban.com/diary/share/669.html

如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用
RabbitMQ具有什么优势,为什么好多公司依然选择 RabbitMQ
上一篇 2024年01月05日 14:46
如何加固基于Java的程序以防止黑客攻击
下一篇 2024年01月05日 22:46

相关文章

  • 【WordPress】分页插件WP-PageNavi使用教程

    参考:WordPress分页插件:WP-PageNavi_51CTO博客_wordpress静态化插件 注意:此插件并不是启用后就可以看到效果了,必须把以下代码放到模板上; 例如:分类目录模板【如果放置在底部,请添加到footer.php的底部即可】 切记:不要把代码放到循环内!

    2024年02月07日
    浏览(23)
  • Wp模板,免费WordPress模板,WordPress插件详解

    Wp模板,最近很多站长问我有没有对SEO优化友好的WordPress模板主题。不要问有没有WordPress模板主题,问就是有wp模板主题。但是我们站长如果想做好SEO优化,我们光有“漂亮”的WordPress主题模板是不够的,我们要做SEO基础优化一步一步对网站进行SEO站内优化以及SEO站外优化。我

    2024年02月13日
    浏览(25)
  • 前端vue3分享——项目封装axios、vite使用env环境变量

    大家好,我是yma16,本文分享关于前端vue3分享——项目封装axios、使用env环境变量。 该系列往期文章: csdn新星计划vue3+ts+antd赛道——利用inscode搭建vue3(ts)+antd前端模板 认识vite_vue3 初始化项目到打包 什么是axios axios是一个流行的JavaScript库,用于在浏览器和Node.js环境中进行H

    2024年02月07日
    浏览(22)
  • wordpress采集插件wp-autopost-pro最新版

    功能描述:一键安装,全自动采集更新,无需人工干预WP-AutoPost安装十分简单方便,只需几分钟,立即开始自动采集更新您的网站,而且结合开源的wordpress程序,新手也能快速上手,根据所设定的采集方式采集网址,然后自动抓取网页内容,检测文章是否重复,导入更新文章

    2024年02月01日
    浏览(36)
  • wordpress合理利用wp-config.php文件小功能

    这里有几个通过往wp-config.php中添加代码实现相关功能的技巧分享给大家。 1,去掉WordPress的历史修订版本功能。 这个是WordPress默认的功能,主要是方便多人协作写文章使用,但是在单人网站上,这个功能基本上是鸡肋。 去掉的办法: 在wp-config.php中添加代码: 复制代码 代码

    2023年04月23日
    浏览(27)
  • 优化WordPress分类链接及WP-No-Category-Base的卸载方法

    默认情况下,WordPress分类的永久链接是这样的比如本站的技术文章分类。 exehack.net/category/my-article/ 如果能把中间那段Category去掉,是不是更美观切更利于SEO优化呢: exehack.net/my-my-article/ 去除category的效果图: 小遍发现了二种方法: 1.开始本站就是启用的WP No  Category Base插件,使

    2023年04月23日
    浏览(23)
  • 踩了大坑:wordpress后台 无法将上传的文件移动至wp-content

    今天迁移了wordpress站点至新服务器,结果上传图片出现“ 无法将上传的文件移动至wp-content/uploads ”的提示,这是怎么回事,为什么会这样。 报错如下: 以上错误日志中,主要的错误信息为: 出现此类问题时,一定要查看错误日志!!! nginx的错误日志、php的错误日志,系

    2024年02月09日
    浏览(34)
  • wordpress定时任务(wp-cron.php)造成主机CPU比较高的解决办法

    自从用了阿里云主机,真是没有省心过。 这两天网站CPU天天100+的,过一会就挂了,原来是wp-cron.php文件造成的。 wordpress的定时任务功能我们还是经常要用到的,例如wordpress的定时备份,定时发布文章等都需要用到wordpress的定时任务功能,而在wordpress中,是靠wp-cron.php来实现这

    2023年04月23日
    浏览(22)
  • php-cgi进程cpu负载过高:禁用wordpress定时任务wp-cron.php

    一、问题描述 1、19号手动升级到wordpress4.1,21号早上7点看网站php探针,发现系统负载过高,差不多在1到1.5之间。 2、虽然对于双核处理器,这个值还可以接受,但是之间负载都只有0.2左右,而网站流量又没有突然增加很多,所以推定肯定是出问题了。 3、eth 外网流量正常,

    2023年04月23日
    浏览(23)
  • 如何在 Ubuntu 22.04 上使用 LEMP 安装 WordPress

    前些天发现了一个人工智能学习网站,通俗易懂,风趣幽默,最重要的屌图甚多,忍不住分享一下给大家。点击跳转到网站。 介绍 WordPress 是互联网上最流行的内容管理系统 (CMS) 之一,它允许用户来设置灵活的博客和网站。WordPress 是高效建立和运行网站的绝佳选择。初始设

    2024年01月21日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包