Bagaimana cara mengupgrade PHP di Mac OS X?


99

Saya merasa ini adalah pertanyaan yang sangat bodoh untuk ditanyakan, tetapi anehnya, masalah ini didokumentasikan dengan buruk.

Saya ingin meningkatkan PHP, tetapi ada beberapa masalah:

  • Tidak ada pengelola paket bawaan. MacPorts tidak mengenali php sebagai paket terinstal karena tidak menginstal PHP itu sendiri.
  • Berjalan locate phpmenunjukkan mungkin ada banyak ketergantungan.
  • Saya tidak tahu BAGAIMANA php diinstal, karena disertakan dengan OS, jadi saya tidak tahu apakah saya harus menginstal dari sumber atau mengunduh binari. Saya juga tidak tahu cara yang tepat untuk menghapus versi sebelumnya tanpa merusak dependensi.

Saya menggunakan Leopard. Saya merasa Apple tidak ingin Anda meningkatkan. Akankah membeli Snow Leopard dan memutakhirkannya akan menyelesaikan masalah ini (dan masalah serupa di masa mendatang)?


Jawaban:


90

Anda mungkin ingin memeriksa paket PHP Marc Liyanage. Muncul dalam paket penginstal Mac OS X yang bagus yang dapat Anda klik dua kali. Dia membuatnya tetap mutakhir.

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

Selain itu, meskipun memutakhirkan ke Snow Leopard tidak akan membantu Anda melakukan pembaruan PHP di masa mendatang, ini mungkin akan memberi Anda versi PHP yang lebih baru. Saya menjalankan OS X 10.6.2 dan memiliki PHP 5.3.0.


Terima kasih!! Saya gugup proses ini akan menjadi lebih sulit.
Gavin

10
Perhatikan bahwa paket ini tidak menimpa versi PHP asli di Mac, jadi tidak berfungsi di luar kotak, Anda perlu menambahkan direktori baru ke PATH. Instruksi untuk membuatnya bekerja ada di halaman itu (saya cukup bodoh untuk melewatkannya pertama kali).
Coded Monkey

1
Wow! Setelah menghabiskan berjam-jam mencoba agar proses instalasi melalui Homebrew berfungsi, saya mencoba ini. Sangat cepat, sangat mudah dan ini benar-benar bekerja langsung dari kotaknya! Terima kasih!
Magnus W

Pasti pilihan terbaik. Sangat tidak menyakitkan (selama Anda ingat untuk memastikan Anda $PATHbenar seperti yang ditunjukkan oleh @CodedMonkey)
Darragh Enright

2
Selain itu, perlu disebutkan bahwa meskipun menginstal di direktori terpisah, penginstal mengkonfigurasi Apache sehingga semua aplikasi web Anda menggunakan versi php yang baru diinstal. Jadi, trik PATH hanya berguna jika Anda menjalankan php dari baris perintah. Jika Anda ingin menjalankan aplikasi web, penginstal akan menangani semuanya.
fiacobelli

51

Saya menggunakan ini: https://github.com/Homebrew/homebrew-php

Perintahnya adalah:

$ xcode-select --install

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

$ brew options php56
$ brew install php56

Kemudian konfigurasikan di .bash_profileatau.bashrc

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

Perhatikan bahwa ini tidak akan memperbarui PHP yang disematkan, tetapi menginstal yang baru. Saya mengalami masalah serius saat memasang dua versi, meskipun ada kebingungan ...
Julian F. Weinert

Saya mencoba ini dan juga memiliki banyak masalah, seperti bash mogok saat peluncuran, saya harus menginstalnya kembali. Berhati-hatilah saat Anda mencoba perintah ini dan perhatikan saran Brew yang harus Anda lakukan saat memproses baris ini.
Brac

Perhatikan bahwa homebrew / dupes dan homebrew / versi sekarang sudah tidak digunakan lagi.
medinasod

14

Menurut saya salah satu cara sederhana untuk melakukannya, adalah:

1 - Periksa Anda di mana PHP Anda saat ini:

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

Kamu melihat? Biasanya perintah yang kita jalankan adalah link di / usr / local / bin jadi ...

2 - Batalkan tautan tautan PHP saat ini

unlink /usr/local/bin/php

Jika Anda lebih suka, sebelum membatalkan tautannya, periksa jalurnya dan kemudian hapus file php (lakukan ls -al /usr/local/bin| grep php dan kemudian rm -rfke jalur yang diinginkan)

3 - Instal PHP 7.1

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

4 - Buat tautan baru (menggunakan bin php 7.1 yang telah Anda instal)

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

Seperti yang saya katakan, ini cara sederhana saya berpikir.


8

Tidak ada pengelola paket bawaan. MacPorts tidak mengenali php sebagai paket terinstal karena tidak menginstal PHP itu sendiri.

