【问题标题】:Two Copies of Magento Installation on Localhost本地主机上的 Magento 安装的两个副本
【发布时间】:2014-09-25 21:35:25
【问题描述】:

我的目标是在我的 Sites/ 文件夹中安装两个版本的 Magento。一个是我们现在使用的版本(1.12),另一个是升级版本(1.14)。我需要这样做有几个原因。

另一位开发人员升级了 Magento 并发送了站点文件,我将其放入 Sites/magento2.dev,并且我在 Sites/magento1.dev 中也有工作原件。

我创建了一个单独的数据库,从升级版本导入转储,并将其放在 magento2 的 local.xml 文件中:

<host><![CDATA[localhost]]></host>
<username><![CDATA[root]]></username>
<password><![CDATA[mypassword]]></password>
<dbname><![CDATA[mydatabase]]></dbname>
<active>1</active>

然后我进入数据库并更改了我们三个网站的core_config_data 基本网址,以模仿我在旧版本上设置的内容:

http://www.magento2.dev/
http://www.magento2-b.dev/
http://www.magento2-c.dev/

我更新了我的 /etc/apache2/extra/httpd-vhosts.conf 文件:

# Virtual Hosts
# Note: You also need to edit the hosts file /private/etc/hosts
NameVirtualHost *:80
#magento1.dev / Magento 1.12
<VirtualHost *:80>
ServerAdmin myuser@mywebsite.com
DocumentRoot "/Users/myuser/Sites/magento1.dev"
<Directory "/Users/myuser/Sites/magento1.dev">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ServerName magento1.dev
ErrorLog "/private/var/log/apache2/magento1.dev-error_log"
CustomLog "/private/var/log/apache2/magento1.dev-access_log" common
</VirtualHost>

#magento-b.dev / Magento 1.12
<VirtualHost *:80>
ServerAdmin myuser@mywebsite.com
DocumentRoot "/Users/myuser/Sites/magento1.dev"
ServerName magento1-b.dev
ErrorLog "/private/var/log/apache2/magento1-b.dev-error_log"
CustomLog "/private/var/log/apache2/magento1-b.dev-access_log" common
</VirtualHost>

#magento-c.dev / Magento 1.12
<VirtualHost *:80>
ServerAdmin myuser@mywebsite.com
DocumentRoot "/Users/myuser/Sites/magento1.dev"
ServerName magento1-c.dev
ErrorLog "/private/var/log/apache2/magento1-c.dev-error_log"
CustomLog "/private/var/log/apache2/magento1-c.dev-access_log" common
</VirtualHost>

#magento2.dev / Magento 1.14
<VirtualHost *:80>
ServerAdmin myuser@mywebsite.com
DocumentRoot "/Users/myuser/Sites/magento2.dev"
ServerName magento2.dev
ErrorLog "/private/var/log/apache2/magento2.dev-error_log"
CustomLog "/private/var/log/apache2/magento2.dev-access_log" common
</VirtualHost>

#magento2-b.dev / Magento 1.14
<VirtualHost *:80>
ServerAdmin myuser@mywebsite.com
DocumentRoot "/Users/myuser/Sites/magento2.dev"
ServerName magento2-b.dev
ErrorLog "/private/var/log/apache2/magento2-b.dev-error_log"
CustomLog "/private/var/log/apache2/magento2-b.dev-access_log" common
</VirtualHost>

#magento2-c.dev / Magento 1.14
<VirtualHost *:80>
ServerAdmin myuser@mywebsite.com
DocumentRoot "/Users/myuser/Sites/magento2.dev"
ServerName magento2-c.dev
ErrorLog "/private/var/log/apache2/magento2-c.dev-error_log"
CustomLog "/private/var/log/apache2/magento2-c.dev-access_log" common
</VirtualHost>  

我更新了我的 /private/etc/hosts 文件:

127.0.0.1       localhost
127.0.0.1       www.magento1.dev
127.0.0.1       www.magento1-b.dev
127.0.0.1       www.magento1-c.dev
127.0.0.1       www.magento2.dev
127.0.0.1       www.magento2-b.dev
127.0.0.1       www.magento2-c.dev

我已经尝试了其他一些迭代(添加斜杠、http、www 等),结果总是相同。当我访问 www.magento2.dev、www.magento2-b.dev 或 www.magento2-c.dev 时,我得到的旧版本网站 (www.magento1.dev) 的版本略有不同(字体损坏) ),但使用新的 URL。登录到后端,可以看到是1.12,并且网址更改为旧版本。基本上,我好像刚刚为旧版的主商店网站创建了三个新的本地域。

