PHP 7 nasıl kurulur?


116

PHP 7 dün çıktı ve denemek istiyorum.

PHP 7.0.0, Zend Engine'in yeni bir sürümü, sayısız geliştirme ve yeni özellikler gibi geliyor.

  • Geliştirilmiş performans: PHP 7, PHP 5.6'dan iki kat daha hızlı
  • Önemli derecede azaltılmış bellek kullanımı
  • Özet Sözdizimi Ağacı
  • Tutarlı 64 bit destek
  • Gelişmiş İstisna hiyerarşisi
  • İstisnai Durumlara dönüştürülen birçok önemli hata
  • Güvenli rasgele sayı üreteci
  • Eski ve desteklenmeyen SAPI'ler ve uzantılar kaldırıldı
  • Boş birleştirme işleci (??)
  • İade ve Skaler Tip Beyanları
  • Anonim Sınıflar
  • Sıfır maliyet varsayımı

php.net


Geçerli Ubuntu sürümüne yüklemek mümkün mü?

Mevcut herhangi bir sınırlama veya bilinen uyumluluk sorunları var mı?



1
PHP 7, Ubuntu 16, Xenial'da varsayılandır.
Buttle Butkus

Yanıtlar:


180

Aşağıdakileri yapabilirsiniz:

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

İsteğe bağlı olarak PHP 5'i temizleyin:

sudo apt-get remove php5-common -y

Veya yapılandırma dosyalarını içeren doğrudan temizleyin:

sudo apt-get purge php5-common -y

Ve sonunda PHP 7'yi kurun:

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

İsteğe bağlı olarak gereksiz paketleri temizleyin:

sudo apt-get --purge autoremove -y

Alternatif olarak, bu komut dosyasını kullanarak veya bu blogdaki talimatları izleyerek PHP 7.0'ı kaynaklardan yükleyebilirsiniz .

DÜZENLE:

PHP5, Ubuntu 16.04’te PHP7’yi kurmak için Ubuntu 16.4’te varsayılan PHP olarak PHP7 ile değiştirildi :

sudo apt-get install php7.0 

Veya

sudo apt-get install php

12
PPA'nın sorumlusu kim? Resmen zend tarafından destekleniyor mu?
k0pernikus

19
@ k0pernikus Zend resmi olarak Zend Sunucusunun ötesindeki hiçbir şeyi desteklemez :-) Resmi Ubuntu paketleri Ubuntu'nun sağlayıcısı tarafından desteklenir. Bu PPA, Ondřej Surý'nın kişisel çabasıdır. Ondrey, Ubuntu'dan önceki Debian'da PHP ağacının resmi sahibidir. Buraya bakın: qa.debian.org/developer.php?login=ondrej%40debian.org
Palantir

4
Neyse, onun PHP PPA'ları çok popüler, resmi Magento dağıtımının 5.5 ve 5.6 sürümünü tanıttığı noktaya kadar
Palantir

3
JFTR memcached henüz PHP 7.0 için hazır değil. Memcache'e bakmadım, hala büyük paketleme kodlarının yeniden yazılmasından sonra daha küçük hataları ütülerim.
oerdnj

4
@Xeridea Deneyin sudo apt-get install libapache2-mod-php7.0, ardından sudo a2enmod php7.0Apache'yi yeniden başlatın
andrewtweber

21

İki seçeneğiniz var:

  • PHP7 içeren yeni bir Ubuntu sürümü çıkana kadar bekleyin

    Ubuntu, pek çok yazılıma mevcut yeni Ubuntu sürümlerinde yeni sürümler çıkarmayacaktır; büyük bir yeni sürüm sürümü edinmek için, Ubuntu'nun yeni bir sürümüne kadar beklemeniz gerekir.

  • PPA gibi bir üçüncü taraf sürümünü yükleyin

    PPA'lar, Ubuntu'nun yayın programları veya politikaları ile bağlı değildir, bu nedenle diğer şeylerin yanı sıra sürümleri daha sık değiştirmekte özgürdürler. Tshilidzi Mudau'nun cevabında belirtilen PPA, PHP ile daha güncel olmanın popüler bir yoludur.

    sudo add-apt-repository ppa:ondrej/php
    

    PPA'lar, Ubuntu tarafından sağlanan sürümlerle aynı resmi Ubuntu desteğiyle birlikte gelmez ve farklı programlar ve politikalar nedeniyle farklı bir kalite veya güvenlik standardı olabilir. Bu durumda, bu KKA'yı mümkün kılan geliştirici, buradaki topluluk tarafından iyi bilinir.


1
Ve kaynaktan yükleme seçeneği.
j0h

18

PHP'yi phpMyAdmin (full LAMP stack) dahil bağımlılıklarıyla tamamen güncelleyen komutlarım:

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

Şimdi PHP7'niz var. PhpMyAdmin için gidelim: (eğer zaten PHP7 kurulu ise buradan başlayın)

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

3
libapache2-mod-php7.0tam ihtiyacım olan şey, teşekkürler!
Jacer Omri


7

