PHP'yi Mac OS X'te nasıl yükseltirim?


99

Bunun sorulacak son derece geniş bir soru olduğunu düşünüyorum, ama tuhaf bir şekilde bu sorun yeterince belgelenmemiş.

PHP'yi yükseltmek istiyorum, ancak birkaç sorun var:

  • Yerleşik paket yöneticisi yoktur. MacPorts, PHP'nin kendisini yüklemediği için php'yi yüklü bir paket olarak tanımaz.
  • Koşu locate php, muhtemelen birçok bağımlılık olduğunu gösterir.
  • İşletim sistemine dahil olduğu için php'nin NASIL yüklendiğini bilmiyorum, bu yüzden kaynaktan mı yoksa ikililerden mi indirmeli bilmiyorum. Ayrıca, bağımlılıkları bozmadan önceki sürümü kaldırmanın doğru yolunu da bilmiyorum.

Leopard üzerinde koşuyorum. Apple'ın yükseltmeni istemediğini hissediyorum. Snow Leopard satın almak ve yükseltme bu sorunu (ve gelecekte hoşuna giden) çözer mi?


Yanıtlar:


90

Marc Liyanage'ın PHP paketine göz atmak isteyebilirsiniz. Çift tıklayabileceğiniz güzel bir Mac OS X yükleyici paketi içinde gelir. Oldukça güncel tutuyor.

http://php-osx.liip.ch/

Ayrıca, Snow Leopard'a yükseltmek, gelecekte PHP güncellemeleri yapmanıza yardımcı olmayacak olsa da, muhtemelen size daha yeni bir PHP sürümü verecektir. OS X 10.6.2 çalıştırıyorum ve PHP 5.3.0'a sahip.


Teşekkür ederim!! Bu süreç daha zor olacağı için gergindim.
Gavin

10
Bu paketin Mac'teki orijinal PHP sürümünü geçersiz kılmadığını unutmayın, bu nedenle kutudan çıkmaz, yeni dizini PATH. Çalışması için talimatlar o sayfadadır (bunu ilk seferde kaçıracak kadar aptaldım).
Coded Monkey

1
Vaov! Homebrew üzerinden kurulum sürecini işe almaya çalışırken saatler geçirdikten sonra bunu denedim. Süper hızlı, süper kolay ve aslında kutudan çıkar çıkmaz işe yaradı! Teşekkürler!
Magnus W

