php - Wordpress 本地克隆无法正常工作

标签 php wordpress apache session

我正在 Wordpress 上开发一个门户网站,并且有很多插件、帖子、类别等。现在,我想同时尝试三个主题。

因此,我在本地 apache 的 webroot 中创建了该文件夹的两个副本:

/wpSandbox/ [original, working still !]
/wpSandbox2/ [copy 1]
/wpSandbox3/ [copy 2]

同样,我使用phpMyAdmin复制了两次原始门户的数据库dbWordpress,然后在wp-config.php中进行了相应的更改

现在,这两个新副本(我希望它们是测试新主题的基础)无法登录到管理员。

事实上,

127.0.0.1/wpSandbox2/wp-admin/ 

实际重定向到:

127.0.0.1/wpSandbox/wp-admin/ 

并且无法使用与原始副本相同的凭据登录...:(

请告诉我为什么会发生这种情况,是否需要在 wp-config 中为副本更改其他内容......?

问候

最佳答案

您可能需要使用新 URL 更新您的数据库。这就是它重定向的原因。 复制下面的代码并在 phpMyAdmin 中运行它(确保你更改了顶部的 3 个变量......我将它们设置为我认为你应该设置的,但它可能与你的数据库设置方式不同)

SET @prefix = "wp_";
SET @old = "127.0.0.1/wpSandbox";
SET @new = "127.0.0.1/wpSandbox2";

SET @sql1 = CONCAT('UPDATE ', @prefix, 'options SET option_value = REPLACE(option_value,?,?)');
SET @sql2 = CONCAT('UPDATE ', @prefix, 'posts SET guid = REPLACE(guid,?,?)');
SET @sql3 = CONCAT('UPDATE ', @prefix, 'posts SET post_content = REPLACE(post_content,?,?)');

PREPARE update1 FROM @sql1;
PREPARE update2 FROM @sql2;
PREPARE update3 FROM @sql3;

EXECUTE update1 USING @old, @new;
EXECUTE update2 USING @old, @new;
EXECUTE update3 USING @old, @new;

DEALLOCATE PREPARE update1;
DEALLOCATE PREPARE update2;
DEALLOCATE PREPARE update3;

要点:https://gist.github.com/doitlikejustin/6091841

关于此代码/要点的一些信息...我一直在移动 WordPress 网站。这只是我编写的一些 SQL,以便更新数据库花费更少的时间,并且您不必担心手动更新 URL。它会自动更新 WP 选项表和 WP 帖子表。

关于php - Wordpress 本地克隆无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17938363/

相关文章:

php - Laravel mysql迁移错误

php - 只有少数 CSS 和图像未加载

php - 将网页关键字与数据库中的一组关键字相匹配

python - 如何将 conda 环境与 mod_wsgi 一起使用?

PHP 扩展 - 使用 PHP 发布编译的段错误

php - (PHP/JQuery) 用数据填充表单?

php - 如何获取wp include目录?

wordpress - 修改Wordpress自定义帖子类型中的 "Add Post"链接

php - 什么是适用于 Windows Vista 的强大而简单的 Apache/PHP/MySQL 安装程序

php - zend_mm_heap 用标准 PHP 5.6 损坏 : locating the cause