由于使用文件系统路径,Magento admin css丢失

时间:2011-12-18 08:27:35

标签: css magento

我无法使用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缓存
  • 查看错误日志(已启用日志记录)
  • 在DB中仔细检查了web / unsecure / base_url和web / secure / base_url的正确值
  • 重新启动,3次;)

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

5 个答案:

答案 0 :(得分:42)

编辑:正如@ 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

答案 1 :(得分:16)

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

答案 2 :(得分:3)

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

不确定为什么CSS合并开始时突然使用文件系统路径,我没有改变与之相关的任何内容(我正在安装的模块用于发票)。我和Magento有很多这样的randoms问题,似乎需要不断的修补。我绝对不愿意推荐另一位客户再次与Magento合作。

答案 3 :(得分:1)

如果您正在使用Fooman Speedster,只需从Magento Connect Package Manager卸载它即可。
然后,重新安装。

请勿在程序包管理器中使用重新安装功能,因为它不起作用。

答案 4 :(得分:0)

有时,您需要确保Magento根目录中有File "...my_api/serializers.py", line 303, in create invitations_data = validated_data.pop('users_to_invite') KeyError: 'users_to_invite' 文件夹。