Bagaimana cara menginstal PHP 7?

116

PHP 7 keluar kemarin dan saya ingin mencobanya.

PHP 7.0.0 hadir dengan versi baru Zend Engine, berbagai peningkatan dan fitur baru seperti

  • Peningkatan kinerja: PHP 7 hingga dua kali lebih cepat dari PHP 5.6
  • Pengurangan penggunaan memori secara signifikan
  • Pohon Sintaksis Abstrak
  • Dukungan 64-bit yang konsisten
  • Peningkatan hierarki Pengecualian
  • Banyak kesalahan fatal dikonversi menjadi Pengecualian
  • Amankan pembangkit angka acak
  • SAPI dan ekstensi lama dan tidak didukung dihapus
  • Operator penggabungan nol (??)
  • Deklarasi Kembali dan Jenis Skalar
  • Kelas Anonim
  • Nol biaya menegaskan

php.net


Apakah itu mungkin untuk menginstalnya pada versi Ubuntu saat ini?

Apakah ada batasan saat ini atau masalah kompatibilitas yang diketahui?

hg8
sumber
1
PHP 7 adalah default pada Ubuntu 16, Xenial.
Buttle Butkus

Jawaban:

180

Anda dapat melakukan hal berikut:

sudo apt-get install python-software-properties software-properties-common
sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
sudo apt-get update

Secara opsional hapus PHP 5:

sudo apt-get remove php5-common -y

Atau langsung bersihkan termasuk file konfigurasi:

sudo apt-get purge php5-common -y

Dan akhirnya instal PHP 7:

sudo apt-get install php7.0 php7.0-fpm php7.0-mysql -y

Secara opsional membersihkan paket yang tidak dibutuhkan setelahnya:

sudo apt-get --purge autoremove -y

Atau, Anda dapat menginstal PHP 7.0 dari sumber menggunakan skrip skrip ini atau mengikuti instruksi di blog ini .

SUNTING:

PHP5 sekarang telah diganti dengan PHP7 sebagai PHP default di Ubuntu 16.4 jadi, untuk menginstal PHP7 di Ubuntu 16.04:

sudo apt-get install php7.0 

Atau

sudo apt-get install php
Tshilidzi Mudau
sumber
12
Siapa yang bertanggung jawab atas ppa? Apakah ini didukung secara resmi oleh zend?
k0pernikus
19
@ k0pernikus Zend tidak secara resmi mendukung apa pun di luar Zend Server mereka :-) Paket-paket resmi Ubuntu didukung oleh pengelola Ubuntu. PPA ini adalah upaya pribadi oleh Ondřej Surý. Ondrey adalah pemilik resmi pohon PHP di Debian, yang merupakan hulu dari Ubuntu. Lihat di sini: qa.debian.org/developer.php?login=ondrej%40debian.org
Palantir
4
Bagaimanapun, PPA PHP-nya sangat populer, ke titik di mana distribusi Magento resmi mengiklankan versi 5.5 dan 5.6: devdocs.magento.com/guides/v2.0/install-gde/prereq/…
Palantir
3
Memcached JFTR belum siap untuk PHP 7.0. Saya belum melihat memcache, masih memperbaiki bug yang lebih kecil setelah penulisan ulang skrip kemasan.
oerdnj
4
@Xeridea Coba sudo apt-get install libapache2-mod-php7.0, lalu sudo a2enmod php7.0restart Apache
andrewtweber
21

Anda memiliki dua opsi:

  • Tunggu hingga ada rilis Ubuntu baru yang menyertakan PHP7

    Ubuntu tidak akan merilis rilis versi baru utama ke sebagian besar perangkat lunak ke versi Ubuntu yang ada; untuk mendapatkan rilis versi baru utama Anda harus menunggu hingga versi Ubuntu yang lebih baru.

  • Instal versi pihak ketiga, seperti dari PPA

    PPA tidak terikat oleh jadwal rilis atau kebijakan Ubuntu sehingga mereka bebas untuk mengubah versi lebih sering, antara lain. PPA yang disebutkan dalam jawaban Tshilidzi Mudau adalah cara populer untuk tetap mendapatkan informasi terkini dengan PHP.

    sudo add-apt-repository ppa:ondrej/php
    

    PPA tidak datang dengan dukungan resmi Ubuntu yang sama dengan versi yang disediakan Ubuntu, dan karena jadwal dan kebijakan yang berbeda mungkin memiliki kualitas atau standar keamanan yang berbeda. Dalam hal ini, pengembang yang membuat PPA ini tersedia dikenal masyarakat di sini.

thomasrutter
sumber
1
Dan opsi untuk menginstal dari sumber.
j0h
18

Berikut adalah daftar perintah saya untuk memperbarui PHP sepenuhnya dengan dependensinya, termasuk phpMyAdmin (tumpukan LAMP penuh):

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:ondrej/php-7.0
sudo apt-get update
sudo apt-get purge php5-fpm
sudo apt-get install php7.0-cli php7.0-common libapache2-mod-php7.0 php7.0 php7.0-mysql php7.0-fpm php7.0-curl php7.0-gd php7.0-bz2

Sekarang kamu punya PHP7. Mari kita pergi untuk phpMyAdmin: (mulai di sini jika Anda sudah menginstal PHP7)

cd /var/www/html/
sudo wget https://files.phpmyadmin.net/phpMyAdmin/4.5.3.1/phpMyAdmin-4.5.3.1-all-languages.zip
sudo unzip phpMyAdmin-4.5.3.1-all-languages.zip
sudo mv phpMyAdmin-4.5.3.1-all-languages/ phpmyadmin/
sudo mkdir -m 777 phpmyadmin/config/
sudo /etc/init.d/apache2 restart
Jarek Jakubowski
sumber
3
libapache2-mod-php7.0persis apa yang saya butuhkan, terima kasih!
Jacer Omri
7

