ไม่สามารถบันทึกการเปลี่ยนแปลงการกำหนดค่าระดับโลก

 
ไม่สามารถบันทึกการเปลี่ยนแปลงการกำหนดค่าระดับโลก

ปัญหา

หลังจากป้อนการตั้งกำหนดค่าส่วนกลางในไซต์ผู้ดูแลระบบ "ส่วน" และจากนั้น คลิกที่ปุ่ม "บันทึก" หรือ "ใช้" เพื่อบันทึกการเลือกการตั้งค่าคอนฟิกไซต์ แสดงข้อผิดพลาดต่อไปนี้: "เกิดข้อผิดพลาด ไม่สามารถเปิดไฟล์ configuration.php เขียน! ", อาจมาพร้อมกับโดย: " JFTP::write: ตอบสนองไม่ดี "ถ้าคุณกำลังทำงานในโหมดการเปิดใช้งาน FTP

เหตุผลสำหรับข้อผิดพลาดนี้

สคริปต์การปรับปรุงการกำหนดค่าใน Joomla แล้วไม่สามารถเปลี่ยนเนื้อหาของแฟ้ม "configuration.php" เพื่อสะท้อนการเปลี่ยนแปลงใด ๆ ที่คุณทำหน้ากำหนดค่าส่วนกลาง Joomla ได้อย่างใดอย่างหนึ่งแล้วไม่สามารถเขียนไปยังแฟ้ม และ/หรือไม่สามารถทำให้ไฟล์เขียน (เช่น R/W) ตั้งแต่ Joomla 1.5.x พยายามทำ "configuration.php" เขียนก่อนที่จะบันทึกการตั้งค่าคอนฟิก หลังเป็นมากกว่าปกติ สาเหตุทั่วไปมากที่สุดคือ ว่า แฟ้ม "configuration.php" เป็นตรรกะผู้หนึ่งที่พยายามทำการเปลี่ยนแปลง ถ้าคุณพยายามที่จะเปลี่ยนการกำหนดค่าส่วนกลางพร้อมเปิดใช้งาน FTP จะหลังมักจะมีรหัสสมาชิก FTP มี FTP ใช้งาน มันจะเป็นเว็บเซิร์ฟเวอร์ตัวของขั้นตอน (มักชื่อเป็นเช่น "อะแพชี" หรือ "www ข้อมูล") (คุณสามารถตรวจมักจะสอบรายละเอียดความเป็นเจ้าของแฟ้ม โดยการเข้าสู่ระบบในไซต์ของคุณด้วยโปรแกรม FTP อีกวิธีหนึ่งคือ คุณสามารถใช้ eXtplorer-ดูด้านล่าง) อับ คุณจะถูกล็อกจากการเปลี่ยนแปลงไปยังโหมดที่เหมาะสมเพื่อปรับปรุงการกำหนดค่าส่วนกลางเป็นการเปิด และปิดการใช้งานโหมด FTP (และดังนั้น การเปลี่ยนตัวทางตรรกะที่พยายามเปลี่ยนแปลงการกำหนดค่า) จะถูกกำหนด โดยข้อมูลการกำหนดค่าส่วนกลางที่จัดขึ้น

โซลูชั่นแนะนำ