Kesinlikle en iyi seçenek. Çok acısız ( $PATH@CodedMonkey'de belirtildiği gibi doğru olup olmadığınızı hatırladığınız sürece)
Darragh Enright

2
Ayrıca, ayrı bir dizine kurulmasına rağmen, yükleyicinin Apache'yi, tüm web uygulamalarınızın yeni yüklenen php sürümünü kullanması için yapılandırdığını belirtmekte fayda var. Yani, PATH numarası sadece php'yi komut satırından çalıştırırsanız kullanışlıdır. Web uygulamalarını çalıştırmak istiyorsanız, yükleyici her şeyi halleder.
fiacobelli

51

Bunu kullanıyorum: https://github.com/Homebrew/homebrew-php

Komut şudur:

$ xcode-select --install

$ brew tap homebrew/dupes
$ brew tap homebrew/versions
$ brew tap homebrew/homebrew-php

$ brew options php56
$ brew install php56

Sonra .bash_profileya da.bashrc

# Homebrew PHP CLI
export PATH="$(brew --prefix homebrew/php/php56)/bin:$PATH"

Bunun gömülü PHP'yi güncellemeyeceğini, ancak yeni bir tane kuracağını unutmayın. Karışıklığa rağmen, iki versiyonun yüklü olması konusunda ciddi bir sorunla karşılaştım ...
Julian F. Weinert

Bunu denedim ve ayrıca bash'ın başlatma sırasında çökmesi gibi birçok sorun yaşadım, yeniden yüklemem gerekiyordu. Bu komutları denediğinizde dikkatli olun ve Brew'un bu satırları işlerken ne yapmanız gerektiğini önerdiğine dikkat edin.
Brac

Homebrew / dupes ve homebrew / sürümlerinin artık kullanımdan kaldırıldığını unutmayın.
medinasod

14

Sanırım bunu yapmanın basit bir yolu:

1 - Mevcut PHP'nizin nerede olduğunu kontrol edin:

$ which php
$ /usr/local/bin/php

Anlıyorsun? Genellikle çalıştırdığımız komutlarımız / usr / local / bin içindeki bir bağlantıdır, yani ...

2 - PHP'nin bu mevcut bağlantısını kaldırın

unlink /usr/local/bin/php

Tercih ederseniz, bağlantısını kaldırmadan önce yolu kontrol edin ve ardından php dosyalarını kaldırın ( ls -al /usr/local/bin| grep php yapın ve ardından rm -rfistenen yola gidin)

3 - PHP 7.1'i yükleyin

curl -s http://php-osx.liip.ch/install.sh | bash -s 7.1

4 - Yeni bağlantı oluştur (kurduğunuz php 7.1 bin kullanarak)

ln /usr/local/php5-7.1.9-20170914-100859/bin/php /usr/local/bin/php

Dediğim gibi, bu basit bir düşünce yolu.


8

Yerleşik paket yöneticisi yoktur. MacPorts, PHP'nin kendisini yüklemediği için php'yi yüklü bir paket olarak tanımaz.

Yine de MacPorts ile yükleyebilirsiniz. sudo port install php52(veya hangi sürümü isterseniz) PHP'yi kuracaktır.

Apple tarafından sağlanan sürümün üzerine yazılmaz. Altına kuracak /opt/local. Apache yapılandırmanızın /opt/localbaşına ekleyebilir $PATHve MacPorts sürümünü kullanabilirsiniz.


php sürüm paket adını nasıl anlarsınız?
David

6

Seçenek 1

Önerildiği üzere burada , bu site elverişli, yukarı güncel bir astar sağlar.

Bu, sisteminizdeki temel PHP sürümünün üzerine yazmaz, bunun yerine onu / usr / local / php5 içine temiz bir şekilde yükler.

Seçenek 2

Tercih ettiğim yöntem sadece Homebrew aracılığıyla kurmaktır .


1
Yani bu ? İdeal olarak, burada her şeyi özetlemelisiniz, bilirsiniz, bağlantı kopması durumunda fazlalık ve basitlik için! Ayrıca Apple php'nin de yerini almayacağını belirtmekte fayda var. ; P
cregox

3

Devam etmeden önce, OS X Server'ın en son sürümüne (v5.0.15) sahibim (evet, korkunç, biliyorum ... ancak, web sunucusu A-OK çalışıyor gibi görünüyor) . PHP'nin yeni bir sürümünü güncellemeye (veya en azından Apache'nin işaret etmesini sağlamaya) çalışırken günlerce yüksek ve düşük arama yaptım. Benim mcryptdiğer uzantıları ile birlikte çalışma yoktu ve ben yüklü ve PHP sayısız kez yeniden http://php-osx.liip.ch/ ve diğer öğreticiler nihayet birinde bir yorumda yazılı bilgilerin bir TID-bit fark kadar .confOS X Sunucusunun sakladığı birçok farklı dosya, OS X Sunucusunun .confApache'yi yüklemeden önce kendi özel dosyasını yüklemesidir httpd.conf (konumunda /etc/apache2/httpd.conf) . Sunucu dosyası şu konumda bulunur:

/Library/Server/Web/Config/apache2/httpd_server_app.conf

Bu dosyayı açtığınızda, bu satırı şu şekilde yorumlamalısınız:

#LoadModule php5_module libexec/apache2/libphp5.so

Ardından doğru yolu ekleyin ( http://php-osx.liip.ch/ bağlantısı üzerinden yüklediyseniz zaten kurulu olması gerekir ) :

LoadModule php5_module /usr/local/php5/libphp5.so

Bu değişiklikten sonra PHP'm sonunda doğru PHP kurulumunu yükledi. Bununla birlikte, işler riskli giderse, bunun nedeni OS X'in OS X kurulumu sırasında PHP'nin yerel kurulumunu yerine getirmek için yapılmış olması olabilir. Geri dönmek için yukarıdaki değişikliği geri almanız yeterlidir.

Her neyse, umarım bu, buna sayısız saat harcayanlar için yararlıdır.


1
Bu yorum bana çok zaman kazandırdı!
GuyGizmo

2

Snow Leopard'a yükseltmek, PHP'yi güncel tutma konusundaki birincil sorununuzu çözmez. Apple, işletim sistemi güncellemeleriyle birlikte sunduğu üçüncü taraf yazılımı her zaman güncel tutmaz. Ve ihtiyacınız olan hata düzeltmesini / güvenlik güncellemesini size ulaştırması için Apple'a güvenmek, sorun istemektir.

Ek olarak, Apple tarafından sağlanan PHP'yi yerinde yükseltmeyi denemek yerine MacPorts üzerinden yüklemeyi (ve Apple'ın PHP'si yerine onu kullanmak için gerekli yapılandırmayı yapmayı) öneririm . Yaptığınız herhangi bir şey, /usr/bingelecekteki bir Apple güncellemesinin üzerine yazılma riski taşır.


Apple'ın Güvenlik Güncellemesi 2010-002, Leopard'ın PHP'sini 5.2.12'ye yükseltir.
Dave Bacher

PHP 5.3.1, Snow Leopard ile birlikte gelir.
JAL

2

Tuş vuruşlarından tasarruf edildiğinde bu, MacOS Sierra'da çalıştı:

$ brew install homebrew/php/php71

$ /usr/local/opt/php71/bin/php -v
PHP 7.1.4 (cli) (built: Apr 14 2017 15:02:16) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

2

Aşağıdaki komutla terminaldeki mevcut php sürümünüzü kontrol edin,

$ php -v

Geçerli php sürümünü terminalde görürsünüz ve php sürümünüzü php concat ile yükseltmek istiyorsanız, aşağıdaki gibi sevilen sürümle birlikte bir sonraki komutu terminalde çalıştırırsınız:

$ brew install homebrew/php/php71

Kurulu php sürüm yükseltmesini bitirdiyseniz lütfen terminali yeniden başlatın ve komutu çalıştırın.

$ php -v

Şimdi mevcut php sürümünü terminalde görüyorsunuz .... teşekkürler


0

Bu Komutu kullanın:

curl -s http://php-osx.liip.ch/install.sh | bash -s 7.0

0

Php sürümünü güncellemek için curl kullanabilirsiniz.

curl -s http://php-osx.liip.ch/install.sh | bash -s 7.3

Son adım:

export PATH=/usr/local/php5/bin:$PATH

Yükseltilmiş sürümü kontrol edin

php -v


-2

php7'yi en son kararlı sürüme brew upgrade php7 veya php5.X'i en son kararlı sürüme yükseltmek için

brew upgrade php56

brew listkurulu sürümü kontrol etmek için kullan

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.