Как мне обновить PHP в Mac OS X? - PullRequest
96 голосов
/ 26 марта 2010

Я чувствую, что это ужасно тупой вопрос, но странно, эта проблема плохо документирована.

Я бы хотел обновить PHP, но есть несколько проблем:

  • Нет встроенного менеджера пакетов. MacPorts не распознает php как установленный пакет, поскольку не установил сам PHP.
  • Запуск locate php указывает, что, вероятно, существует много зависимостей.
  • Я не знаю, КАК был установлен php, так как он был включен в ОС, поэтому я не знаю, следует ли мне устанавливать из исходного кода или загружать двоичные файлы. Я также не знаю, как правильно удалить предыдущую версию, не нарушая зависимости.

Я бегу на Леопарде. У меня такое чувство, что Apple не хочет, чтобы вы обновлялись. Решит ли покупка Snow Leopard и апгрейд эту проблему (а в будущем она понравится)?

Ответы [ 12 ]

87 голосов
/ 26 марта 2010

Возможно, вы захотите проверить пакет PHP от Marc Liyanage. Он поставляется в хорошем пакете для установки Mac OS X, который вы можете дважды щелкнуть. Он держит это в курсе.

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

Кроме того, хотя обновление до Snow Leopard не поможет вам обновлять PHP в будущем, оно, вероятно, даст вам более новую версию PHP. Я использую OS X 10.6.2 с PHP 5.3.0.

51 голосов
/ 11 марта 2016

Я использую это: https://github.com/Homebrew/homebrew-php

Команда:

$ xcode-select --install

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

$ brew options php56
$ brew install php56

Затем настройте в вашем .bash_profile или .bashrc

# Homebrew PHP CLI
export PATH="$(brew --prefix homebrew/php/php56)/bin:$PATH"
12 голосов
/ 21 сентября 2017

Я думаю, что один простой способ сделать это:

1 - Проверьте, где находится ваш текущий PHP:

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

Видишь? Обычно наши команды, которые мы запускаем, это ссылки в / usr / local / bin, так что ...

2 - Отключить эту текущую ссылку PHP

unlink /usr/local/bin/php

Если вы предпочитаете, прежде чем отсоединять его, проверьте путь, а затем удалите файлы php (выполните ls -al /usr/local/bin | grep php, а затем rm -rf в нужный путь)

3 - установить PHP 7.1

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

4 - Создать новую ссылку (используя установленный вами php 7.1 bin)

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

Как я уже сказал, это простой способ, я думаю.

8 голосов
/ 26 марта 2010

Нет встроенного менеджера пакетов. MacPorts не распознает php как установленный пакет, поскольку не установил сам PHP.

Вы все еще можете установить его с MacPorts. sudo port install php52 (или какую бы версию вы не захотели) установит PHP.

Не перезаписывает версию, поставляемую Apple. Он будет установлен под /opt/local. Вы можете добавить /opt/local в начало вашего $PATH и использовать версию MacPorts в конфигурации Apache.

6 голосов
/ 22 апреля 2013

Вариант № 1

В соответствии с рекомендациями здесь , этот сайт предоставляет удобный, современный один вкладыш.

Это не перезаписывает базовую версию PHP в вашей системе, а вместо этого устанавливает ее чисто в /usr/local/php5.

Вариант № 2

Мой предпочтительный метод - просто установить через Homebrew .

3 голосов
/ 01 декабря 2015

Прежде чем я продолжу, у меня последняя версия (v5.0.15) OS X Server (да, ужасно, я знаю ... однако, веб-сервер, кажется, работает A -Хорошо) . Я искал максимум и минимум несколько дней, пытаясь обновить (или, по крайней мере, заставить Apache указать) новую версию PHP. Мой mcrypt не работал вместе с другими расширениями, и я устанавливал и переустанавливал PHP бесчисленное количество раз из http://php -osx.liip.ch / и других руководств , пока я наконец не заметил кусок информации, записанной в комментарии в одном из множества .conf файлов, хранящихся на OS X Server, который заключался в том, что OS X Server загружает свой собственный .conf файл перед загрузкой Apache httpd.conf ( расположен в /etc/apache2/httpd.conf) . Файл сервера находится:

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

Когда вы открываете этот файл, вы должны закомментировать эту строку так:

#LoadModule php5_module libexec/apache2/libphp5.so

Затем добавьте правильный путь (который уже должен быть установлен, если вы установили его по ссылке http://php -osx.liip.ch / ) :

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

После этой модификации мой PHP наконец загрузил правильную установку PHP. Тем не менее, если дела пойдут не так, как надо, это может быть потому, что OS X создана для того, чтобы отработать собственную установку PHP во время установки OS X. Чтобы вернуться, просто отмените изменение выше.

В любом случае, надеюсь, это будет полезно для всех, кто тратит на это бесчисленные часы.

2 голосов
/ 07 июня 2017

Проверьте текущую версию php в терминале с помощью следующей команды,

$ php -v

Вы видите текущую версию php в терминале, и следующая команда запускается в терминале, если вы хотите обновить свою версию php до php concat с версией, подобной as,

$ brew install homebrew/php/php71

Пожалуйста, перезапустите терминал, если вы закончили установку обновления php и запустите команду.

$ php -v

Теперь вы видите текущую версию php в терминале .... спасибо

2 голосов
/ 18 апреля 2017

Экономия на нажатиях клавиш, это работало на 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 голосов
/ 26 марта 2010

Обновление до Snow Leopard не решит вашу основную проблему поддержания PHP в актуальном состоянии. Apple не всегда держит стороннее программное обеспечение, которое она связывает, с обновлениями ОС. И полагаться на Apple, чтобы получить исправление ошибки / обновление безопасности, которое вам нужно, вызывает проблемы.

Кроме того, я бы рекомендовал установить через MacPorts (и выполнить настройку, необходимую для его использования вместо PHP от Apple), а не пытаться обновить поставляемый Apple PHP на месте. Все, что вы делаете для /usr/bin, может быть перезаписано в будущем обновлении Apple.

0 голосов
/ 01 января 2018

Используйте эту команду:

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