ฉันมีปัญหาตั้งแต่อัปเดตเป็น Drupal 9 เกี่ยวกับการรวมระบบ LDAP ก่อนหน้านี้ ขณะใช้ Drupal 8 ฉันได้ผสานรวม LDAP ของโรงเรียนของฉันสำหรับการพิสูจน์ตัวตนผู้ใช้สำเร็จแล้ว โดยใช้ โมดูลสนับสนุนที่เหมาะสม. อย่างไรก็ตาม หลังจากอัปเดตเป็น Drupal 9 แล้ว การผสานรวม LDAP ได้หยุดทำงาน และเมื่อใดก็ตามที่ผู้ใช้พยายามเข้าสู่ระบบ ผู้ใช้จะได้รับข้อผิดพลาดหน้าจอสีขาว "เว็บไซต์พบข้อผิดพลาดที่ไม่คาดคิด โปรดลองอีกครั้งในภายหลัง"
ตอนนี้ เมื่อตรวจสอบบันทึก ฉันมักจะเห็นข้อผิดพลาดนี้:
ข้อผิดพลาด: ไม่พบคลาส 'Symfony\Component\OptionsResolver\OptionsResolver' ใน Symfony\Component\Ldap\Adapter\AbstractConnection->__construct() (บรรทัดที่ 26 ของ /var/www/www-dev/modules/ludwig/lib/grahl- ldap/source/Adapter/AbstractConnection.php)
#0 /var/www/www-dev/modules/ludwig/lib/grahl-ldap/source/Adapter/ExtLdap/Adapter.php(41): Symfony\Component\Ldap\Adapter\AbstractConnection->__construct()
#1 /var/www/www-dev/modules/ludwig/lib/grahl-ldap/source/Ldap.php(40): Symfony\Component\Ldap\Adapter\ExtLdap\Adapter->getConnection()
#2 /var/www/www-dev/modules/ldap/ldap_servers/src/LdapBridge.php(143): Symfony\Component\Ldap\Ldap->bind()
#3 /var/www/www-dev/modules/ldap/ldap_servers/src/ServerListBuilder.php(92): Drupal\ldap_servers\LdapBridge->bind()
#4 /var/www/www-dev/modules/ldap/ldap_servers/src/ServerListBuilder.php(58): Drupal\ldap_servers\ServerListBuilder->checkStatus()
#5 /var/www/www-dev/core/lib/Drupal/Core/Entity/EntityListBuilder.php(219): Drupal\ldap_servers\ServerListBuilder->buildRow()
#6 /var/www/www-dev/core/lib/Drupal/Core/Entity/Controller/EntityListController.php(23): Drupal\Core\Entity\EntityListBuilder->render()
#7 [ฟังก์ชันภายใน]: Drupal\Core\Entity\Controller\EntityListController->listing()
#8 /var/www/www-dev/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array()
#9 /var/www/www-dev/core/lib/Drupal/Core/Render/Renderer.php(578): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#10 /var/www/www-dev/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(124): Drupal\Core\Render\Renderer->executeInRenderContext()
#11 /var/www/www-dev/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext()
#12 /var/www/www-dev/vendor/symfony/http-kernel/HttpKernel.php(158): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{ปิด}()
#13 /var/www/www-dev/vendor/symfony/http-kernel/HttpKernel.php(80): Symfony\Component\HttpKernel\HttpKernel->handleRaw()
#14 /var/www/www-dev/core/lib/Drupal/Core/StackMiddleware/Session.php(57): Symfony\Component\HttpKernel\HttpKernel->handle()
#15 /var/www/www-dev/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(47): Drupal\Core\StackMiddleware\Session->handle()
#16 /var/www/www-dev/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\Core\StackMiddleware\KernelPreHandle->handle()
#17 /var/www/www-dev/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\page_cache\StackMiddleware\PageCache->pass()
#18 /var/www/www-dev/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(47): Drupal\page_cache\StackMiddleware\PageCache->handle()
#19 /var/www/www-dev/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(52): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle()
#20 /var/www/www-dev/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle()
#21 /var/www/www-dev/core/lib/Drupal/Core/DrupalKernel.php(717): Stack\StackedHttpKernel->handle()
#22 /var/www/www-dev/index.php(19): Drupal\Core\DrupalKernel->handle()
#23 {ตัวหลัก}
ตอนนี้ สิ่งสำคัญคือต้องทราบว่า ฉันไม่ได้ดูแลเว็บไซต์ผ่านนักแต่งเพลง - มันถูกติดตั้งก่อนที่นักแต่งเพลงจะเป็นโซลูชันเริ่มต้นสำหรับการติดตั้ง/อัปเดต ดังนั้น ฉันอัปเดตคอร์และโมดูลด้วยตนเอง
ฉันใช้โมดูลที่มีประโยชน์มากสำเร็จแล้ว - ลุดวิก - ซึ่งก็คือก ทางเลือกของนักแต่งเพลงสำหรับโมดูลสนับสนุนที่ต้องการไลบรารี PHP ภายนอก.
อันที่จริงลุดวิกดูเหมือนจะพบไลบรารีภายนอกที่จำเป็นสำหรับ LDAP ดูภาพหน้าจอ (และนั่นคือที่มาของข้อผิดพลาด grahl/ldap lib)
ตอนนี้ฉันได้ค้นหา แพ็คเกจและเอกสารประกอบของ grahl/ldap และจะแสดงรายชื่อห้องสมุดที่เรียก ตัวเลือกตัวแก้ไข ตามความต้องการ
ฉันค้นหารายชื่อผู้ขาย/symfony บนเว็บเซิร์ฟเวอร์ของฉัน และแม้ว่าฉันจะเห็นไลบรารีหลายตัว (เช่น polyfill-php80 ซึ่งเป็นข้อกำหนดอื่นของ grahl/ldap) ฉันไม่เห็นตัวเลือกตัวแก้ไข lib.
ฉันพยายามดาวน์โหลดไฟล์ด้วยตนเอง (ran นักแต่งเพลงต้องการ symfony/options-resolver
ในไดเร็กทอรีใหม่โดยพลการ ดูสิ่งที่ดึงมา และคัดลอกเนื้อหาของโฟลเดอร์ options-resolver ไปยัง vendor/symfony) อย่างไรก็ตาม ฉันไม่แปลกใจเลยที่ข้อผิดพลาดยังคงดำเนินต่อไป ไม่พบคลาส OptionsResolver.php แม้ว่าจะ "มีอยู่" ในที่ที่ควรจะเป็น (?) ฉันสงสัยว่ามันเก็บรีจิสตรีของสิ่งที่มีอยู่ - มันไม่เพียงแค่ตรวจสอบเส้นทางและค้นหาไฟล์ ....
อาจฟังดูงี่เง่า แต่ฉันอยู่ในความมืดมิดที่นี่ - เห็นได้ชัดว่าฉันไม่มีประสบการณ์ในเรื่องนี้ ..
ฉันจะขอบคุณมากถ้ามีคนสามารถให้คำแนะนำได้ .. ขออภัยที่เขียนคำถามที่มีรายละเอียดมากเกินไป ฉันแค่ต้องการให้ข้อมูลมากที่สุด ..
ฉันควรติดตั้ง option-resolver ผ่าน Composer แม้ว่าฉันจะยังไม่เคยใช้มันเพื่อติดตั้ง/อัปเดตมาก่อน?
ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก ..