【问题标题】:Magento admin css missing due to using file system path由于使用文件系统路径,Magento admin css 丢失
【发布时间】:2012-01-22 22:48:49
【问题描述】:

我无法使用 Magento Connect 安装模块,出现Connection Error try again later 错误。按照模块开发人员的指示,我尝试修复文档根目录中的权限:

find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chmod o+w var var/.htaccess app/etc
chmod 550 mage
chmod -R o+w media

它仍然没有工作,所以我最终手动安装了模块。然后我登录到管理后端,Magento 尝试使用系统文件路径而不是像这样的 URL 来提供 CSS 文件:

<link rel="stylesheet" type="text/css" href="/home/user/public_html/js/calendar/calendar-win2k-1.css" />
<link rel="stylesheet" type="text/css" href="/home/user/public_html/skin/adminhtml/default/default/reset.css" media="all" />
<link rel="stylesheet" type="text/css" href="/home/user/public_html/skin/adminhtml/default/default/boxes.css" media="all" />
<link rel="stylesheet" type="text/css" href="/home/user/public_html/skin/adminhtml/default/default/custom.css" media="all" />
<link rel="stylesheet" type="text/css" href="/home/user/public_html/skin/adminhtml/default/default/xmlconnect/boxes.css" media="all" />
<link rel="stylesheet" type="text/css" href="/home/user/public_html/skin/adminhtml/default/default/print.css" media="print" />
<link rel="stylesheet" type="text/css" href="/home/user/public_html/skin/adminhtml/default/default/menu.css" media="screen, projection" />

我立即删除了扩展并尝试将另一台服务器的权限与正常工作的 Magento 匹配,但无济于事。我也有:

  • 已清除本地、APC 和 Magento 缓存
  • 查看错误日志(已启用日志记录)
  • 仔细检查数据库中 web/unsecure/base_url 和 web/secure/base_url 的正确值
  • 重新启动,3 次 ;)

Minify 没有被使用。合并 CSS 文件已启用,但是我无法弄清楚如何在没有管理界面的情况下禁用(保存和导航不起作用,即使我用 Firebug 替换了正确的值)。任何想法将不胜感激!

【问题讨论】:

    标签: css magento


    【解决方案1】:

    我最终通过浏览相关管理页面并在我的 java 控制台中输入 configForm.submit() 以保存设置来禁用 CSS 合并来修复它。

    不知道为什么 CSS 合并突然开始使用文件系统路径,我没有更改与此相关的任何内容(我安装的模块是用于发票的)。 Magento 遇到了很多这样的随机问题,似乎需要不断地修补。我绝对不愿意再次推荐其他客户使用 Magento。

    【讨论】:

    • 如果这不能解决问题,我会被诅咒的.. 知道为什么或曾经弄清楚这个问题的根源吗?
    • 此后不久我就停止使用 Magento。一个主要的促成因素是因为所有这些错误。他们现在似乎更关注 Magento Go,而不是支持开源版本。
    【解决方案2】:

    编辑:正如@michael-hampton 所述,此解决方案打开了一个严重的安全漏洞,不应使用。请不要在生产中使用!

    我遇到了同样的问题,而且文件权限设置不正确。 为了让 Magento 生成资产文件,media 目录必须是 apache 用户可写的。

    原来如此

    chmod -R o+w media
    

    如果 apache 不拥有该目录,则不一定允许 apache 写入媒体目录。

    您应该检查 apache 是否真正拥有 media 目录,首先检查 which user apache is running as,然后相应地调整权限:

    chown -R <apache_user> media
    chmod -R o+w media
    

    更多信息在这里:Magento Filesystem Permissions

    【讨论】:

    • 我遇到了与 OP 类似的问题,将 /media 所有权设置为运行 Apache 的用户就可以了。
    • 这为我节省了大量时间。谢谢!!
    • 或者没有创建媒体文件夹时
    • 这有一个严重的错误:它不仅使文件夹对 apache 用户可写,而且使文件夹对 每个人 都可写。 不要这样做。它会打开一个巨大的安全漏洞。
    【解决方案3】:

    一个更简单的方法是直接转到 magento 数据库并手动更改表 core_config_data。应该有一个名为 dev/js/merge_filesdev/css/merge_files 的条目。
    这两个应该保持1 的值。通过将这两个值设置为0,您将得到修复,并且您的cssjs 文件应该可以再次加载。在magento 1.5.x中测试。

    【讨论】:

    • 以防万一有人现在看到这个,core_config_data表中的css字段路径已更改为dev/css/merge_css_files
    【解决方案4】:

    如果您使用的是 Fooman Speedster,只需从 Magento Connect 软件包管理器中卸载它。
    然后,重新安装它。

    不要使用包管理器中的重新安装功能,因为它不起作用。

    【讨论】:

      【解决方案5】:

      有时,您需要确保您的 Magento 根目录中有 media 文件夹。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-21
        • 2011-09-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-09
        相关资源
        最近更新 更多