วันพฤหัสบดีที่ 7 มิถุนายน พ.ศ. 2555

JFolder::create: Could not create directory

หากต้องการติดตั้งคอมโพเนนท์ โมดูล หรือปลั๊กอินแล้วพบปัญหาไม่สามารถลงได้ และได้ error message มาดังนี้


ปัญหานี้เกิดจาก permission ที่ไม่อนุญาตให้เขียนไฟล์ได้จึงไม่สามารถสร้าง directory ได้ วิธีแก้ไขมี
ดังนี้
  1. ล็อกอินเข้าไปยังเว็บเซิร์ฟเวอร์ ไปยังโฟลเดอร์ที่ติดตั้งจุมลาไว้
  2. เปลี่ยนค่า permission ของโฟลเดอร์ cache  ให้เป็น 0777
  3. เปลี่ยนค่า permission ของโฟลเดอร์ที่ต้องการติดตั้ง extension เช่น modules ให้เป็น  0777
  4. ล็อกอินเข้าไปในเว็บในส่วนของ admin
  5. เลือกเมนู Site > Global Configuration
  6. เลือกแท็บ System
  7. เปลี่ยนค่าของ Path to Log Folder ให้เป็น ./logs  กด Save
  8. เลือกแท็บ Server
  9. เปลี่ยนค่าของ Path to Log Folder ให้เป็น ./tmp  กด Save
  10. ทำการติดตั้ง extension อีกครั้ง
  11. เปลี่ยนค่า permission ของโฟลเดอร์ที่ถูกแก้ไขให้กลับมาเป็นค่าเดิม ปกติคือ  0755
หากวิธีนี้ไม่ได้ผล ลองวิธีต่อไปนี้
  1. ล็อกอินเข้าไปในเว็บในส่วนของ admin
  2. เลือกเมนู Extensions > Extension Manager
  3. เลือกแท็บ Discover
  4. กดปุ่มคำสั่ง Discover ทางด้านขวาบน เพื่อให้ระบบโชว์ extension ที่ไม่สามารถติดตั้งได้
  5. เลือก extension ตัวที่ต้องการติดตั้ง แล้วกดปุ่ม Install เพื่อติดตั้งอีกครั้ง
ผู้เขียนค่อนข้างโชคไม่ดีเพราะลองทั้งสองวิธีข้างต้นนั้นแต่หาได้ประสบผลสำเร็จไม่ จึงใช้วิธีลูกทุ่งตามแบบของตนเอง นั่นคือ
  1. สร้างโมดูลเปล่าๆมาอันหนึ่ง (ในกรณีต้องการติดตั้งโมดูล) ซึ่งประกอบด้วยไฟล์ต่างๆเหมือนกับโมดูลเจ้าปัญหา
  2. แต่ละไฟล์มีข้อมูลพื้นฐานทั่วไป
  3. ทำการ zip โฟลเดอร์ของโมดูลนั้น
  4. ติดตั้งโมดูลด้วยวิธีการปกติ
  5. เมื่อทำการติดตั้งเรียบร้อยแล้วให้ก๊อปปี้ไฟล์ทั้งหมดในโฟลเดอร์ของโมดูลต้นฉบับทับลงไปในเซิร์ฟเวอร์
เพียงเท่านี้ก็สามารถใช้งานโมดูลได้ตามต้องการ


แต่ ถ้าหากทำการติดตั้งโมดูลเรียบร้อยแล้ว ชื่อโมดูลไม่ปรากฎในหน้า Module Manager ให้ไปสร้างโมดูลใหม่ขึ้นมาโดยใช้ชื่อเดียวกันกับโมดูลที่เพิ่งทำการติดตั้ง ในลิสต์ประเภทโมดูลที่ให้เลือกจะมีโมดูลที่เราเพิ่งติดตั้งลงไปด้วย ให้เลือกอันนั้น ทำการตั้งค่าตามปกติ เมื่อไปตรวจสอบใน Module Manager ก็จะมีโมดูลที่เราเพิ่งติดตั้งแสดงอยู่

ไม่มีความคิดเห็น:

แสดงความคิดเห็น