ปัญหา:
ฉันมีเซิร์ฟเวอร์สองเครื่องที่เกือบจะเหมือนกันโดยปราศจากรายละเอียดที่ไม่จำเป็น อย่างไรก็ตามอันหนึ่งมี yum repos ที่กำหนดค่าไว้เพื่อให้ติดตั้งแพ็คเกจ php 7.2 imagick และ sodium ในขณะที่อีกอันไม่มี
รุ่นเคอร์เนลเดียวกัน:
CentOS Linux รีลีส 7.5.1804 (คอร์)
เวอร์ชัน PHP ที่คล้ายกัน:
เซิร์ฟเวอร์ A:
PHP 7.2.18 (cli)
เซิร์ฟเวอร์ B:
PHP 7.2.20 (cli)
เซิร์ฟเวอร์ A:
$ sudo yum ค้นหาโซเดียมอิมาจิค
...
php72u-sodium.x86_64 : Wrapper สำหรับไลบรารีการเข้ารหัสโซเดียม
php72u-pecl-imagick.x86_64 : จัดเตรียม wrapper ให้กับไลบรารี ImageMagick
...
เซิร์ฟเวอร์ B:
$ sudo yum ค้นหาโซเดียมอิมาจิค
[แสดงเฉพาะเวอร์ชันสำหรับ php 7.3 และ 7.4]
ฉันเชื่อว่านี่เป็นเพราะการกำหนดค่าของ yum repos โดยเฉพาะอย่างยิ่ง ยูส
ซื้อคืน:
เซิร์ฟเวอร์ A:
$ sudo ยำรีโพลิส
ปลั๊กอินที่โหลด: กระจกที่เร็วที่สุด แทนที่
กำลังโหลดความเร็วมิเรอร์จากไฟล์โฮสต์แคช
* ฐาน: d36uatko69830t.cloudfront.net
* ชื่อเรื่อง: iad.mirror.rackspace.com
* พิเศษ: d36uatko69830t.cloudfront.net
* ius: ius.mirror.constant.com <================ อันนี้
* อัปเดต: d36uatko69830t.cloudfront.net
...
เซิร์ฟเวอร์ B:
$ sudo ยำรีโพลิส
ปลั๊กอินที่โหลด: กระจกที่เร็วที่สุด แทนที่
กำลังโหลดความเร็วมิเรอร์จากไฟล์โฮสต์แคช
* ฐาน: d36uatko69830t.cloudfront.net
* คำนำ: dl.fedoraproject.org
* พิเศษ: d36uatko69830t.cloudfront.net
* อัปเดต: d36uatko69830t.cloudfront.net
...
ในระยะสั้นฉันต้องหาวิธีกำหนดค่าเซิร์ฟเวอร์ B ให้มี IUS repo เดียวกัน (ในรุ่นเดียวกัน ดังนั้นจึงมีแพ็คเกจ PHP 7.2 พร้อมใช้งาน!)
สิ่งที่ฉันได้ลอง
- ติดตั้ง IUS repo ตั้งแต่เริ่มต้นโดยทำตามคำแนะนำ
- คัดลอกแบบเต็ม
/etc/yum.repos.d/
ไดเร็กทอรีจากเซิร์ฟเวอร์ A ถึง B จากนั้นรัน ยำสะอาดทั้งหมด
- การติดตั้งโมดูลเหล่านี้ด้วยตนเองด้วย pecl
แต่ความพยายามเหล่านี้ไม่ได้ผล ผลลัพธ์:
- IUS ใหม่ล่าสุดที่ยังไม่มีแพ็คเกจเหล่านี้
- ดูเหมือนจะไม่สร้างความแตกต่าง (หรืออาจทำให้ IUS repo พัง ฉันจำตอนนี้ไม่ได้แล้ว)
- Pecl ในทำนองเดียวกันไม่มีโมดูลเหล่านี้ในเวอร์ชัน PHP 7.2