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


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 lưu trữ chính thức (sử dụng apt-get).

Tôi không thực sự chắc chắn cách 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 mới
  • cài đặt hỗ trợ phiên bản PHP cũ hơn trong phần mềm

224
2018-03-02 14:45


gốc


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


Các câu trả lời:


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

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

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

Các gói compomp php5:

  • ppa: ondrej / php5-compat Launchpad logo (cho dummy php5 để đáp ứng các phụ thuộc trong các gói cũ)

(Bấm vào đây để biết hướng dẫn về cách sử dụng PPA.)

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

  • ppa: ondrej / apache2 Launchpad logo (đối với Apache 2.4)

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

ppa: ondrej / php Launchpad logo (đối với 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 để làm việc với phiên bản đúng:

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-compat Launchpad logo (đối với php5 compat)

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-repository nhị phân làm như sau:

sudo apt-get install python-software-properties

Thận trọng:

PHP 5.4

Gói PHP 5.4 mới nhất được đóng gói sẵn bây giờ nằm ​​trong PPA riêng biệt: ppa: ondrej / php5-oldstable Launchpad logo

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


288
2018-03-02 14:58



Hóa ra bạn phải chạy sudo apt-get update Đầu tiên! - kavisiegel
có gói php5-cli cho điều đó! - matteosister
Sau khi thêm ppa, bạn có thể làm: sudo apt-get dist-upgrade - matteosister
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 với thông báo lỗi này: Không thể tải /usr/lib/php5/20090626/xdebug.so: /usr/lib/php5/20090626/xdebug.so: không thể mở tệp đối tượng được chia sẻ: Không có tệp hoặc thư mục nào như vậyLàm phiền. - systemovich
Sử dụng apt-get install software-properties-common nếu apt-get install python-software-properties không cung cấp add-apt-repository chỉ huy. - Meetai.com


Nó sẽ mất một thời gian cho PHP 5.4 gói để thực hiện theo cách của họ vào Ubuntu, như có rất nhiều khủng khiếp của kiểm tra phụ thuộc để làm. Ubuntu 12.04 hiện đang trong giai đoạn thử nghiệm vì vậy tôi nghi ngờ họ sẽ nâng cấp 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) - nó có thể sẽ không xuất hiện cho đến khi 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 một gói của bên thứ ba hoặc học cách tự xây dựng nó từ mã nguồn.


3