掌握聚合最新动态了解行业最新趋势
API接口,开发服务,免费咨询服务

Wordpress 本地调试

最近准备把博客迁移到 Wordpress 上,在主机上部署好了 Wordpress 后,遇到了一个头疼的问题,我期望将线上的环境同步一份到本地,本地代码与服务器保持同步,本地修改后可以及时预览。

看起来是个很简单的需求,但遇到了两个问题,下面说的比较详细,供小白参考。

Wordpress 在设置完站点 URL 和主页 URL 后,所有的资源引用都指向线上地址,比如我线上地址是 112.18.3.7:3333,进入后台管理页,会直接跳转到 http://112.18.3.7:3333/wp-admin/,根本不会进入我本地的 http://localhost:8888/wp-admin,原因很简单,WP 会从数据库读取这些配置信息,可以将 /wp-includes/option.php 中的 get_option 函数做一下修改:

function get_option( $option, $default = false ) {
$BLOG_DEBUG = $_COOKIE["blog_debug"]; 
if ( $BLOG_DEBUG && preg_match("/^https?:\/\/[\w-_.:]+$/", $BLOG_DEBUG)
&& ($option == 'siteurl' || $option == 'home') ) {
return $BLOG_DEBUG;
}
// ...
}

上面代码的意思是,如果访问站点时,找到了名叫 blog_debug 的 cookie,则将数据库取出来的 siteurl 和 home 两个值提换成 blog_debug 对一个的 cookie。那么,我们只需要在本地打开的 http://localhost:8888/ 页面中写上:

document.cookie = 'blog_debug=http://localhost:8888';

如上,就可以完成本地调试了。

Linux 上安装数据库,默认只允许在 127.0.0.1 下访问,外部是访问不了的,比如通过 112.18.3.7:3306,设置比较简单:

# vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 注释下面这行
# binding-adress = 127.0.0.1

然后重启 mysql 就好了:

sudo /etc/init.d/mysql restart

当然,记得把 wp-config.php 中的 Mysql 主机地址修改下:

define('DB_HOST', '112.18.3.7');

使用 hexo 构建和 Github pages 部署博客有快两年时间了,博客文件多了之后,构建效率特别低,也不方便修改错别字。得尽快把博客迁移到服务器上~

P.S. 本地和服务器的代码同步,我使用的是 VSCode 的一个插件(ftp-sync)。

原文来自:小胡子哥

声明:所有来源为“聚合数据”的内容信息,未经本网许可,不得转载!如对内容有异议或投诉,请与我们联系。邮箱:marketing@think-land.com

掌握聚合最新动态了解行业最新趋势
API接口,开发服务,免费咨询服务
Wordpress 本地调试
发布:2017-05-18 14:05:03

最近准备把博客迁移到 Wordpress 上,在主机上部署好了 Wordpress 后,遇到了一个头疼的问题,我期望将线上的环境同步一份到本地,本地代码与服务器保持同步,本地修改后可以及时预览。

看起来是个很简单的需求,但遇到了两个问题,下面说的比较详细,供小白参考。

Wordpress 在设置完站点 URL 和主页 URL 后,所有的资源引用都指向线上地址,比如我线上地址是 112.18.3.7:3333,进入后台管理页,会直接跳转到 http://112.18.3.7:3333/wp-admin/,根本不会进入我本地的 http://localhost:8888/wp-admin,原因很简单,WP 会从数据库读取这些配置信息,可以将 /wp-includes/option.php 中的 get_option 函数做一下修改:

function get_option( $option, $default = false ) {
$BLOG_DEBUG = $_COOKIE["blog_debug"]; 
if ( $BLOG_DEBUG && preg_match("/^https?:\/\/[\w-_.:]+$/", $BLOG_DEBUG)
&& ($option == 'siteurl' || $option == 'home') ) {
return $BLOG_DEBUG;
}
// ...
}

上面代码的意思是,如果访问站点时,找到了名叫 blog_debug 的 cookie,则将数据库取出来的 siteurl 和 home 两个值提换成 blog_debug 对一个的 cookie。那么,我们只需要在本地打开的 http://localhost:8888/ 页面中写上:

document.cookie = 'blog_debug=http://localhost:8888';

如上,就可以完成本地调试了。

Linux 上安装数据库,默认只允许在 127.0.0.1 下访问,外部是访问不了的,比如通过 112.18.3.7:3306,设置比较简单:

# vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 注释下面这行
# binding-adress = 127.0.0.1

然后重启 mysql 就好了:

sudo /etc/init.d/mysql restart

当然,记得把 wp-config.php 中的 Mysql 主机地址修改下:

define('DB_HOST', '112.18.3.7');

使用 hexo 构建和 Github pages 部署博客有快两年时间了,博客文件多了之后,构建效率特别低,也不方便修改错别字。得尽快把博客迁移到服务器上~

P.S. 本地和服务器的代码同步,我使用的是 VSCode 的一个插件(ftp-sync)。

原文来自:小胡子哥

声明:所有来源为“聚合数据”的内容信息,未经本网许可,不得转载!如对内容有异议或投诉,请与我们联系。邮箱:marketing@think-land.com

选择想要的接口, 看看能免费获取多少次调用 选择(单选)或填写想要的接口
  • 短信API服务
  • 银行卡四元素检测[简]
  • 身份证实名认证
  • 手机状态查询
  • 三网手机实名制认证[简]
  • 身份证OCR识别
  • 证件识别
  • 企业工商信息
短信API服务
  • 短信API服务
  • 银行卡四元素检测[简]
  • 身份证实名认证
  • 手机状态查询
  • 三网手机实名制认证[简]
  • 身份证OCR识别
  • 证件识别
  • 企业工商信息
  • 确定
选择您的身份
请选择寻找接口的目的
预计每月调用量
请选择预计每月调用量
产品研发的阶段
请选择产品研发的阶段
×

前往领取
0512-88869195
数 据 驱 动 未 来
Data Drives The Future