Làm cách nào để cài đặt phiên bản PHP khác nhau (nâng cấp hoặc hạ cấp) trong bản phát hành Ubuntu vẫn được hỗ trợ?


226

Tôi đang cố gắng cập nhật để cài đặt PHP 5.5, 5.6 hoặc 7.0 trong Ubuntu 12.04 / 14.04 / 16.04 LTS và tôi chỉ có thể nhận PHP 5.3.10 cho Ubuntu 12.04, PHP 5.5.9 cho Ubuntu 14.04 hoặc PHP 7.0.4 cho Ubuntu 16.04 sử dụng kho chính thức (sử dụng apt-get).

Tôi không thực sự chắc chắn làm thế nào để thực hiện cập nhật thủ công - như tôi cần:

  • để chơi xung quanh với các tính năng PHP (est) mới
  • để cài đặt phiên bản PHP cũ hơn do hỗ trợ trong phần mềm

1
nếu sudo apt-get nâng cấp Đừng nâng cấp PHP thì hãy thử sudo apt-get dist-Nâng cấp. Để nâng cấp phân phối.
Moiz Kiyani

Câu trả lời:


292

Bạn có thể sử dụng PPA để cập nhật với PHP hoặc cài đặt phiên bản PHP trước đó (từ PHP 5.6 trên Ubuntu 16.04 LTS).

Các kho lưu trữ được sử dụng rộng rãi nhất đến từ Ondřej Surý, người duy trì Debian Debian:

  • ppa: ondrej / phpLogo Launchpad (đối với các phiên bản có thể cài đặt đồng bộ PHP 5.6 / 7.0 / 7.1, PHP 5.5 không còn được hỗ trợ)

Các gói compat php5:

( Bấm vào đây để được hướng dẫn sử dụng PPA. )

Các PPA PHP trước đây có chứa bản cập nhật Apache 2.4. Đây không còn là trường hợp nữa, bạn cần thêm kho lưu trữ Apache 2.4 riêng biệt:

Nếu bạn muốn sử dụng các PPA này, hãy làm điều này:

ppa: ondrej / phpLogo Launchpad (cho PHP 5.6 / 7.0 / 7.1)

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install php7.1   # for PHP 7.1
sudo apt-get install php7.0   # for PHP 7.0
sudo apt-get install php5.6   # for PHP 5.6

Để chuyển đổi giữa các phiên bản đã cài đặt, hãy sử dụng

sudo update-alternatives --config php

Sau đó, bạn phải đặt Apache hoạt động với phiên bản phù hợp:

sudo a2dismod php7.1         # unload the current version
sudo a2enmod  php5.6         # load the version you need
sudo service apache2 restart # restart webserver to apply

ppa: ondrej / php5-compatLogo Launchpad (đối với compat php5)

sudo add-apt-repository ppa:ondrej/php
sudo add-apt-repository ppa:ondrej/php5-compat
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install php5 # this will pull php5.6 package 

Nếu bạn không có add-apt-repositorynhị phân, hãy làm như sau:

sudo apt-get install python-software-properties

Biện pháp phòng ngừa:

PHP 5.4

PHP 5.4 được đóng gói sẵn mới nhất hiện nằm trong PPA riêng biệt: ppa: ondrej / php5-oldurdyLogo Launchpad

Xin lưu ý rằng PHP 5.4 đã hết hạn sử dụng vào ngày 3 tháng 9 năm 2015 và nó không nhận được bất kỳ cập nhật bảo mật nào. Bạn nên chuyển sang ít nhất PHP 5.6 sẽ nhận được bảo mật được cập nhật cho đến ngày 31 tháng 12 năm 2018 .


5
Hóa ra bạn phải chạy sudo apt-get updatetrước!
kavisiegel

3
Có gói php5-cli cho điều đó!
mờ

11
Sau khi thêm ppa, bạn có thể làm: sudo apt-get dist-Nâng cấp
mờ

2
Sau khi cài đặt ppa, nâng cấp php và chạy php -v, thông tin phiên bản bắt đầu bằng thông báo lỗi này: Không tải được /usr/lib/php5/20090626/xdebug.so: /usr/lib/php5/20090626/xdebug.so: không thể mở được chia sẻ tệp đối tượng: Không có tệp hoặc thư mục gây phiền nhiễu.
systemovich

3
Sử dụng apt-get install software-properties-commonnếu apt-get install python-software-propertieskhông cung cấp add-apt-repositorylệnh.
Meetai.com

3

Sẽ mất một chút thời gian để các gói PHP 5.4 có thể xâm nhập vào Ubuntu, vì có rất nhiều kiểm tra phụ thuộc phải làm. Ubuntu 12.04 hiện đang ở giai đoạn thử nghiệm nên tôi nghi ngờ họ sẽ nâng cấp nó lên PHP 5.4 (mặc dù tôi không có kiến ​​thức chính thức hoặc bên trong về điều này) - có lẽ nó sẽ không xuất hiện cho đến Ubuntu 12.10 vào tháng 10 năm nay. Nếu bạn muốn nó sớm hơn thế, bạn sẽ phải tìm gói bên thứ ba hoặc học cách tự xây dựng nó từ mã nguồn.

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.