Score:0

การสร้างโมดูลแบบกำหนดเองทำให้เกิด "เว็บไซต์พบข้อผิดพลาดที่ไม่คาดคิด โปรดลองอีกครั้งในภายหลัง"

ธง mu

Drupal 9.2.7 บน XAMPP 7.3.29 , 7.4.21 บน Windows 10 Home

ฉันพยายามสร้างโมดูลที่กำหนดเองซึ่งอนุญาต JavaScript และ CSS ส่วนกลาง (มีผลกับทุกหน้าเว็บในเว็บไซต์ของฉัน) โดยสร้างไดเร็กทอรี รูท/โมดูล/โกลบอล ด้วยไฟล์ดังต่อไปนี้:

globalrs.info.yml

ชื่อ: globalrs
ประเภท: โมดูล
core_version_requirement: ^8 || ^9
คำอธิบาย: 'globalrs'
ห้องสมุด:
  - โกลบอล/โกลบอล

globalrs.module

ฟังก์ชัน globalrs_preprocess_page(&$ตัวแปร) {
  $variables['#attached']['library'][] = 'globalrs/โกลบอล';
}

globalrs.libraries.yml

โกลบอล:
  จส:
    Behavior.js: {}
  css:
    ธีม:
      style.css: {}

style.css

* {
    พื้นหลัง: สีแดง;
}

ปัญหาของฉัน

ปัญหาของฉันคือเว็บไซต์ไม่โหลด แต่ข้อผิดพลาดต่อไปนี้ปรากฏขึ้นแทน:

เว็บไซต์พบข้อผิดพลาดที่ไม่คาดคิด กรุณาลองใหม่อีกครั้งในภายหลัง.

