ข้อผิดพลาด 0 ไม่สามารถเปิดไฟล์เพื่อเขียนบันทึกในขณะที่อัพเดท


9

ฉันพยายามอัปเดตเว็บไซต์ Joomla เป็นอัปเดตล่าสุดที่พวกเขาเปิดตัวในพื้นที่ผู้ดูแลระบบ

แต่หลังจากพยายามอัพเดท

ฉันได้รับข้อความแสดงข้อผิดพลาดนี้:

"มีข้อผิดพลาดเกิดขึ้น 0 ไม่สามารถเปิดไฟล์เพื่อเขียนบันทึก"

อะไรคือปัญหา?


@Valentin Despa ขอบคุณสำหรับการแก้ไขคำถาม
Hbirjand

คำตอบ:


11

ฟังดูเหมือนปัญหาเรื่องการอนุญาต

ในแบ็กเอนด์ Joomla ให้ไปที่:

ระบบ (เมนูด้านบน) >> ข้อมูลระบบ >> สิทธิ์ไดเรกทอรี

ตรวจสอบให้แน่ใจทุกไฟล์และโฟลเดอร์นอกเหนือจากทั่วโลกconfiguration.phpมีความสามารถเขียนได้

หากพวกเขาไม่ได้แล้วคุณจะต้องเปลี่ยนสิทธิ์เพื่อให้โฟลเดอร์ทั้งหมดมีการกำหนดให้755และไฟล์มีการกำหนดให้644

คุณสามารถทำได้โดยใช้ไคลเอนต์ FTP เช่น FileZilla หรือส่วนขยาย Joomla เช่นเครื่องมือผู้ดูแลระบบ

หากคุณทำสิ่งนี้ไปแล้วตรวจสอบให้แน่ใจว่าคุณได้กำหนดไดเรกทอรีบันทึกอย่างถูกต้องเนื่องจากบางครั้งเส้นทางไปยังโฟลเดอร์บันทึกอาจไม่ถูกต้อง ในการตรวจสอบ / เปลี่ยนเส้นทางใน Joomla backend ให้ไปที่Global Configurationจากนั้นเลือกแท็บเซิร์ฟเวอร์และตรวจสอบว่าโฟลเดอร์ Path to Logถูกต้องหรือไม่

นอกจากนี้โปรดทราบว่าคุณสามารถดาวน์โหลดแพ็คเกจการอัพเดท Joomla และอัปโหลดไปยังรูทของเว็บไซต์ของคุณและแตกไฟล์ได้แทนที่จะใช้คุณสมบัติการอัพเดท Joomla

หวังว่านี่จะช่วยได้


2

คุณต้องกำหนดค่าโฟลเดอร์ "/ log" ของคุณให้เป็นลิงก์แบบสัมบูรณ์ของเซิร์ฟเวอร์ของคุณในส่วนหลังของ Joomla ตัวอย่างเช่น: / www / public_html / log


สร้างไฟล์. php และวางรหัสนี้เพื่อให้ทราบว่าพา ธ สัมบูรณ์ไปยังเซิร์ฟเวอร์ของคุณคืออะไร อัปโหลดและโทรไปที่เบราว์เซอร์ของคุณเช่น: www.yourdomaine.com/path.php

นี่คือรหัส

<?php
   $path = getcwd();
   echo "Your Absolute Path is:" . $path;
?>

2

ข้อผิดพลาดเกิดขึ้นเนื่องจากเส้นทางการบันทึกและโฟลเดอร์ tmp ของคุณไม่ถูกต้อง คุณมีสองวิธีในการแก้ไขเส้นทางนี้:

  1. ไปที่ ftp บัญชีของคุณและค้นหาไฟล์นี้และแก้ไขผ่าน cuteftp หรือ filezila หรือตัวจัดการไฟล์ .... configuration.php และค้นหาเส้นทางของ tmp หรือโฟลเดอร์บันทึกและแทนที่ด้วยเส้นทางที่ถูกต้อง

  2. ไปที่ส่วนผู้ดูแลระบบของ joomla Global Configuration -> System --->

พา ธ ไปยังโฟลเดอร์บันทึก

*/home/**yourusername**/public_html/logs*

Global Configuration -> server ---> คุณสามารถเห็น Path to Temp Folder และเปลี่ยนเป็น

*/home/**yourusername**/public_html/tmp*

หลังบ้านคุณควรเปลี่ยนชื่อผู้ใช้บัญชีโฮสติ้งของคุณ