Anda masih dapat menginstalnya dengan MacPorts. sudo port install php52(atau versi mana pun yang Anda inginkan) akan menginstal PHP.

Itu tidak akan menimpa versi yang disediakan Apple. Ini akan menginstalnya di bawah /opt/local. Anda dapat menambahkan /opt/localke awal $PATH, dan menggunakan versi MacPorts di konfigurasi Apache Anda.


bagaimana Anda mengetahui nama paket versi php?
David

6

Pilihan 1

Seperti yang direkomendasikan di sini , situs ini menyediakan satu liner yang nyaman dan mutakhir.

Ini tidak menimpa versi dasar PHP di sistem Anda, tetapi menginstalnya dengan bersih di / usr / local / php5.

Pilihan 2

Metode yang saya sukai adalah menginstal melalui Homebrew .


1
Maksudmu ini ? Idealnya Anda akan merangkum semuanya di sini, Anda tahu, untuk redundansi jika tautan putus dan untuk kesederhanaan! Juga perlu dicatat itu tidak akan menggantikan php apel juga. ; P
cregox

3

Sebelum saya melanjutkan, saya memiliki versi terbaru (v5.0.15) dari OS X Server (ya, mengerikan, saya tahu ... namun, server web tampaknya berfungsi A-OK) . Saya mencari tinggi dan rendah selama berhari-hari mencoba memperbarui (atau setidaknya mengarahkan Apache ke) versi baru PHP. Saya mcrypttidak berfungsi, bersama dengan ekstensi lain dan saya menginstal dan menginstal ulang PHP berkali-kali dari http://php-osx.liip.ch/ dan tutorial lainnya sampai saya akhirnya melihat sedikit informasi yang ditulis dalam komentar di salah satu banyak .conffile berbeda yang disimpan oleh OS X Server yang mana OS X Server memuat .conffile kustomnya sendiri sebelum memuat Apache httpd.conf (terletak di /etc/apache2/httpd.conf) . File server berada:

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

Saat Anda membuka file ini, Anda harus mengomentari baris ini seperti:

#LoadModule php5_module libexec/apache2/libphp5.so

Kemudian tambahkan di jalur yang benar (yang seharusnya sudah diinstal jika Anda telah menginstal melalui tautan http://php-osx.liip.ch/ ) :

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

Setelah modifikasi ini, PHP saya akhirnya memuat instalasi PHP yang benar. Meskipun demikian, jika ada yang tidak beres, itu mungkin karena OS X dibuat untuk menonaktifkan penginstalan asli PHP pada saat penginstalan OS X. Untuk mengembalikan, cukup batalkan perubahan di atas.

Bagaimanapun, semoga ini bermanfaat bagi orang lain yang menghabiskan banyak waktu untuk ini.


1
Komentar ini menghemat banyak waktu saya!
GuyGizmo

2

Mengupgrade ke Snow Leopard tidak akan menyelesaikan masalah utama Anda dalam menjaga PHP tetap mutakhir. Apple tidak selalu memperbarui perangkat lunak pihak ketiga yang dibundel dengan pembaruan OS. Dan mengandalkan Apple untuk memberi Anda perbaikan bug / pembaruan keamanan yang Anda butuhkan berarti meminta masalah.

Selain itu, saya akan merekomendasikan menginstal melalui MacPorts (dan melakukan konfigurasi yang diperlukan untuk menggunakannya alih - alih PHP Apple) daripada mencoba memutakhirkan PHP yang disediakan Apple. Apa pun yang Anda lakukan /usr/binberisiko ditimpa oleh beberapa pembaruan Apple di masa mendatang.


Pembaruan Keamanan Apple 2010-002 memperbarui PHP Leopard ke 5.2.12.
Dave Bacher

PHP 5.3.1 dilengkapi dengan Snow Leopard.
JAL

2

Menyimpan penekanan tombol, ini berfungsi di MacOS Sierra:

$ 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

Periksa versi php Anda saat ini di terminal dengan perintah berikut,

$ php -v

Anda melihat versi php saat ini di terminal, dan perintah selanjutnya dijalankan di terminal jika Anda ingin memutakhirkan versi php Anda dengan php concat dengan versi seperti,

$ brew install homebrew/php/php71

Silakan restart terminal jika Anda telah selesai menginstal versi php dan menjalankan perintah.

$ php -v

Sekarang Anda melihat versi php saat ini di terminal .... terima kasih


0

Gunakan Perintah ini:

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

0

Anda dapat menggunakan curl untuk memperbarui versi php.

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

Langkah terakhir:

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

Periksa versi yang ditingkatkan

php -v


-2

untuk memutakhirkan php7 ke versi stabil terbaru brew upgrade php7 atau untuk php5.X ke versi stabil terbaru

brew upgrade php56

gunakan brew listuntuk memeriksa versi yang diinstal

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.