แม้ว่าฉันจะลบไดเร็กทอรีโมดูลและล้างแคชทั้งหมด (ล้างข้อมูลทั้งหมด แคช_ ตารางเช่นเดียวกับ แท็กแคช ตารางและล้างแคชของเบราว์เซอร์ เว็บไซต์ยังคงมีข้อผิดพลาดนั้นอยู่
เนื่องจากข้อผิดพลาดนั้นเป็นเรื่องทั่วไป ฉันจึงไม่รู้ว่าจะเริ่มต้นแก้ปัญหาอย่างไร

ข้อผิดพลาดเป็นเหตุผลที่เป็นไปได้

อาจเป็นไปได้ว่าปัญหาเริ่มต้นขึ้นหลังจากที่ฉันได้เพิ่ม $settings['rebuild_access'] = จริง; ไปที่ส่วนท้ายของ /sites/default/settings.php บันทึกไฟล์แล้วนำทางในเว็บเบราว์เซอร์ของฉันไปที่ localhost/example.com/core/rebuild.php ซึ่งฉันพบข้อผิดพลาดต่อไปนี้:

ข้อผิดพลาดร้ายแรง: Uncaught PDOException: SQLSTATE[HY000] [1044] Access ปฏิเสธสำหรับผู้ใช้ 'example.com'@'localhost' ไปยังฐานข้อมูล 'example.com' ใน

แก้ไข (ลบข้อความแสดงข้อผิดพลาดที่เหลือเนื่องจากเกิดจากข้อผิดพลาดที่ไม่เกี่ยวข้องขณะกู้คืนข้อมูลสำรอง):

ฉันเชื่อว่าปัญหาเกิดขึ้นเมื่อฉันพยายามกู้คืน a สำรองเว็บไซต์ไปยังฐานข้อมูลใหม่ที่ว่างเปล่าด้วยชื่อเดิมซึ่ง ถูกลงทะเบียนเชื่อมโยงกับผู้ใช้ฐานข้อมูล (หรือดูเหมือนจะเป็น ดังกล่าว) แต่จริงๆแล้วไม่ใช่

อัปเดต - วิธีแก้ไข

ฉันวางที่นี่หลังจากที่ Clive ลบคำตอบของฉัน:

ฉันเพิกถอนสิทธิ์เฉพาะฐานข้อมูลทั้งหมดที่ ผู้ใช้ฐานข้อมูล มีใน ฐานข้อมูลที่มีชื่อเดียวกัน แล้ว ได้รับอีกครั้ง สิทธิ์เฉพาะฐานข้อมูลเหล่านี้1 สำหรับผู้ใช้นั้น จากนั้นฉันสามารถเข้าถึงเว็บไซต์ได้

mu flag
ฉันสาบานว่าฉันไม่สามารถเข้าใจการลงคะแนนใด ๆ ในโพสต์นี้ ผู้ชายกำลังมีปัญหาและขอความช่วยเหลืออย่างเร่งด่วนในความอัปยศอดสู ความรู้สึกมันเส็งเคร็งแล้ว ฉันไม่รู้ว่าทำไมต้องทำให้มันเส็งเคร็ง Drupal **ถูกสร้างขึ้นมาสำหรับผู้สร้างเว็บไซต์ด้วย ไม่เพียงแต่สำหรับโปรแกรมเมอร์ Drupal เท่านั้น นี่คือจุดยืนของชุมชน ! เปิด drupal.org และคุณสามารถอ่านได้
berliner avatar
bd flag
หากคุณมีสิทธิ์เข้าถึงบันทึกข้อผิดพลาดของเซิร์ฟเวอร์ คุณจะต้องค้นหาข้อความแสดงข้อผิดพลาดจริงที่จุดนั้น หรือถ้าจะให้ดีไปกว่านั้นหากคุณกำลังดูไซต์นั้นบนเครื่องของคุณ ให้กำหนดค่า PHP เพื่อแสดงข้อผิดพลาด
Kevin avatar
in flag
สิ่งหนึ่งที่คุณไม่สามารถทำได้คือเปิดใช้งานโมดูลแล้วลบออกจากระบบไฟล์โดยไม่ปิดใช้งานก่อน สิ่งนี้จะรวมประเด็นต่างๆ ข้อผิดพลาดจริงจะอยู่ในบันทึกของ php หรือ apache คุณไม่จำเป็นต้องล้างแคชด้วยไคลเอนต์ sql - คุณสามารถทำได้จากผู้ดูแลระบบ มีบางอย่างผิดปกติที่นี่ ซึ่งเป็นเหตุผลว่าทำไมคุณต้องใช้บันทึก XAMPP สำหรับ php และ apache
No Sssweat avatar
ua flag
`การเข้าถึงถูกปฏิเสธสำหรับผู้ใช้ 'example.com'@'localhost' ไปยังฐานข้อมูล 'example.com'` ดูเหมือนว่าการเปลี่ยนแปลงที่คุณทำกับ settings.php ทำให้การเชื่อมต่อฐานข้อมูลยุ่งเหยิง คุณสามารถลบไฟล์ settings.php และให้ Drupal สร้างใหม่เมื่อคุณพยายามดูไซต์ คุณจะได้รับวิซาร์ดการติดตั้งราวกับว่าคุณกำลังทำการติดตั้งใหม่ ยกเว้นเนื่องจากฐานข้อมูลไม่ว่างเปล่า ฐานข้อมูลจะไม่ถูกแทนที่
mu flag
@Kevin ขอบคุณ ฉันไม่ได้เปิดใช้งานโมดูล (จากแท็บ "ขยาย") แต่อาจไม่จำเป็นสำหรับโมดูลที่กำหนดเองด้วยซ้ำ
mu flag
@NoSssweat ฉันเพิ่งลองและได้รับในตัวช่วยสร้างการติดตั้ง: `ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ฐานข้อมูลของคุณ เซิร์ฟเวอร์รายงานข้อความต่อไปนี้: SQLSTATE[HY000] [1044] การเข้าถึงถูกปฏิเสธสำหรับผู้ใช้ 'example.com'@'localhost' ไปยังฐานข้อมูล 'example.com'.`
mu flag
โอเค แก้ปัญหาได้แล้ว ฉันสามารถเข้าถึงเว็บไซต์ได้ ฉันเขียนคำตอบในสิ่งที่ฉันทำ
mu flag
ใครช่วยอธิบายได้ไหมว่าทำไมไคลฟ์จึงลบคำตอบของฉัน...
Score:2
ธง cn

ก่อน คุณสร้างชุดโมดูลแบบกำหนดเอง

  • ข้อความทั้งหมดพร้อมข้อมูลย้อนกลับ

ใน ผู้ดูแลระบบ/config/การพัฒนา/การบันทึก. ตัวเลือกนี้มีอยู่ใน Drupal core โดยไม่ต้องติดตั้งเครื่องมือ dev ใดๆ

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

ด้วยค่าเริ่มต้น

  • ไม่มี

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

หากสายเกินไปและคุณไม่สามารถเปิด UI ของผู้ดูแลระบบได้อีกต่อไป คุณยังสามารถเปิดใช้งานข้อความแสดงข้อผิดพลาดทั้งหมดใน settings.php:

$config['system.logging']['error_level'] = 'ละเอียด';

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

mu flag
บ้าจริง ฉันไม่ได้สร้างสแน็ปช็อตใด ๆ ก่อนสร้างโมดูล แต่ก่อนล้างแคชทั้งหมดหลังจากสร้างเสร็จ ... ฉันไม่คิดว่าไฟล์เพียงอย่างเดียวจะมีผลอะไรเลย
cn flag
@Alkalix หากคุณไม่ได้ทำสิ่งใดที่ส่งผลกระทบต่อฐานข้อมูลในโมดูล คุณสามารถสร้างโมดูลใหม่โดยใช้ **ชื่อเครื่อง** เดิมได้ และ Drupal จะไม่บ่น
mu flag
@PatrickKenny ใช่ ฉันลองแล้ว...ด้วยเหตุผลบางอย่างที่ไซต์ยังคงปิดอยู่ ฉันจะลองทำตามคำแนะนำในความคิดเห็นของคำถาม
mu flag
ไคลฟ์ลบคำตอบของฉันซึ่งฉันต้องการทำเครื่องหมายว่ามีประโยชน์มากที่สุดเพราะฉันเชื่ออย่างยิ่งว่ามันจะมีประโยชน์มากที่สุด (จากคำตอบที่มีอยู่ที่นี่) เพื่อแก้ปัญหาที่อธิบายไว้ เกิดอะไรขึ้นที่นี่?...
4uk4 avatar
cn flag
คำถามคือ *การสร้างโมดูลแบบกำหนดเองเกิดจาก "เว็บไซต์พบข้อผิดพลาดที่ไม่คาดคิด โปรดลองอีกครั้งในภายหลัง"* ฉันแน่ใจว่าคุณสามารถแก้ไขปัญหานี้ได้โดยแสดงข้อความแสดงข้อผิดพลาดแบบเต็ม ซึ่งอาจเป็นข้อผิดพลาดทางไวยากรณ์เท่านั้น ข้อผิดพลาดที่คุณพบในภายหลังหลังจากคืนค่าข้อมูลสำรองนั้นไม่เกี่ยวข้องกัน การคืนค่าอาจจำเป็นสำหรับคำถามส่วนใหญ่ที่ถามที่นี่ หากยังไม่ได้รับการแก้ไขในการแลกเปลี่ยนสแตก คุณไม่สามารถมีสองประเด็นที่ไม่เกี่ยวข้องกันในคำถามเดียว

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา