Score:0

Debian: จะใส่ libcurl สองเวอร์ชันในระบบเดียวได้อย่างไร

ธง jp

ฉันกำลังพยายามย้ายเว็บแอปสองแอปบนเซิร์ฟเวอร์เดียว (debian10) ทั้งคู่ต้องการ php เวอร์ชันต่างกัน และทั้งคู่ต้องการส่วนขยาย cURL เพื่อให้ทำงานได้อย่างถูกต้อง

php5.6-curl ใช้ libcurl v3

php8.1-curl ใช้ libcurl v4

ก่อนอื่นฉันได้ติดตั้ง php5.6-curl และเมื่อฉันพยายามติดตั้ง php8.1-curl - apt ส่งการแจ้งเตือนว่า แพ็คเกจต่อไปนี้มีการพึ่งพาที่ไม่ตรงกัน: php8.1-curl : ขึ้นอยู่กับ: libcurl4 (>= 7.56.1) แต่จะไม่ถูกติดตั้ง

ถ้าฉันใช้ -f บน apt มันจะลบ php5.6-curl...

วิธีใดที่หรูหราที่สุดในการทำให้ไลบรารี libcurl ทั้งสองพร้อมใช้งานในระบบเดียว

ขอบคุณ, โรเบิร์ต

แก้ไข: เท่าที่ฉันเห็น ปัญหาคือ libcurl3 และ libcurl4 ใช้ไฟล์เดียวกันร่วมกัน php[5.6,8.1]-fpm พยายามโหลดไลบรารี่ ไลบรารีที่ได้รับ libcurl.so.4 ที่ไม่เหมาะสมล้มเหลวและ php ไม่สามารถใช้โมดูลนั้นได้

อาจมีวิธีการที่สวยงามในการบังคับให้ไบนารี 4eg php5-curl ใช้ไลบรารีจากเส้นทางที่ผู้ใช้กำหนด

Score:1
ธง in

ใส่ทั้งสองแอพในคอนเทนเนอร์ที่มีทุกอย่างที่ต้องการ

Robert Grubba avatar
jp flag
น่าเสียดายที่ฉันไม่ได้รับอนุญาตให้ใช้คอนเทนเนอร์ในโครงการนั้น...
Nikita Kipriyanov avatar
za flag
คุณแน่ใจหรือว่าคุณอยู่ในสภาพแวดล้อมทางธุรกิจ
Score:0
ธง jp

ฉันพบวิธีแก้ปัญหาด้วยตัวเอง หากคุณต้องการแก้ปัญหาที่คล้ายกัน คุณสามารถไปของฉัน ไม่ใช่วิธีที่สวยงามที่สุด

  1. ติดตั้งแพ็กเก็ต php5.6 ที่จำเป็นทั้งหมด
  2. คัดลอกไดเรกทอรี /usr/lib ไปยัง /usr/php56libs
  3. แก้ไขไฟล์บริการ systemd ในกรณีของฉัน: แก้ไข systemctl -- เต็ม php5.6-fpm
  4. ภายใต้ บริการ ส่วนเพิ่มตัวแปรสภาพแวดล้อม: สภาพแวดล้อม = "LD_LIBRARY_PATH=/usr/php56libs"
  5. ตอนนี้คุณสามารถติดตั้งแพ็กเก็ต php8.1 ทั้งหมดด้วย apt (บังคับ -ฉ ตัวเลือก) มันจะลบ libs ที่ขัดแย้งกันทั้งหมดออกจาก /usr/lib แต่ไม่เป็นไรเพราะบริการ php5.6-fpm จะใช้ตัวจาก /usr/php56libs
in flag
PHP 5.6 สิ้นสุดอายุการใช้งานแล้วใน **2018** มันไม่ได้รับการอัพเดตความปลอดภัยตั้งแต่นั้นมา การใช้ซอฟต์แวร์ที่ล้าสมัยเป็นสิ่งที่อันตราย อย่างน้อยการใช้คอนเทนเนอร์จะเพิ่มความปลอดภัยอีกชั้นเพื่อป้องกันการเพิ่มระดับสิทธิ์
Score:-2
ธง ru

เข้าสู่ระบบเซิร์ฟเวอร์ของคุณผ่าน SSH ตรวจสอบว่าคุณอยู่ในโฮมไดเร็กทอรีของผู้ใช้ ค้นหาเวอร์ชันที่คุณต้องการติดตั้ง เปิดเครื่องรูดไฟล์ นำทางไปยังไดเร็กทอรีใหม่นี้ เปิด .bash_profile ของคุณโดยใช้ nano หรือ vim ตัวอย่างเช่น: เพิ่มไฟล์ที่จำเป็นใน .bash และอัปเดต อัปเดต .bash_profile ของคุณเพื่อเปิดใช้งานการกำหนดค่าใหม่ของคุณ ตรวจสอบตำแหน่งและเวอร์ชั่นของ curl

in flag
นั่นไม่สมเหตุสมผลเลย
Robert Grubba avatar
jp flag
ฉันไม่แน่ใจว่ามันจะช่วยแก้ปัญหาของฉันได้อย่างไร เท่าที่ฉันเห็น ปัญหาคือ libcurl3 และ libcurl4 ใช้ไฟล์เดียวกันร่วมกัน ```/usr/lib/x86_64-linux-gnu/libcurl.so.4``` และจะเปลี่ยนไปเมื่อติดตั้งแพ็คเกจใหม่ (libcurl3libcurl4) . php[5.6,8.1]-fpm พยายามโหลดไลบรารี่ ไลบรารีที่ได้รับ libcurl.so.4 ที่ไม่เหมาะสมล้มเหลวและ php ไม่สามารถใช้โมดูลนั้นได้

โพสต์คำตอบ

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