หมายเหตุ:ไม่พอเพียงทำให้การ "configuration.php" แฟ้มเขียนสำหรับผู้ใช้ทั้งหมด เป็นแล้ว คุณจะได้สามารถปรับปรุงการกำหนดค่าส่วนกลางเพียงครั้งเดียว หลังจากที่ Joomla 1.5.x จะทำแฟ้มอ่านอย่างเดียวสำหรับผู้ใช้ทั้งหมด และ reintroduce ปัญหาดัง นั้น

  1. เปลี่ยนเจ้าของไฟล์ "configuration.php" ให้ตรงกับทั้งรหัสสมาชิก FTP ถ้าใช้ "เปิดใช้งาน FTP" สำหรับเว็บไซต์ หรือตัวกระบวนการของเซิร์ฟเวอร์เว็บถ้าคุณกำลังใช้ "ปิดการใช้งาน FTP"
    หมายเหตุ: นี่ไม่ใช่สิ่งที่คุณสามารถทำใน Joomla
    ถ้าคุณมีการควบคุมทั้งหมดของเซิร์ฟเวอร์ (เช่นภายในเครื่องเซิร์ฟเวอร์หรือเซิร์ฟเวอร์เสมือน) แล้วคุณควรสามารถทำโดยใช้ยูทิลิตี้ที่เหมาะสม (เช่น "chown" สำหรับ Linux server) บนเซิร์ฟเวอร์ที่ใช้ร่วมกัน คุณควรติดต่อฝ่ายสนับสนุนด้านเทคนิคสำหรับองค์กรของคุณหรือ ISP อธิบายปัญหา และขอให้เปลี่ยนความเป็นเจ้าของแฟ้มที่เหมาะสม
  2. ติดตั้งคอมโพเนนต์ eXtplorer สิทธิได้ (รับจาก Joomla Extensions Directory – extensions.joomla.org) – ถ้าไม่อยู่ในสถานที่ นี้จะช่วยให้คุณสามารถดู และจัดการแฟ้มในโหมดทั้งสอง "แฟ้ม" (ใช้กระบวนการเว็บเซิร์ฟเวอร์ผู้ใช้ข้อมูลประจำตัว) หรือ "ftp" โหมดที่ใช้รหัสของคุณผู้ใช้เข้าสู่ระบบ FTP แม้ว่าคุณอาจจะเปลี่ยนความเป็นเจ้าของไฟล์ ด้วยเครื่องมือนี้ คุณสามารถใช้หนึ่งวิธีเพื่อให้เขียน "configuration.php" สำหรับผู้ใช้ทั้งหมด นี้จะช่วยให้คุณสามารถเปลี่ยนโครงแบบสากลครั้ง – น้อยถ้าคุณรวมนั้นเปลี่ยนแปลงไปยังโหมด FTP ให้ตรงกับความเป็นเจ้าของแฟ้ม "configuration.php" (แต่ดูหมายเหตุด้านล่าง)
    หมายเหตุ:การเปลี่ยนโหมด FTP จะมีผลต่อความเป็นเจ้าของที่นำไปใช้กับแฟ้มที่อัปโหลดไปยังไซต์ภายใต้การตั้งค่าใหม่ (เช่นเมื่อติดตั้งส่วนขยาย)
  3. ดูการแก้ไขผู้นี้ค้นพบในหน้าอภิปรายของเอกสารนี้ ฉันได้พบนี้ทำงาน ด้วยการติดตั้งของฉันของ v. 1.5.23
  4. เว็บเซิร์ฟเวอร์เพื่อรัน PHP CGI หรือ FastCGI ได้ ให้แน่ใจว่า รหัส PHP จะดำเนินการโดยใช้ผู้ใช้เดียวกัน ID ใช้เมื่ออัพโหลด Joomla รหัสใช้ FTP จึง มีความขัดแย้งไม่เป็น ID ของกระบวนการ PHP เปลี่ยนแฟ้ม "configuration.php" เหมือนกับเจ้าของแฟ้ม ถ้าคุณไม่ทราบวิธีการตั้ง CGI หรือ CGI อย่างรวดเร็ว ติดต่อผู้ดูแลเซิร์ฟเวอร์หรือผู้ให้บริการโฮสติ้งของคุณสำหรับคำแนะนำ

พื้นหลัง

ข้างต้นเป็นคำอธิบายที่ง่าย แต่ต่อไปนี้อาจเป็นดอกเบี้ยและค่าทั้งหมด และยัง ช่วยให้ผู้ใช้กำหนดเองวิธีแก้ปัญหานี้

  • แฟ้ม "configuration.php" ถูกสร้างโดยอัตโนมัติในโฟลเดอร์รากของเว็บไซต์ (จาก "configuration.php ข้าม") ระหว่างการติดตั้งเว็บไซต์ และประกอบด้วยในข้อมูลเฉพาะที่กำหนดในระหว่างกระบวนการติดตั้ง การเปลี่ยนแปลงในพื้นที่กำหนดค่าส่วนกลางในไซต์การดูแล "ส่วนหลัง" จะถูกเขียนลง "configuration.php" เมื่อใช้ปุ่ม "บันทึก" หรือ "ใช้"
  • Joomla พยายามปรับปรุง "configuration.php" ไฟล์นั้นครั้งแรกเพื่อให้เขียนได้ และหลังจากการปรับปรุง แฟ้มทำ unwriteable (เช่นนั้น) ปิดงาน
  • แฟ้มบนเว็บเซิร์ฟเวอร์ที่โฮสต์เว็บไซต์ของ Joomla จะเป็นเจ้าของหนึ่งของเอนทิตีหลาย ขึ้นอยู่กับว่าพวกเขาถูกวาง หรือสร้างบนเซิร์ฟเวอร์ โดยทั่วไปจะเป็นไฟล์บนไซต์ Joomla โดยรหัสประจำตัวผู้ใช้ที่สองอย่างใดอย่างหนึ่ง:
    1. แฟ้มที่คุณอัปโหลด โดยการ FTP หรือติดตั้งใช้งานโหมด FTP จะโดยทั่วไปจัดสรรเป็นเจ้าของ ID ผู้ใช้ที่สอดคล้องกับรหัสสมาชิก FTP สำหรับเว็บไซต์
    2. ไฟล์ติดตั้งจากภาย ใน Joomla และการใช้งานโหมด FTP จะโดยทั่วไปสามารถจัดสรรเป็นเจ้าของ โดยรหัสผู้ใช้ "แฝง" ที่ใช้ในการรันกระบวนการเซิร์ฟเวอร์เว็บหลักเป็นสคริปต์ของคุณ Joomla (มักชื่อเป็นเช่น "อะแพชี" หรือ "www ข้อมูล")