【问题标题】:How can I safely port my wordpress blog to localhost?如何安全地将我的 wordpress 博客移植到本地主机?
【发布时间】:2010-01-05 13:00:20
【问题描述】:

我正在尝试为我的 wordpress 博客制作本地开发副本。我首先尝试在本地安装 wordpress(在 XAMPP for Windows 上),安装插件然后导入实时数据(从数据库备份)。问题是每当我导入实时数据时,我都会遇到各种错误,即使我通过数据库更改了博客的 URL。

此外,我在服务器上的重定向规则似乎在本地不起作用(无论是由 wordpress 或其某些插件设置的)。

那么有没有一种安全的方法来抓取整个东西并让它在本地工作,就像在服务器上一样?

非常感谢您的帮助:)

【问题讨论】:

    标签: php apache wordpress permalinks


    【解决方案1】:
    1. 获取在线 wordpress 安装中所有文件的完整备份
    2. 获取正在使用的数据库的完整备份
    3. 使用任何文本编辑软件,处理数据库备份的SQL文件,将http://old.site的每一个出现都更改为http://localhost
    4. 将文件解压到您的文档根目录
    5. 编辑 wp-config.php 以调整数据库主机/用户/密码
    6. 导入修改后的 SQL 备份
    7. 登录管理面板,转到选项->永久链接并保存以更新永久链接

    无需安装任何东西,只需获取您在线的内容即可。在 Windows 上,您可能需要重命名 .htaccess

    【讨论】:

    • 搜索 + 替换救了我的命!谢谢队友:) +1
    【解决方案2】:

    也许有人会为此提供一个工具、教程或完整的 HOWTO,但与此同时,还有一些关于迁移的一般性内容:

    1. 重定向规则可能不起作用,因为 Windows 的 .htaccess 文件名由于起始 . 而出现问题。我通常做的是,将我的 Apache 配置中的 AccessFileName 指令添加(或更改)到 htaccess.txt,以使文件在 Windows 上更好地使用。如果这没有帮助,请将 .htaccess 的内容放在这里。

    2. 根据我(尽管有限)的 Wordpress 经验,最好制作 Wordpress 文件和数据结构的原始副本,而不是安装新版本并添加所有插件。 Wordpress 代码库(插件的自动更新等)发生了如此大的变化,以至于问题层出不穷。然后,您必须在配置文件中本地更改路径,或设置完全模仿服务器上的本地路径结构。

    您能否发布一些您在使用实时数据时遇到的错误?

    【讨论】:

    • 关于#1 的好建议。你能详细说明#2吗?如何获取数据的原始副本(我目前使用 WP-DB-Backup)?至于错误,当我尝试将整个安装移动到 localhost 时,我开始收到自定义 URL 的“未找到”错误(尽管主页工作正常)。当我安装一个新的 wordpress 安装然后迁移数据(phpmyadmin 导入/导出)时,即使在主页上我也会收到 404 错误。不太清楚发生了什么。
    • #2:例如在远程服务器上安装 phpMyAdmin,导出数据库的完整转储,在本地重新导入 phpMyAdmin。如果您具有对服务器和/或本地的命令行访问权限,您还可以使用mysqldumpmysql。至于错误,请确保您的 htaccess 重定向首先正常工作。错误可能会全部消失。
    • 要制作 WordPress 文件结构的原始副本,只需通过 FTP 或类似方式将整个文件复制到本地硬盘。
    • 并确保更新 mysql 连接字符串,以便连接到正确的数据库。不知道这是在 WordPress 中完成的,但应该在某个地方:p 即将 mysql.mysite.com 更改为 localhost 或其他任何内容。
    • 确保编辑您的 wp_options 表以更新您的博客安装路径。您还需要记住,为帖子生成的 guid 将是完整的永久链接样式 url,因此它们将是 http。如果你想更新它们,我想你可以用 mysql 查询替换它,但通常你可以解决它。
    【解决方案3】:

    也许更简单的方法是添加一个从博客地址到本地主机的主机引用,例如http://en.wikipedia.org/wiki/Hosts_file。这将允许您测试您的博客,就好像它实际上在域上运行一样,没有任何潜在的陷阱。

    【讨论】:

      【解决方案4】:

      这是我的 2cents 小费:

      如果您正在使用插件,并且其中一个具有 api-key(例如,Google 的分析工具包,需要一个密钥),则该密钥可能绑定到您所在的 IP 地址wordpress 博客位于并且 可能 在 localhost (127.0.0.1) 下失败。因此,请仔细检查您是否可以获得可以在任何 IP 地址上工作的全局密钥。这取决于服务和插件。谷歌地图是一个,Recaptcha 是另一个我想到的。

      希望这会有所帮助, 此致, 汤姆。

      【讨论】:

        【解决方案5】:

        kemp 的回答几乎是完美的。我只想补充一点,您可以下载 VirtualBox 或 VMware 之类的东西并在其中安装 Linux,然后在虚拟机上启动并运行网络服务器。这将使您克服任何 WAMP-LAMP 不一致的问题。

        【讨论】:

          【解决方案6】:

          Kemp 的回答很好 - 但您不需要编辑 SQL 转储或更改数据库。

          相反,在您的 wp-config.php 文件中添加 2 行(我通常将它们添加到文件中的注释行上方:

          define('WP_HOME','http://localhost');
          define('WP_SITEURL','http://localhost');
          
          
          /* That's all, stop editing! Happy blogging. */ <-- this line already present in the file.
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2013-05-15
            • 1970-01-01
            • 2017-12-20
            • 2012-04-03
            • 1970-01-01
            • 1970-01-01
            • 2014-04-27
            相关资源
            最近更新 更多