Proses di atas tidak berfungsi untuk server Ubuntu 15.10 saya, jadi saya pikir saya akan membagikan apa yang berfungsi seandainya orang lain merasa terbantu.

Pertama saya harus menghapus modul kunci PHP 5 tertentu:

sudo apt-get -y purge php5 libapache2-mod-php5 php5 php5-cli php5-common php5-curl php5-gd php5-imap php5-intl php5-json php5-mcrypt php5-mysql php5-pspell php5-readline php5-sqlite

Kemudian hapus beberapa hal tambahan yang tertinggal:

sudo apt-get autoremove

Kemudian instal PHP 7.0:

sudo apt-get install php7.0

Kemudian ketika PHPMyAdmin dihapus, Apache2 tidak akan mulai jadi saya harus menghapus file konfigurasi (saya bisa memindahkannya):

sudo rm /etc/apache2/conf-enabled/phpmyadmin.conf

Kemudian saya harus me-restart Apache2:

sudo service apache2 restart

PHP 7.0 kemudian dijalankan (dikonfirmasi dengan PHPINFO();)

Namun saya telah menemukan satu-satunya cara agar PHPMyAdmin berfungsi adalah menginstal / memutakhirkannya secara manual karena jika tidak, versi terbaru yang tersedia di sumber tidak mendukung PHP 7.

** EDIT: Saya sekarang menemukan cara untuk mendapatkan PHPMyAdmin diperbarui ke versi yang kompatibel tanpa harus mengkloning dari GIT atau mengkompilasi secara manual dari sumber jadi saya menambahkan ini di bawah ini:

Pertama-tama tambahkan repositori ini, perbarui daftar sumber, dan tingkatkan (NB: jika sudah dihapus selama peningkatan ke PHP7, Anda perlu menginstal daripada memutakhirkannya):

sudo add-apt-repository ppa:nijel/phpmyadmin
sudo apt-get update
sudo apt-get dist-upgrade

Namun selama instalasi (di server saya) itu harus menjalankan skrip upgrade database upgrade_column_info_4_3_0+.sqltetapi ini gagal dengan kesalahan berikut:

mysql said: ERROR 1060 (42S21) at line 28: Duplicate column name 'input_transformation'

Saya memilih untuk mengabaikan kesalahan dan menyelesaikan upgrade. Setelah instalasi saya membuka skrip pemutakhiran .sql di/usr/share/phpmyadmin/sql/upgrade_column_info_4_3_0+.sql

Saya menjalankan skrip secara manual menghapus dua baris yang menyinggung mencoba membuat 2 kolom yang sudah ada (kode untuk menghapus):

ALTER TABLE `pma__column_info`
ADD `input_transformation` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
ADD `input_transformation_options` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '';

Akhirnya saya harus mengedit file konfigurasi di /etc/phpmyadmin/config.inc.phpdan menambahkan dua baris berikut:

$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';

Setelah PHPMyAdmin ini berhasil diperbarui dan fitur-fitur tambahan diaktifkan. Semoga ini bisa membantu orang lain.

Robin Wilson
sumber
4

Pada saat jawaban ini (Februari 2017), di Ubuntu 16.04 LTS, sekarang mungkin untuk menginstal php 7.0. * Dengan perintah sederhana:

apt-get install php

Tidak perlu menambahkan repositori pihak ketiga.

Leo Galleguillos
sumber
3

Saya pikir ppatelah ditambahkan dalam 16,04 LTS.

  1. Cukup lakukan sudo apt-get install php7.0dan itu saja.
  2. Periksa apakah sudah diinstal dengan menjalankan php --version
  3. Anda juga dapat membuat info.phpfile di root dokumen Apache.
  4. Itu ada di /var/www/html/direktori
  5. Lari sudo gedit /var/www/html/info.php
  6. Tambahkan baris berikut ke file: <?php phpinfo(); ?>. Catatan: file tersebut adalah file kosong karena Anda buat sendiri.
  7. Sekarang restart apache sudo service apache2 restart
  8. Di browser web Anda, http://localhost/info.phpitu akan memberi Anda info lengkap tentang php.

Semoga ini membantu :)

Collin
sumber
1
Bukankah saya harus menambahkannya ke Apache2?
Arlen Beiler
Ini bukan ppa, ini adalah pembangunan ubuntu resmi.
Jeff Puckett
2

Saya telah mengumpulkan beberapa sumber daya yang berbeda dan menyelesaikan banyak masalah untuk sepenuhnya menyiapkan pembuatan PHP 7 pada Ubuntu 15.04 dan 15.10. Meskipun ini bukan skrip paket Debian, ini memang mengatur dependensi dan konfigurasi Ubuntu. Sumber daya dapat ditemukan di sini .

Anda mungkin perlu memilih cabang rilis hanya dengan menguasai dan menjalankan kembali skrip.

m1st0
sumber
2

Saya tahu ini mungkin ide yang buruk, tetapi inilah cara saya membuat php7 bekerja dengan instalasi Ubuntu Server 12.04.5 (i386):

sudo nano /etc/apt/sources.list

Kemudian tambahkan yang berikut di bagian akhir:
 

deb http://us.archive.ubuntu.com/ubuntu/ multiverse semesta terbatas utama yang dapat dipercaya
deb http://archive.canonical.com/ubuntu mitra terpercaya

Kemudian perbarui seperti biasa:

sudo apt-get pembaruan

Setelah Anda menginstal PHP 7 di server apache, Anda mungkin harus memindahkan file ke direktori baru agar berfungsi:

sudo mv / var / www / * / var / www / html /
KimChoJapFan
sumber