Yukarıdaki işlem Ubuntu 15.10 sunucum için işe yaramadı, bu yüzden başkalarının yararlı bulması durumunda ne işe yaradığını paylaşacağımı düşündüm.

İlk önce bazı PHP 5 modüllerini silmek zorunda kaldım:

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

Ardından geride kalan birkaç şeyi kaldırın:

sudo apt-get autoremove

Sonra PHP 7.0'ı kurun:

sudo apt-get install php7.0

Sonra PHPMyAdmin kaldırıldığı için Apache2 başlamazdı, bu yüzden config dosyasını kaldırmak zorunda kaldım (bunun yerine onu taşıyabilirdim):

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

Sonra Apache2'yi yeniden başlatmak zorunda kaldım:

sudo service apache2 restart

PHP 7.0 çalışıyordu (ile onaylandı PHPINFO();)

Ancak PHPMyAdmin'in çalışmasını sağlamanın tek yolunun, onu elle kurmak / yükseltmektir, aksi halde kaynaklarda bulunan en son sürüm henüz PHP 7'yi desteklemiyor.

** EDIT: PHPMyAdmin'in GIT'den klonlama yapmak veya kaynaklardan manuel olarak derlemek zorunda kalmadan uyumlu bir sürüme güncellenmesini sağlamanın bir yolunu buldum.

Öncelikle bu depoyu ekleyin, kaynaklar listesini güncelleyin ve yükseltin (Not: PHP7'ye yükseltme sırasında kaldırılmışsa, yükseltmek yerine yüklemeniz gerekir):

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

Ancak yükleme sırasında (sunucumda) bir veritabanı yükseltme komut dosyası çalıştırmak zorunda kaldı, upgrade_column_info_4_3_0+.sqlancak bu aşağıdaki hatayla başarısız oldu:

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

Hatayı yoksaymayı ve yükseltmeyi tamamlamayı seçtim. Kurulumdan sonra adresindeki .sql upgrade komut dosyasını açtım./usr/share/phpmyadmin/sql/upgrade_column_info_4_3_0+.sql

Komut dosyasını, var olan 2 sütunu oluşturmaya çalışan iki rahatsız edici satırı elle kaldırarak kaldırdım (kaldırılacak kod):

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 '';

Sonunda config dosyasını düzenlemek /etc/phpmyadmin/config.inc.phpve aşağıdaki iki satırı eklemek zorunda kaldım :

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

Bundan sonra PHPMyAdmin başarıyla güncellendi ve genişletilmiş özellikler etkinleştirildi. Umarım bu başkalarına yardımcı olur.


4

Bu cevabın yapıldığı tarihte (Şubat 2017), Ubuntu 16.04 LTS'de, basit bir komutla php 7.0. * 'I kurmak artık mümkün:

apt-get install php

Üçüncü taraf depoları eklemenize gerek yok.


3

ppa16.04 LTS'de eklenmiş olduğunu düşünüyorum .

  1. Sadece basitçe yapın sudo apt-get install php7.0ve o kadar.
  2. Çalıştırarak yüklü olup olmadığını kontrol edin php --version
  3. Ayrıca, info.phpdosyayı Apache'nin belge kökünde oluşturabilirsiniz.
  4. Bu /var/www/html/dizinde
  5. Çalıştırmak sudo gedit /var/www/html/info.php
  6. Dosyaya aşağıdaki ekleyin: <?php phpinfo(); ?>. Not: Dosya, kendiniz oluşturduğunuzdan bu yana boş bir dosyadır.
  7. Şimdi apache'yi yeniden başlat sudo service apache2 restart
  8. Web tarayıcınızda, http://localhost/info.phpbu php hakkında tam bilgi verecektir.

Bu yardımcı olur umarım :)


1
Apache2'ye eklemek zorunda mıyım?
Arlen Beiler,

Bu bir ppa değil, resmi ubuntu yapımı.
Jeff Puckett

2

Birkaç farklı kaynak topladım ve Ubuntu 15.04 ve 15.10'da PHP 7 yapısını tam olarak kurmak için birçok sorunu çözdüm. Bir Debian paket betiği olmasa da, Ubuntu bağımlılıklarını ve konfigürasyonunu yapar. Kaynaklar burada bulunabilir .

Sadece master üzerinden bir yayın dalı seçmeniz gerekebilir ve komut dosyasını yeniden çalıştırın.


2

Bunun kötü bir fikir olabileceğini biliyorum, ancak Ubuntu Server 12.04.5 (i386) kurulumumla çalışmam için php7 kullandım:

sudo nano /etc/apt/sources.list

Ardından sonuna aşağıdakileri ekleyin:
 

deb http://us.archive.ubuntu.com/ubuntu/ güvenilir ana kısıtlı evren multiverse
deb http://archive.canonical.com/ubuntu güvenilir ortak

Sonra normalde yaptığınız gibi güncelleyin:

sudo apt-get update

Apache sunucunuza PHP 7 kurulduktan sonra, çalışmak için dosyalarınızı yeni bir dizine taşımanız gerekebilir:

sudo mv / var / www / * / var / www / html /
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.