运行安装程序时出现奇怪错误:模块安装后升级


21

我尝试安装wyomind google shopping,并且在运行bin / magento setup:upgrade时遇到以下错误。

[UnexpectedValueException]
Unable to retrieve deployment version of static files from the file system.

[Magento\Framework\Exception\FileSystemException]
Cannot read contents from file "/var/www/vanillamage2/public_html/pub/stati
c/deployed_version.txt" Warning!file_get_contents(/var/www/vanillamage2/pub
lic_html/pub/static/deployed_version.txt): failed to open stream: No such f
ile or directory

我已经在2个单独的服务器和3个Magento 2.1.7的单独安装上进行了尝试,但是每次都收到相同的问题。我在这里看到了类似的问题:

https://github.com/magento/magento2/issues/6426

http://olivernam.com/magento2-frontpage-error-after-deploying-static-files

因此,尝试了这里提到的许多解决方案,包括重新部署静态文件,重置权限,删除静态内容,放置空的deployment_version.txt等,但是没有任何运气。我什至将文件设置为777,拥有正确的所有者,并且可以肯定这不是问题,因为下面的解决方案不会更改此文件的权限。

我只有两种获取设置的方法:运行升级。

  1. 禁用插件。
  2. 将app / code / Wyomind / SimpleGoogleShopping / Setup / UpgradeData.php重命名为UpgradeData.bak

使用这两种方法都可以运行“ setup:upgrade”,但是Wyomind表示这是我的问题,而不是他们的插件,因此不愿意提供帮助。

有没有人可以暗示可能导致此问题的任何信息?


好的,谢谢,但是不幸的是错误仍然存​​在。
哈里

Answers:


22

需要在数据库core_config_data表中更新,

如果表中path field value = 'dev/static/sign'存在记录()core_config_data

UPDATE core_config_data SET value = 0 WHERE path = 'dev/static/sign'

如果记录不存在,则运行以下查询以插入记录,

INSERT INTO core_config_data VALUES (null, 'default' , 0, 'dev/static/sign', 0);

之后,运行命令


4
这也许是解决静态文件所需的更多解决方法?
哈里

2
但是,这样做确实可以在这里签名静态文件时出现问题。
哈里


4

它似乎与google模块无关。它可以在任何部署之后发生;尤其是当您以production模式处理Magento时。

运行bin/magento setup:upgrade将删除generated目录的内容。这在development模式下很好,因为generated目录的内容是动态生成的。但是在production模式下,该generated目录既不是动态生成的,也不是自动生成的。这意味着有必要generated手动触发目录内容的生成:

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

(提示:需要添加安装的所有语言环境)

这是解决问题的默认方式。但是在某些情况下,您可能希望保留generated目录的内容。可能是因为其内容在部署过程中没有更改。可能是因为您已经在另一个环境中或通过部署管道生成了它的内容,并且只想通过复制目录将其部署到当前服务器。

bin/magento setup:upgrade在这种情况下,您仍然可能需要运行,但是您不希望它从generated目录中删除任何内容。为此,聪明的Magento开发人员添加了keep-generated标志:

bin/magento setup:upgrade --keep-generated


1

在ssh运行的Magento Cloud上:


  vendor/magento/ece-tools/bin/ece-tools deploy


0

这为我工作:

php bin/magento setup:static-content:deploy -ea_php 72

(-ea_php 72用于强制使用PHP版本7.2,因为我的服务器继承是7.0.32)


0

您需要更新core_config_data表,

您可以搜索“路径”为“ dev / static / sign”

将值从更改10

或者您可以使用查询进行更新:

UPDATE core_config_data SET value = 0 WHERE path = 'dev/static/sign'
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.