Я чувствую, что это ужасно тупой вопрос, но, как ни странно, эта проблема плохо документирована.
Я хотел бы обновить PHP, но есть несколько проблем:
locate php
указывает, что, вероятно, много зависимостей. Я бегу на Leopard. У меня такое чувство, что Apple не хочет, чтобы вы обновлялись. Будут ли покупать Snow Leopard и обновления решить эту проблему (и будущие такие, как она)?
Вы можете проверить пакет PHP Marc Liyanage. Он поставляется в комплекте с установщиком Mac OS X, который можно дважды щелкнуть. Он держит его в курсе последних событий.
Кроме того, хотя обновление до Snow Leopard не поможет вам в будущем обновлять PHP, оно, вероятно, даст вам более новую версию PHP. Я запускаю OS X 10.6.2 и имеет PHP 5.3.0.
Я использую это: 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"
Нет встроенного менеджера пакетов. MacPorts не распознает php как установленный пакет, поскольку он не устанавливал сам PHP.
Вы все равно можете установить его с помощью MacPorts. sudo port install php52
(или какая бы вы не захотели) установит PHP.
Он не будет перезаписывать версию, поставляемую Apple. Он установит его под /opt/local
. Вы можете добавить /opt/local
в начало вашего $PATH
и использовать версию MacPorts в своей конфигурации Apache.
Опция 1
Как рекомендуется здесь , этот сайт обеспечивает удобный, современный один лайнер.
Это не перезаписывает базовую версию PHP в вашей системе, а устанавливает ее чисто в / usr / local / php5.
Вариант №2
Мой предпочтительный метод – просто установить через Homebrew .
Прежде чем продолжить, у меня есть последняя версия (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. Чтобы вернуться, просто отмените изменение выше.
Во всяком случае, мы надеемся, что это будет полезно для всех, кто тратит на это бесчисленные часы.
Я думаю, что один простой способ сделать это:
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
Как я уже сказал, это простой способ, я думаю.
Обновление до Snow Leopard не решит вашу основную проблему сохранения PHP в актуальном состоянии. Apple не всегда поддерживает стороннее программное обеспечение, которое оно обновляет с обновлениями ОС. И полагаясь на Apple, чтобы получить исправление об ошибке / обновление безопасности, которое вам нужно, возникает проблема.
Кроме того, я бы рекомендовал установить через MacPorts (и сделать конфигурацию, необходимую для его использования вместо PHP от Apple), а не пытаться обновить PHP, поставляемый Apple. Все, что вы делаете в /usr/bin
может быть перезаписано некоторым будущим обновлением Apple.
Сохраняя нажатие клавиш, это работало на 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
Проверьте текущую версию php в терминале с помощью следующей команды:
$ php -v
Вы видите текущую версию php в терминале, а следующая команда запускается в терминале, если вы хотите обновить версию php с помощью php concat с версией,
$ brew install homebrew/php/php71
Перезагрузите терминал, если вы закончили обновление версии php и запустили команду.
$ php -v
Теперь вы видите текущую версию php в терминале …. спасибо
лучший способ обновления – скомпилировать его из источника
см. этот урок, который может быть вам полезен
http://www.computersnyou.com/2012/09/how-to-upgrade-php-in-mac-osx-compiling.html
обновить php7 до последней стабильной версии brew upgrade php7
версии brew upgrade php7
или для php5.X до последней стабильной версии
brew upgrade php56
использовать brew list
для проверки установленной версии