หากคุณใช้ plesk หรือ directadmin หรือแผงควบคุมอื่น ๆ คุณควรติดต่อฝ่ายสนับสนุนโฮสติ้งของคุณเกี่ยวกับที่อยู่พา ธ เหล่านี้และแทนที่ในตำแหน่งที่ฉันพูดถึง

หวังว่าปัญหาของคุณจะได้รับการแก้ไขและสิ่งนี้จะช่วยคุณได้


2

ห่อข้อมูลรอบตัวเล็กน้อยที่นี่ ...

ปัญหาการอนุญาตมักเกิดจาก 2 สาเหตุหลัก:

  1. ปัญหาการอนุญาตไฟล์ / โฟลเดอร์จริงในระบบปฏิบัติการ
  2. พา ธ ไดเร็กทอรีผิดสำหรับไดเร็กทอรี tmp / log ที่กำหนดในไฟล์คอนฟิกูเรชัน

วิธีที่ดีที่สุดในการดูว่ามีปัญหาการอนุญาตจริงหรือไม่คือตรวจสอบในส่วนแบ็คเอนด์:

ระบบสารสนเทศ -> สิทธิ์ไดเรกทอรี

สิ่งนี้จะบอกคุณว่าไฟล์ / โฟลเดอร์ใดในรูทของการติดตั้ง Joomla ของคุณสามารถเขียนได้ (สีเขียว) หรือไม่สามารถเขียนได้ (สีแดง)

สำหรับกรณีที่ 1 -หนึ่งในวิธีที่ง่ายที่สุดในการจัดการกับสิทธิ์ที่ไม่ถูกต้องที่ได้รับมอบหมายในไฟล์ / โฟลเดอร์โดยระบบปฏิบัติการคือการใช้Akeeba ของเครื่องมือบริหารระบบ มันมียูทิลิตี้ในการตั้งค่าการอนุญาตที่คุณต้องการและนำไปใช้กับโฟลเดอร์ / ไฟล์ทั้งหมดของการติดตั้ง Joomla

สำหรับกรณีที่ 2 -ในกรณีที่คุณมีเส้นทางที่ผิดที่กำหนดไว้สำหรับไดเรกทอรี tmp / logคุณควรเปลี่ยนสิ่งนี้ในการกำหนดค่าส่วนกลางของ Joomla หากคุณไม่ทราบว่าโฮมไดเรกทอรีของโฮสติ้งคืออะไรควรถามผู้ให้บริการโฮสติ้งของคุณ

คุณสามารถแก้ไขเส้นทางเหล่านี้ได้จากแบ็กเอนด์ของ Joomla ในGlogal Configurationหรือผ่านทางตัวจัดการไฟล์ของโฮสติ้งของคุณหรือเชื่อมต่อกับFTPและแก้ไขไฟล์configuration.php

มักจะอยู่ในโฮสติ้ง cPanelนี้เป็นเช่น:

"/home/myHostingUsername/logs"
"/home/myHostingUsername/tmp"

ดังนั้นการค้นหาขั้นสุดท้ายสำหรับการตั้งค่าเหล่านี้ในไฟล์configuration.phpของคุณควรเป็นดังนี้:

public $log_path = '/home/myHostingUsername/logs';
public $tmp_path = '/home/myHostingUsername/tmp';

* โปรดระวังว่านี่เป็นหนึ่งใน "ความผิดพลาด" ที่เกิดขึ้นบ่อยที่สุดสำหรับผู้เริ่มต้น Joomla พวกเขาลืมเปลี่ยนพา ธ เหล่านี้ในไฟล์กำหนดค่าหลังจากย้ายไซต์จากโฮสต์อื่นโฟลเดอร์ย่อยหรือจากโลคัลโฮสต์ทำให้ไดเรกทอรีเหล่านี้ไม่สามารถเขียนทับได้


0

หากคุณไม่สามารถเข้าสู่ส่วนหลังของ Joomla แล้วคุณสามารถเปลี่ยนเส้นทางที่แน่นอนในไฟล์ configuration.php ในรากของการติดตั้ง Joomla ของคุณ


0

ฉันพยายามทุกอย่างตั้งแต่การตั้งค่าความเป็นเจ้าของของไดเรกทอรี ( logs/, temp/) ไปยังผู้ใช้ apache และฉันก็ตั้งค่าการอนุญาตให้มากไปกว่า777นั้น แต่ก็ยังได้รับข้อผิดพลาดนี้

ดังนั้นดูเหมือนว่าไฟล์ที่มีชื่อerror.phpได้รับการตั้งค่ายังคงไปuser: เป็นgrouproot

ดังนั้นเมื่อฉันเปลี่ยนความเป็นเจ้าของไฟล์นี้สิ่งที่เริ่มทำงานได้ดี

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