Bagaimana saya menginstal versi PHP yang berbeda (upgrade atau downgrade) di rilis Ubuntu yang masih didukung?


226

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 cara melakukan pembaruan manual - seperti yang saya butuhkan:

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

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

Jawaban:


292

Anda dapat menggunakan PPA untuk tetap mengikuti perkembangan terbaru dengan PHP atau menginstal versi PHP sebelumnya (fe PHP 5.6 pada Ubuntu 16.04 LTS).

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

  • ppa: ondrej / phpLogo launchpad (untuk versi yang dapat diinstal bersama PHP 5.6 / 7.0 / 7.1, PHP 5.5 tidak lagi didukung)

Paket compat php5:

( Klik di sini untuk petunjuk tentang cara menggunakan PPA. )

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

Jika Anda ingin menggunakan PPA ini, lakukan ini:

ppa: ondrej / phpLogo launchpad (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 versi yang diinstal, gunakan

sudo update-alternatives --config php

Maka Anda harus mengatur Apache agar berfungsi 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-compatLogo launchpad (untuk 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 

Jika Anda tidak memiliki add-apt-repositorybiner, lakukan hal berikut:

sudo apt-get install python-software-properties

Tindakan pencegahan:

PHP 5.4

PHP 5.4 yang telah dikemas sebelumnya sekarang berada di PPA terpisah: ppa: ondrej / php5-oldstableLogo launchpad

Perlu diketahui bahwa PHP 5.4 telah mencapai akhir masa pakainya pada 3. September 2015 dan tidak menerima pembaruan keamanan apa pun. Disarankan untuk bermigrasi ke setidaknya PHP 5.6 yang akan menerima keamanan diperbarui hingga 31. Desember 2018 .


5
Ternyata kamu harus lari sudo apt-get updatedulu!
kavisiegel

3
ada paket php5-cli untuk itu!
matteosister

11
Setelah menambahkan ppa, Anda dapat melakukan: sudo apt-get dist-upgrade
matteosister

2
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 bersama file objek: Tidak ada file atau direktori yang mengganggu.
systemovich

3
Gunakan apt-get install software-properties-commonjika apt-get install python-software-propertiestidak memberikan add-apt-repositoryperintah.
Meetai.com

3

Paket PHP 5.4 akan membutuhkan waktu untuk masuk ke Ubuntu, karena ada banyak sekali pemeriksaan ketergantungan yang harus dilakukan. Ubuntu 12.04 sekarang dalam versi beta jadi saya ragu mereka akan meng-upgrade-nya ke PHP 5.4 (walaupun saya tidak memiliki pengetahuan resmi atau pengetahuan dalam tentang ini) - 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 membuatnya sendiri dari kode sumber.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.