安装 magento 2 不会部署 /pub/static/frontend 和后端

Installing magento 2 does not deploy the /pub/static/frontend and backend

我遇到了这个奇怪的错误,但我没有成功找到根源。 首先,我想说的是,我之前在 windows os 和 xampp 服务器上成功地执行了一些 Magento 2 安装。

我现在正尝试在带有 IISWindows 的服务器上安装一个 magento 实例

基本上在配置 composer 等之后。安装运行良好。 安装过程中没有提到错误等..

但是最后当我尝试访问后端或前端存储时它显示页面但没有 css 或图像文件被加载。 当我查看丢失的资源时,基本上我有 404 个错误,所有 css 和图像文件支持 osed 位于以下文件夹

pub/static/frontend/*
pub/static/backend/*

实际上在我的文件夹 pub/static/ 中只有 _requirejs 文件夹和 .htaccess 文件,但没有文件夹前端和后端

我猜 frontend 和 backend 文件夹是自动生成的,因为它们在 magento 2.0 的初始克隆中不是默认的

所以如果有人知道问题可能出在哪里。

需要考虑的其他信息: 我检查了权限,Web 服务器对每个文件夹和文件 magento 2.0 根目录具有完全访问权限(读取和写入)。

您收到 404 条回复可能是因为您没有启用 mod_rewrite。 你应该启用它。 但是没有它它也可以工作。 这些静态资源有一个 'cache' 系统。 在命令行中导航到文件夹 dev/tools/Magento/Tools/View 和 运行

php deploy.php

效果很好。但如果您有任何问题,请告诉我。

------ 编辑 ------

根据 Chirag Bhavsar 的 answer.Enter 下面的命令从 Magento 文件夹的根目录进行编辑。新命令将是

php bin/magento setup:static-content:deploy

更简单的方法是从 magento 根文件夹执行 运行 下面的命令。

php bin/magento setup:static-content:deploy

这将完美地提供相应文件夹中的内容。如果您有特定的语言,那么 运行 如下所示。

php bin/magento setup:static-content:deploy en_US
php bin/magento setup:static-content:deploy en_GB

静态内容部署过程描述如下:

1) 从 中删除 adminhtmlfrontend_requirejs 文件夹pub/static 文件夹。

2) 请不要删除 pub/static 文件夹中的 .htacces 文件。

3) 删除var/cache.

目录下的所有文件夹

4) 为 pub 和 var 文件夹授予 777 权限。

5) 运行 命令:

php bin/magento setup:static-content:deploy

从头开始安装 Magento 2.1.4 时,我也遇到了权限问题,CSS 和 JS 没有加载到页面中,因为服务器没有找到它们,尽管我只是 运行

php bin/magento setup:static-content:deploy

php bin/magento cache:clean

事实证明,数据库中需要此设置才能访问 CSS 和 JS,并在首次安装 magento2 后加载站点。

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

这似乎是让网站正常运行的唯一解决方案。

首先请从 magento 2 中的 'pub/static' 中删除 'static' 文件夹,然后再删除此文件夹,请将此文件夹中的 .htaccess 文件复制到您电脑的其他文件夹中。 <-- app\code\Magento\Developer\etc\di.xml 中的变化 -->

Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink  

<--到-->

Magento\Framework\App\View\Asset\MaterializationStrategy\Copy

之后使用 cmd/shell 运行 这些命令

php bin/magento setup:static-content:deploy -f

php bin/magento deploy:mode:set developer

执行这些命令后 运行。将旧的 .htaccess 文件粘贴到新的静态文件夹中。而已。 并清除完整缓存。

php bin/magento cache:clean

您的项目正在运行,享受吧!