Как обновить 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
Ответ 10
Лучший способ обновления
скомпилируйте его из источника
см. этот учебник, который может быть вам полезен
http://www.computersnyou.com/2012/09/how-to-upgrade-php-in-mac-osx-compiling.html
Ответ 11
для обновления php7 до последней стабильной версии brew upgrade php7
или для php5.X до последней стабильной версии
brew upgrade php56
использовать brew list
для проверки установленной версии