Pertanyaan Bagaimana cara menginstal versi PHP yang berbeda (upgrade atau downgrade) dalam rilis Ubuntu yang didukung?


Saya mencoba memperbarui untuk menginstal PHP 5.5, 5.6 atau 7.0 di Ubuntu 12.04 / 14.04 / 16.04 LTS, dan saya hanya bisa mendapatkan PHP 5.3.10 untuk Ubuntu 12.04, PHP 5.5.9 untuk Ubuntu 14.04 atau PHP 7.0.4 untuk Ubuntu 16.04 menggunakan repositori resmi (menggunakan apt-get).

Saya tidak begitu yakin bagaimana melakukan pembaruan manual - seperti yang saya butuhkan:

  • untuk bermain-main dengan fitur PHP (est) baru
  • untuk menginstal dukungan versi lama PHP dalam perangkat lunak

224
2018-03-02 14:45


asal


jika sudo apt-get upgrade Jangan meng-upgrade PHP kemudian coba sudo apt-get dist-upgrade. Untuk peningkatan distribusi. - Moiz Kiyani


Jawaban:


Anda bisa menggunakan PPA untuk tetap up-to-date dengan PHP atau menginstal versi PHP sebelumnya (f.e. PHP 5.6 pada Ubuntu 16.04 LTS).

Repositori yang paling banyak digunakan berasal dari Ondřej Surý, pengelola PHP Debian:

  • ppa: ondrej / php Launchpad logo (untuk PHP versi co-installable 5.6 / 7.0 / 7.1, PHP 5.5 tidak lagi didukung)

Paket compat php5:

  • ppa: ondrej / php5-compat Launchpad logo (untuk dummy php5 untuk memuaskan dependensi dalam paket lama)

(Klik di sini untuk instruksi menggunakan AKP.)

PHP PPA sebelumnya berisi pembaruan Apache 2.4. Ini bukan lagi sebuah kasus, Anda perlu menambahkan terpisah repositori Apache 2.4:

  • ppa: ondrej / apache2 Launchpad logo (untuk Apache 2.4)

Jika Anda ingin menggunakan AKP ini, lakukan ini:

ppa: ondrej / php Launchpad logo (untuk 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

Untuk beralih di antara penggunaan versi yang terinstal

sudo update-alternatives --config php

Maka Anda harus mengatur Apache agar bekerja dengan versi yang benar:

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 (untuk 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 

Jika Anda tidak punya add-apt-repository biner lakukan hal berikut:

sudo apt-get install python-software-properties

Tindakan pencegahan:

PHP 5.4

Pra-paket PHP 5.4 terbaru sekarang berada di PPA terpisah: ppa: ondrej / php5-oldstable Launchpad logo

Harap perhatikan bahwa PHP 5.4 telah mencapai akhir masa pakainya 3. September 2015 dan tidak menerima pembaruan keamanan apa pun. Dianjurkan untuk bermigrasi ke setidaknya PHP 5.6 yang akan menerima pembaruan keamanan sampai 31. Desember 2018.


288
2018-03-02 14:58



Ternyata kamu harus lari sudo apt-get update pertama! - kavisiegel
ada paket php5-cli untuk itu! - matteosister
Setelah menambahkan ppa, Anda bisa melakukan: sudo apt-get dist-upgrade - matteosister
Setelah menginstal ppa, memutakhirkan php dan menjalankan php -v, informasi versi dimulai dengan pesan kesalahan ini: Gagal memuat /usr/lib/php5/20090626/xdebug.so: /usr/lib/php5/20090626/xdebug.so: tidak dapat membuka file objek bersama: Tidak ada file atau direktori semacam ituMengganggu. - systemovich
Menggunakan apt-get install software-properties-common jika apt-get install python-software-properties tidak menyediakan add-apt-repository perintah. - Meetai.com


Diperlukan beberapa waktu bagi paket PHP 5.4 untuk masuk ke Ubuntu, karena ada banyak sekali pemeriksaan ketergantungan yang harus dilakukan. Ubuntu 12.04 sekarang dalam beta jadi saya ragu mereka akan meng-upgrade ke PHP 5.4 (meskipun saya tidak memiliki pengetahuan resmi atau dalam hal ini) - itu mungkin tidak akan muncul sampai Ubuntu 12.10 pada bulan Oktober tahun ini. Jika Anda menginginkannya lebih cepat dari itu, Anda harus menemukan paket pihak ketiga atau belajar untuk membangunnya sendiri dari kode sumber.


3