Как обновить PHP в Mac OS X?

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

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

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

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

Ответ 1

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

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

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

Ответ 2

Я использую это: 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"

Ответ 3

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

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

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

Ответ 4

Вариант № 1

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

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

Вариант № 2

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

Ответ 5

Прежде чем продолжить, у меня есть последняя версия (v5.0.15) OS X Server (да, ужасно, я знаю... однако, веб-сервер, похоже, работает A-OK). Я искал высоко и низко в течение нескольких дней, пытаясь обновить (или, по крайней мере, получить 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. Чтобы вернуться, просто отмените изменение выше.

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

Ответ 6

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

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

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

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

2 - Отвязать эту текущую ссылку PHP

unlink /usr/local/bin/php

Если вы предпочитаете, прежде чем отключить его, проверьте путь, а затем удалите php файлы (do 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

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

Ответ 7

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

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

Ответ 8

Сохранение нажатий клавиш, это сработало на 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

Ответ 9

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

$ php -v

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

$ brew install homebrew/php/php71

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

$ php -v

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

Ответ 11

для обновления php7 до последней стабильной версии brew upgrade php7 или для php5.X до последней стабильной версии

brew upgrade php56

использовать brew list для проверки установленной версии