ฉันมีเครื่องมือ PHP ตัวเก่าที่ใช้งานได้ซึ่งไม่สามารถปรับให้เข้ากับ PHP7 ได้อย่างง่ายดาย ดังนั้นฉันต้องรัน PHP5 บนเซิร์ฟเวอร์ของฉัน
ฉันจะติดตั้ง PHP5 บน Ubuntu Bionic Beaver ได้อย่างไร
ฉันมีเครื่องมือ PHP ตัวเก่าที่ใช้งานได้ซึ่งไม่สามารถปรับให้เข้ากับ PHP7 ได้อย่างง่ายดาย ดังนั้นฉันต้องรัน PHP5 บนเซิร์ฟเวอร์ของฉัน
ฉันจะติดตั้ง PHP5 บน Ubuntu Bionic Beaver ได้อย่างไร
คำตอบ:
ไม่แนะนำให้ดำเนินการต่อ PHP 5.6 ซึ่งเป็น EOL ตั้งแต่เดือนมกราคม 2010!
แต่คุณสามารถติดตั้ง PHP5.6 จาก PPA ได้:
sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
sudo apt install php5.6
แหล่งที่มา: /ubuntu//a/762161/34298
sudo apt-get install php5.6
ทำงาน
คุณอาจต้องการลองใช้เครื่องมือ PHP 5 ของคุณใน container เช่น Docker PHP 5 ใกล้จะถึงจุดจบของชีวิตและหากคุณใช้ PHP 7 บนเครื่องเดียวกันคุณอาจพบความขัดแย้ง
มีรูปภาพ Docker อย่างเป็นทางการสำหรับ PHP 5: https://hub.docker.com/_/php/
ตัวเลือกมากมายดังที่ได้กล่าวไว้โดยคำตอบอื่น ๆ :
แบบนี้:
sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
sudo apt install php5.6
ใช้ระบบ Docker หรือ LXD container เพื่อสร้างสภาพแวดล้อม PHP 5 ขนาดเล็กเรียกใช้ใน Ubuntu 18.04 และส่งต่อคำขอทางเว็บทั้งหมดที่ต้องการ PHP 5 ฉันได้ยินมาว่าคุณสามารถแปลง VM ทั้งหมดของ Ubuntu 12.04 หรือ 14.04 เป็นคอนเทนเนอร์ที่มี lxd-p2c และเรียกใช้ภายใน Ubuntu 18.04 เช่นที่พวกเขาทำในการนำเสนอนี้: "การเปลี่ยนระบบทางกายภาพเป็นคอนเทนเนอร์ย้ายไปยังคอนเทนเนอร์ระบบ"
นอกจากนี้คุณยังสามารถตั้งค่าเซิร์ฟเวอร์ที่สอง (หรือ VM) และมีเพียง Apache บนระบบหลัก 18.04 การร้องขอพร็อกซี่สำหรับเว็บไซต์ที่กำหนด PHP 5 ถึงมัน ระบบดังกล่าวไม่จำเป็นต้องสามารถเข้าถึงเว็บได้เนื่องจากระบบ 18.04 จะเป็นระบบที่เปิดเผยต่อโลกภายนอก หากคุณต้องการ register_globals คุณสามารถใช้ Ubuntu 12.04 กับ PHP 5.3.2 ซึ่งไม่ได้รับการสนับสนุนอย่างเป็นทางการอีกต่อไปหรือ Ubuntu 14.04 กับ PHP 5.5.9 ด้วยโค้ดขนาดสั้นที่จุดเริ่มต้นของไฟล์ทั้งหมดเพื่อเลียนแบบ register_globals ฉันลืมข้อมูลโค้ด แต่คุณสามารถมองมันได้ นี่คือ config ไฟล์ที่เกี่ยวข้องที่อาจจะทำงานให้กับพร็อกซีเว็บไซต์ SSL จากเซิร์ฟเวอร์หนึ่งไปยังอีกสมมติว่าส่วนที่เหลือของการตั้งค่าของคุณเป็นสิ่งที่เหมาะสมและวัยรุ่น requred ที่มีการเปิดใช้งาน:
บน Ubuntu 18.04 Apache เซิร์ฟเวอร์ทำพร็อกซีที่ 192.168.1.2:
#requires mod_remoteip and mod_proxy
RemoteIPHeader X-Forwarded-For
TrustedProxy 192.168.1.2
SSLProxyEngine On
ProxyPreserveHost On
ProxyPass / https://example.org/ retry=0
ProxyPassReverse https://example.org/ retry=0
บน Ubuntu 14.04 เซิร์ฟเวอร์พร็อกซีถูกอย่าง 192.168.1.3:
#requires mod_proxy
RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 192.168.1.2
RemoteIPInternalProxy 192.168.1.1 #assuming your router IP is 1.1