我已经重新启动了 apache 和 mysql 大约一百万次。

我还应该注意,如果我到达http://localhost/~myuser/magento2.dev,我会收到 403 通知。

我在这里缺少什么?

【问题讨论】:

    标签: macos magento localhost


    【解决方案1】:

    首先,将 httpd.conf 中的 ServerName 与您在本地 hosts 文件中添加的相应域进行匹配。当您访问浏览器中的任何 url 时,还可以尝试实时查看日志。

    $ cd /private/var/log/apache2/
    $ tail -f magento1-b.dev-error_log
    

    您还可以一次跟踪所有日志文件,以查看在浏览器中访问任何 localhost 主机文件域时哪个虚拟主机受到了打击。

    $ cd /private/var/log/apache2/
    $ tail -f *.log
    

    此外,通过在 Magento 根目录中创建一个简单的 .php 文件并使用浏览器访问它来测试虚拟主机是否正常工作。例如,使用以下内容创建 /Users/myuser/Sites/magento1.dev/info.php:

    <?php
    echo gethostname() . "\n";
    echo getcwd() . "\n";
    ?>
    

    访问http://www.magento1.dev/info.php 访问http://www.magento2.dev/info.php

    验证本地主机文件(Mac)

    127.0.0.1       www.magento1.dev
    127.0.0.1       www.magento1-b.dev
    127.0.0.1       www.magento1-c.dev
    127.0.0.1       www.magento2.dev
    127.0.0.1       www.magento2-b.dev
    127.0.0.1       www.magento2-c.dev
    

    否则,将其用作最低 httpd.conf(具有匹配的 ServerName。目前在我的本地 MAMP 环境中有效。)

    NameVirtualHost *
    
    <VirtualHost *>
    DocumentRoot "/Users/myuser/Sites/magento1.dev"
    ServerName www.magento1.dev
    ErrorLog "/Users/myuser/Sites/magento1.dev-error_log"
    CustomLog "/Users/myuser/Sites/magento1.dev-access_log" common
    </VirtualHost>
    
    <VirtualHost *>
    DocumentRoot "/Users/myuser/Sites/magento1.dev"
    ServerName www.magento1-b.dev
    ErrorLog "/Users/myuser/Sites/magento1-b.dev-error_log"
    CustomLog "/Users/myuser/Sites/magento1-b.dev-access_log" common
    </VirtualHost>
    
    <VirtualHost *>
    DocumentRoot "/Users/myuser/Sites/magento1.dev"
    ServerName www.magento1-c.dev
    ErrorLog "/Users/myuser/Sites/magento1-c.dev-error_log"
    CustomLog "/Users/myuser/Sites/magento1-c.dev-access_log" common
    </VirtualHost>
    
    
    <VirtualHost *>
    DocumentRoot "/Users/myuser/Sites/magento2.dev"
    ServerName www.magento2.dev
    ErrorLog "/Users/myuser/Sites/magento2.dev-error_log"
    CustomLog "/Users/myuser/Sites/magento2.dev-access_log" common
    </VirtualHost>
    
    <VirtualHost *>
    DocumentRoot "/Users/myuser/Sites/magento2.dev"
    ServerName www.magento2-b.dev
    ErrorLog "/Users/myuser/Sites/magento2-b.dev-error_log"
    CustomLog "/Users/myuser/Sites/magento2-b.dev-access_log" common
    </VirtualHost>
    
    <VirtualHost *>
    DocumentRoot "/Users/myuser/Sites/magento2.dev"
    ServerName www.magento2-c.dev
    ErrorLog "/Users/myuser/Sites/magento2-c.dev-error_log"
    CustomLog "/Users/myuser/Sites/magento2-c.dev-access_log" common
    </VirtualHost>
    

    如果您有可用的虚拟主机,请检查每个 Magento 副本中的 index.php 和 .htaccess 文件中是否存在任何硬编码的域或存储代码。

    【讨论】:

    • 太棒了!知道如何像这样监控日志文件非常有帮助。原来是 httpd.conf 文件;一旦我将&lt;VirtualHost *:80&gt; 更改为&lt;VirtualHost *&gt; 并将www 前缀添加到每个条目的ServerName,它就起作用了。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2013-09-30
    • 1970-01-01
    • 2018-11-27
    • 1970-01-01
    • 2013-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多