"Growling Flea" bölümündeki senaryo ile aynı, ancak yeni sürümler kullanılıyor.
PPA ekleyin
PHP 5.6 ve PHP 7.0 paketleri, Canonical'in resmi Ubuntu depoları tarafından sağlanmayan üçüncü taraf bir PPA'ya aittir. Burada tavsiye ettiğim PPA'lar, PHP'yi Debian için paketleyen Ondřej Surý'dan (bu nedenle Ubuntu tarafından kullanılıyor) yani resmi bir depo olmasa da, tamamen rastgele değil! PPA'nın kendisi
burada
PPA'yı kurulumunuza eklemek için:
sudo add-apt-repository ppa:ondrej/php
Ardından, bu yeni PPA’dan ne teklif edildiği hakkında bilgi almak isteyip, daha sonra da aşağıdakileri çalıştırın:
sudo apt-get update
Yeni PHP sürümlerini yükleyin
Şimdiden bazı php5 paketlerini yükledim, ancak hiçbir şeyi kaldırmadım, yeni sürümleri yüklemesini istediğimde apt'nin ne yapmak istediğini çözmesine izin verdim:
sudo apt-get install php5.6 php7.0
Bu, apt ve bolca ihtilaftan çok şikayetçi oldu. Önerilen ilk ilk çözüm, PHP 5.6'nın yüklenebilmesi için tüm php5 paketlerini kaldırmaktı, bu yüzden ilk öneriyi kabul ettim.
Apache kullanıyorum, bu yüzden bu kurulum bana hem php5.6 hem de php7.0 modülleri ile birlikte apache verdi ve php5.6 modülü gerçekte yüklendi.
Sadece PHP'nin yanı sıra, PHP'de beklediğiniz tüm uzantılar ve diğer araçlar da PHP'nin her iki sürümü için de vardır, bu yüzden ihtiyacınız olan modüllere eklemek çok kolaydır. Bunun ne kadar güzel yapılmasından çok etkilendim.
Sürümleri yapılandırma ve değiştirme
Şimdi sisteminizde kurulu iki tane tamamen ayrı PHP sürümü var, o yüzden tüm parçaların nereye gittiğine bakalım!
Konfigürasyon dosyaları hepsi içinde /etc/php/5.6
ve /etc/php/7.0
sırasıyla - burada, hangi uzantıların yüklendiğini yapılandırabilir, ini ayarlarını ve her sürüm için diğer her şeyi ayrı ayrı yapılandırabilirsiniz.
Ben bir apache kullanıcısıyım ve bahsettiğim gibi her iki modül de mevcut. Birinden diğerine geçmek için yapmam gereken:
sudo a2dismod php5.6
sudo a2enmod php7.0
sudo service apache2 restart
Nginx kullanıcılar için, değişiklikler Dijital Okyanus bu iyi belgelerine sahip, neredeyse kolaydır böylece onların rehber kontrol (onlar büyük dokümanlar var!):
Https://www.digitalocean.com/community/tutorials/how-to-
PHP'nin başka bir sürümünü kullanmak için nginx'i yeniden yapılandırma hakkında bir bölüm içerdiğinden , php-7-on-on-ubuntu-14-04'e yükseltme .
Komut satırında php5.6 ve php7.0 komutlarının her ikisine de sahibim. Ayrıca hala bir php komutum var - PHP etc * 'in belirli bir sürümüne bağlandığını görmek için / etc / alternative dosyasına bakın. Ayrıca hangisinin kullandığını kontrol ederek de hızlıca kontrol edebilirsiniz php -v
.
* Daha spesifik olarak, PHP'nin hangi sürümünün kullanıldığını görmek için hangi php'yi çalıştırın - ama bu muhtemelen işaret edecek /usr/bin/php
, hangisi benim için /etc/alternatives/php
komuta bir işaret.
Uzantılarla çalışmak
Bu PPA, PHP'nin her iki sürümü için de pecl komutunu sunan normal php-pear paketi ile birlikte gelir, böylece PECL üzerinden kullanılabilen herhangi bir uzantı, olağan şekilde yüklenebilir. Ayrıca, php5.6-dev ya da php7.0-dev'in yüklü olması için ilgili başlıklara ihtiyacınız olacaktır.
Pecl kurulumu tamamlandığında, * .so dosyasını php.ini dosyasına eklemek için bir not alacaksınız; Aslında, burada yapılacak en iyi şey, ne olduğuna bakmaktır /etc/php/mods-available
. Zaten burada, her biri uzantıdan sonra adlandırılmış ve .ini ile biten kendi dosyalarında olacak. Şablon olarak kullanmak için bir kopyasını kopyalayabilir veya kendinizinkini oluşturabilir ve uzantı için tüm ilgili konfigürasyonları (asgari olarak ihtiyacınız olan extension=[extensionName].so
) koyabilirsiniz .
Yeni uzantı kullanılabilir modda olduğunda, etkinleştirin ve ardından yaparak kontrol edin:
sudo phpenmod extension
php -m
Bu, bu modülü yüklemek için geçerli PHP sürümünüz için doğru yerlerde sembolik bağlantılar oluşturacaktır ve tarafından çıkarılan modüller listesinde görmelisiniz php -m
. Profesyonel ipucu: Çıktıda göremiyorsanız, çıktının üstüne kaydırın ve orada yararlı herhangi bir hata mesajı olup olmadığını görün.