Magento CSS และ JavaScript ไม่โหลดเนื่องจากการใช้เส้นทางของระบบไฟล์


29

ฉันไม่สามารถติดตั้งโมดูลโดยใช้ 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 พยายามให้บริการไฟล์ CSS โดยใช้พา ธ ของไฟล์ระบบแทนที่จะเป็น URL ดังนี้:

<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" />

ฉันลบส่วนขยายออกทันทีและพยายามจับคู่ perms จากเซิร์ฟเวอร์อื่นกับ Magento ที่ใช้งานได้เพื่อประโยชน์ ฉันยังมี:

  • ล้างแคชในท้องถิ่น APC และ Magento
  • ค้นหาในบันทึกข้อผิดพลาด (เปิดใช้งานการบันทึก)
  • ตรวจสอบค่าที่เหมาะสมของ web / unsecure / base_url และ web / secure / base_url ใน DB
  • รีบูต 3 ครั้ง;)

ไม่ได้ใช้ Minify เปิดใช้งานการผสานไฟล์ CSS แต่ฉันไม่สามารถหาวิธีปิดการใช้งานได้หากไม่มีส่วนต่อประสานผู้ดูแลระบบ (บันทึกและการนำทางไม่ทำงานแม้ว่าฉันจะแทนที่ค่าที่ถูกต้องด้วย Firebug ก็ตาม) ความคิดใด ๆ ที่จะได้รับการชื่นชมอย่างมาก!

(คำถามที่โพสต์โดย@reflexiv บน Stack Overflow )


เปิดใช้งานบันทึกยกเว้นและตรวจสอบว่ามีไฟล์ทั้งหมดอยู่หรือไม่
joseantgv

คำตอบ:


42

Magento ใช้ URL แบบเต็มเพื่อเข้าถึงไฟล์ CSS เป็นข้อผิดพลาดทั่วไปที่เกิดขึ้นจากสองสิ่งที่เกิดขึ้น:

  • มีการรวมไฟล์ CSS ที่เปิดใช้งาน
  • วีโอไอพีไม่สามารถอ่าน / เขียนไปยังสื่อ / โฟลเดอร์

หากต้องการแก้ไขปัญหานี้โปรดตรวจสอบให้แน่ใจว่า:

  • สื่อ / โฟลเดอร์มีอยู่ในการติดตั้ง Magento ของคุณ
  • เว็บเซิร์ฟเวอร์ของคุณสามารถเขียนมีเดีย / โฟลเดอร์ได้

As @flochtililoch ถูกโพสต์บน Stack Exchange :

คุณควรตรวจสอบว่า apache เป็นเจ้าของไดเรกทอรีสื่อจริง ๆโดยตรวจสอบก่อนว่า apache ผู้ใช้ใดที่กำลังทำงานอยู่จากนั้นจึงปรับสิทธิ์ตาม:

chown -R <apache_user> media
chmod -R ug+w media

ข้อมูลเพิ่มเติมที่นี่: สิทธิ์ระบบแฟ้มของวีโอไอพี


ฉันมีปัญหาเดียวกันเนื่องจากมีการเปิดใช้งานการผสาน CSS / JS
DmitryR

1
@DmitryR: การเปิดใช้งานการผสานไม่ใช่ปัญหา แต่เว็บเซิร์ฟเวอร์ที่ไม่สามารถเขียนลงสื่อได้เป็นปัญหา มันจะพยายามทำเช่นนั้นเมื่อเปิดใช้งานการผสานล้มเหลวและผลลัพธ์นี้ ;)
Navarr

นี้มีข้อผิดพลาดร้ายแรง: มันไม่เพียงแค่ทำให้สามารถเขียนได้โฟลเดอร์โดยใช้ Apache ก็จะทำให้สามารถเขียนได้โฟลเดอร์โดยทุกคน อย่าทำอย่างนี้. มันเปิดช่องโหว่ขนาดใหญ่
Michael Hampton

โทรดีมาก ฉันได้อัปเดตเป็น ug + w แทนที่จะเป็น o + w
Navarr

3

ฉันเพิ่งพบปัญหาที่คล้ายกันมากเมื่อคัดลอกไซต์จากเซิร์ฟเวอร์สดไปยังเซิร์ฟเวอร์ apache ท้องถิ่น dev (MAMP) ต่อไปนี้แก้ไขมันสำหรับฉัน:

  1. การล้างmedia/css& media/jsของไฟล์ทั้งหมด
  2. ในการcore_config_dataตั้งค่าตารางฐานข้อมูล:
    dev/js/merge_filesถึง 0 (เคยเป็น 1)
    dev/css/merge_css_filesถึง 0 (เคยเป็น 1)
  3. การหักบัญชี var/cache

โหลดด้านหน้าและแบ็กเอนด์ & ตอนนี้ไฟล์ css / js แสดงผลอย่างถูกต้อง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.