http://magento.local 恢复到实时站点 - 适用于 OSX 的 Magento 和 Xampp

Posted

技术标签:

【中文标题】http://magento.local 恢复到实时站点 - 适用于 OSX 的 Magento 和 Xampp【英文标题】:http://magento.local reverts to live site - Magento and Xampp for OSX 【发布时间】:2011-12-29 02:34:11 【问题描述】:

我在尝试重建我的开发环境时遇到了麻烦。

我已经安装了 XAMPP 并按照以下步骤操作:

    备份 mysql 数据库。 备份主目录。 创建具有相同用户/数据库名的数据库 成功导入 SQL 文件,并将主目录(和不可见文件)导入 htdocs。 已验证 base_url 和 secure_base_url 设置为“http://magento.local”(我也尝试过http://127.0.0.1) 删除所有缓存/会话

我怎样才能让http://magento.local 只显示我的本地网站,而不是恢复到实时 URL?

我已经编辑了我的 base_urls,甚至是 cookie url。

【问题讨论】:

从未用localhost 测试过,但Magento 不需要FQDN 才能正常工作吗? 即使在添加主机的情况下使用magento.local 之类的东西,它仍然会恢复。我已经从数据库中删除了 URL 的每个实例。 @danchet 你没有提到安装技术。您是先安装新的 magento installarion 还是只是替换生产服务器中的内容? 对不起,我忘了说,我将生产数据库复制到 OSX 上的一个空数据库中。 您是唯一对这个 Magento 实例进行更改的人吗?因为实时站点 URL 的代码中可能存在硬编码字符串。另外,尝试通过在脚本的不同部分放置断点来调试脚本,直到找到导致问题的代码行! 【参考方案1】:

Magento 正在加载,注意到您使用的 URL 与配置的不同,并重定向您。

Here are 在 Magento 配置中编辑基本 URL 的步骤。

我猜你需要清除那里提到的 Magento 缓存。

【讨论】:

谢谢,但正如我的问题所述 - 在遇到此问题之前,我已经采取了这些步骤。【参考方案2】:

你检查过你的 htaccess 文件了吗?

【讨论】:

它会在我的 htaccess 文件中的什么位置自动加载 URL? 我们必须先查看您的 htaccess 文件才能回答。似乎它运行重写规则。【参考方案3】:

我会尝试清除您的 Magento 缓存以启动。另请注意,某些浏览器会缓存重定向,因此请尝试在其他浏览器中访问该站点或清除浏览器缓存。

【讨论】:

试过这个方法,我还是只能得到现场。【参考方案4】:

确保您已设置 base_url。您实际上可以在 phpmyadmin 中对其进行编辑,查找名称中带有 'config_data' 的表。

localhost/text.html = test.html [正确]

当然它是正确的,因为它没有通过作为控制器工作的'index.php'。请记住,magento 也使用干净的 url。

www.yourdomain.com/index.php/name_for_the_page/

【讨论】:

基本 URL 和安全基本 URL 是 magento.local - 我已经从数据库中的几乎每条记录中删除了实时 URL,清除了我的浏览器缓存并将所有缓存文件夹或会话转储到 var。我删除了 var 的全部内容,但我仍然恢复到实时站点。没有线索。【参考方案5】:

如果您的 local magento 商店 url 像 http://magento/ 那么您的 Magento 不起作用,但如果您的 url 像 http:// magento.local/ - magento 商店可以正常工作。

【讨论】:

我是这样设置的,但它仍然恢复到实时站点。【参考方案6】:

我一直这样做的方式如下...

在 core_config_data 表中搜索任何属于 URL 的字段,您可以通过运行...

SELECT * FROM core_config_data WHERE value LIKE 'http%'

..或者如果你有它可以简单地使用 phpMyAdmin。我们的一个主要站点总共有大约 8 行需要更新(可能并非全部需要,可能会从运行它的旧版本中留下)。如果您看到您的实时 URL,只需将其更改为您的本地地址。

然后打开缓存文件夹并删除所有以 mage--* 开头的文件。在这一点上通常最终让我感到困惑的是文件权限。我不知道您使用的是什么操作系统,所以我无法告诉您如何检查,但如果 apache 用户在您第一次访问该站点时没有对缓存文件夹的写入权限,Magento 会创建大部分通常在操作系统临时目录的 DOCUMENT_ROOT/var 文件夹中创建的文件。例如,我们在工作中使用 Mac OSX,它会在 /tmp/magento/ 中创建缓存文件,删除该目录后您应该可以继续使用了。

注意:您可能应该在再次查看该站点之前更新 var 目录的文件权限,否则它将继续写入 temp 目录,这将在未来再次让您绊倒。

【讨论】:

改变我对 var 的权限做到了!谢谢! np,那个小金块让我无数次摸不着头脑:) 我会在几个小时内奖励赏金,当我有能力的时候。 另外 - 为什么当我将它改回 755 时,它又恢复到实时 URL? 假设您的 Apache(或您使用的任何服务器)没有作为所有者运行,因为组/每个人都无法写入文件,它会恢复到 tmp 目录。如果你没有删除/tmp/magento的内容,这仍然会使用旧值,如果你有,那我真的不确定。【参考方案7】:

如果您的 core_config_data 是正确的,那么这很可能是您的 local.xml 文件的问题。确保提供给此文件的数据库信息是正确的。

httpdocs/app/etc/local.xml

<default_setup>
        <connection>
            <host><![CDATA[localhost]]></host>
            <username><![CDATA[your_username]]></username>
            <password><![CDATA[your_password]]></password>
            <dbname><![CDATA[your_db]]></dbname>
            <initStatements><![CDATA[SET NAMES utf8]]></initStatements>
            <model><![CDATA[mysql4]]></model>
            <type><![CDATA[pdo_mysql]]></type>
            <pdoType><![CDATA[]]></pdoType>
            <active>1</active>
        </connection>
 </default_setup>

在这种情况下,您的 core_config_data 很好,只是没有使用正确的 core_config_data 表。当我的暂存数据库的名称与本地数据库不同时,我遇到了同样的问题。一个简单的“哎呀!”错误。

【讨论】:

感谢您的评论,这是我以后一定要注意的事情。

以上是关于http://magento.local 恢复到实时站点 - 适用于 OSX 的 Magento 和 Xampp的主要内容,如果未能解决你的问题,请参考以下文章

hiredis从安装到实操,带 API 详解

hiredis从安装到实操,带 API 详解

视频教程-从编程小白到量化宗师之路---BackTrader从数据采集到实盘交易-Python

从仿真到实飞,Prometheus自主无人机开发全覆盖!快来参加阿木实验室线下集训吧!

js 函数中形参与实参的关系

剑指offer