ข้อผิดพลาดแปลกเมื่อรันการติดตั้ง: อัพเกรดหลังจากการติดตั้งโมดูล


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 แห่งและการติดตั้ง Magento 2.1.7 แยก 3 ครั้ง แต่ได้รับปัญหาเดียวกันทุกครั้ง ฉันได้เห็นปัญหาที่คล้ายกันที่นี่:

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

และ

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

ลองใช้วิธีแก้ปัญหาต่าง ๆ ที่กล่าวถึงในที่นี้รวมถึงการปรับใช้ไฟล์สแตติกการรีเซ็ตสิทธิ์การลบเนื้อหาแบบคงที่การวาง deployment_version.txt ที่ว่างเปล่า แต่ไม่มีโชค ฉันได้ตั้งค่าไฟล์นั้นเป็น 777 และมีเจ้าของที่ถูกต้องและค่อนข้างแน่ใจว่าไม่ใช่ปัญหาเนื่องจากวิธีการแก้ปัญหาของฉันด้านล่างจะไม่เปลี่ยนสิทธิ์ของไฟล์นี้

มีเพียง 2 วิธีที่ฉันจะได้รับการติดตั้ง: อัพเกรดเพื่อให้ทำงานได้

  1. ปิดการใช้งานปลั๊กอิน
  2. เปลี่ยนชื่อแอป / รหัส / Wyomind / SimpleGoogle ช็อปปิ้ง / ตั้งค่า / อัปเกรด Data.php เป็น UpgradeData.bak

การทำอย่างใดอย่างหนึ่งต่อไปนี้ช่วยให้ 'ตั้งค่า: อัปเกรด' ให้ทำงานได้ แต่ Wyomind กำลังแนะนำว่านี่เป็นปัญหาด้านข้างของฉันไม่ใช่ปลั๊กอินของพวกเขาและก็ไม่เต็มใจที่จะช่วย

มีใครบ้างที่สามารถแนะนำว่าอาจเป็นสาเหตุของปัญหานี้


โอเคขอบคุณ แต่น่าเสียดายที่ข้อผิดพลาดยังคงมีอยู่
harri

คำตอบ:


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
นี่อาจจะเป็นเรื่องที่ต้องลงนามในไฟล์คงที่?
harri

2
อย่างไรก็ตามสิ่งนี้ทำงานได้ดูเหมือนว่ามีบางอย่างผิดปกติในการเซ็นชื่อไฟล์คงที่
harri


4

ดูเหมือนว่าไม่มีส่วนเกี่ยวข้องกับโมดูล google มันสามารถเกิดขึ้นได้หลังจากการปรับใช้ใด ๆ โดยเฉพาะอย่างยิ่งถ้าคุณกำลังติดต่อกับ Magento ในproductionโหมด

การรัน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

3

ทางออกจาก GitHub นั้นใช้งานได้สำหรับฉัน https://github.com/magento/magento2/issues/6426#issuecomment-243879287

คุณสามารถสร้างไฟล์เปล่าในเส้นทางต่อไปนี้: pub/static/deployed_version.txt

จากนั้นเรียกใช้การปรับใช้เนื้อหาแบบคงที่

php bin/magento setup:static-content: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"

เปลี่ยนค่าจาก1เป็น0;

หรือคุณสามารถอัปเดตด้วยข้อความค้นหา:

UPDATE core_config_data SET value = 0 WHERE path = 'dev/static/sign'
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.