Cài đặt PHP5 trên Ubuntu 18.04


20

Tôi có một công cụ PHP cũ đang chạy mà không dễ thích nghi với PHP7. Vì vậy, tôi phải chạy PHP5 trên máy chủ của mình.

Làm cách nào tôi có thể cài đặt PHP5 trên Ubuntu Bionic Beaver?

Câu trả lời:


33

Không nên tiếp tục PHP 5.6, đó là EOL kể từ tháng 1 năm 2010!

Nhưng bạn có thể cài đặt PHP5.6 từ PPA:

sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
sudo apt install php5.6

nguồn: https://askubfox.com/a/762161/34298


trước tiên bạn cần cài đặt "sudo apt install software-property-commo" để nhận lệnh "add-apt-repository"
ZFNerd

Đối với tôi, phiên bản Ubuntu 19.04 chỉ sudo apt-get install php5.6hoạt động
Gayan

2

Bạn có thể muốn xem xét việc chạy công cụ PHP 5 của mình trong một thùng chứa, ví dụ Docker. PHP 5 đã gần hết tuổi thọ và nếu bạn sử dụng PHP 7 trên cùng một máy, bạn có thể gặp phải các xung đột.

Có một số hình ảnh Docker chính thức có sẵn cho PHP 5: https://hub.docker.com/_/php/


Điều này có an toàn hơn so với chỉ cài đặt PHP 5 không? Tôi không cần PHP 7 trên bản mashine đó
rubo77

Bạn không cần một môi trường chứa nếu bạn hoàn toàn không cần PHP 7, chỉ cần gỡ cài đặt PHP 7 và cài đặt PHP 5 từ repo ondrej trong câu trả lời khác trong trường hợp đó.
RedScourge

1

Một số lựa chọn, như được đề cập bởi các câu trả lời khác:

  • Sử dụng repo Ondrej / php PPA để cài đặt PHP 5.6:

Như thế này:

sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
sudo apt install php5.6
  • Sử dụng các hệ thống bộ chứa Docker hoặc LXD để xây dựng một môi trường PHP 5 nhỏ, chạy nó trong Ubuntu 18.04 và chuyển tiếp tất cả các yêu cầu web yêu cầu PHP 5 tới nó. Tôi nghe nói bạn thực sự có thể chuyển đổi toàn bộ VM của Ubuntu 12.04 hoặc 14.04 sang một thùng chứa với lxd-p2c và chạy nó trong Ubuntu 18.04, giống như cách họ làm trong bài trình bày này: "Biến hệ thống vật lý thành vùng chứa Di chuyển sang vùng chứa hệ thống"

  • Bạn cũng có thể thiết lập máy chủ thứ hai (hoặc VM) và chỉ cần có Apache trên hệ thống chính 18.04 để yêu cầu proxy cho các trang web yêu cầu PHP 5 cho nó. Hệ thống đó không cần phải truy cập web, vì hệ thống 18.04 sẽ là hệ thống tiếp xúc với thế giới bên ngoài. Nếu bạn yêu cầu register_globals, bạn có thể sử dụng Ubuntu 12.04 với PHP 5.3.2 không còn được hỗ trợ chính thức hoặc Ubuntu 14.04 với PHP 5.5.9 với đoạn mã khi bắt đầu tất cả các tệp của bạn để mô phỏng register_globals. Tôi quên đoạn mã nhưng bạn có thể tra cứu nó. Đây là các tệp cấu hình có liên quan có thể hoạt động để ủy quyền một trang SSL từ máy chủ này sang máy chủ khác, giả sử phần còn lại của cấu hình của bạn là phù hợp và các mod được yêu cầu được bật:

Trên Ubuntu 18.04 Máy chủ Apache thực hiện ủy quyền tại 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

Trên máy chủ Ubuntu 14.04 được ủy quyền tại 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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.