【问题标题】:Magento 2 static files not generated未生成 Magento 2 静态文件
【发布时间】:2015-05-25 14:07:02
【问题描述】:

从 github 来源克隆 Magento2:https://github.com/magento/magento2

安装很顺利。但是,当浏览器下载静态文件时出现了一些问题。多个文件丢失:

pub/static/frontend/Magento/blank/en_US/*

安装顺利,AFAIK 所有静态文件都已加载。

附言

这可能有某种关联,但似乎 URL 没有正确重写 - 抛出 404 页面。我想有一些很强的相关性,但我看不出具体在哪里?做了一些研究(应用它们)但没有结果

【问题讨论】:

标签: php apache magento magento2


【解决方案1】:

我对“部署”命令没有任何运气。 我打开了开发者模式,不需要部署静态文件,但还是不行

原来还有其他问题: CSS 和 JS 文件的路径名称仍在“pub/static”下的已部署目录中查找文件 在“core_config_data”中添加这个设置解决了这个问题:来自This Answer

insert core_config_data (config_id, scope, scope_id, path, value) values (null, 'default', 0, 'dev/static/sign', 0); 

解决了这个问题后,我仍然有问题。 .htaccess 文件包含使用 Apache 2.2 语法的行。我将主要的 .htaccess 更改为 apaches 2.4 语法,但没有意识到整个系统中有很多 .htaccess 文件。 “pub”目录中的一个是阻止访问css和js文件,因为Apache在无法解析.htaccess后放弃了

在 .htaccess 中,我只是将这两行的所有出现都作为 cmets

    #order allow,deny
    #deny from all

这只是我本地计算机上的演示安装,所以我不担心。真正需要的是 .htaccess 文件的 Apace 2.4 版本。

【讨论】:

    【解决方案2】:

    首先你必须设置文件权限

    find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
    find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
    chown -R :www-data . # Ubuntu
    chmod u+x bin/magento 
    

    然后通过命令php bin/magento clear:cache清除缓存

    从现在开始,当您转到任何页面时,都会自动生成必要的静态文件。

    【讨论】:

      【解决方案3】:

      您必须清除 pub/static 文件夹中的文件夹,然后部署内容

      删除 pub/static 文件夹中的文件夹

      rm -rf pub/static/frontend/ pub/static/adminhtml/ pub/static/_requirejs/
      

      比部署

      bin/magento setup:static-content:deploy
      

      【讨论】: