Как обновить PHP в Mac OS X?
Я считаю, что это ужасно тупой вопрос, но как ни странно, эта проблема плохо документированы.
Я хотел бы обновить php, но есть несколько проблем:
- нет встроенного менеджера пакетов. MacPorts не распознает php как установленный пакет, потому что он не устанавливал сам PHP.
- под управлением locate php указывает, что, вероятно, много зависимостей.
- Я не знаю, как был установлен php, как это было включено в ОС, поэтому я не знаю, должен ли я устанавливать из исходного кода или загружать двоичные файлы. Я также не знаю, как правильно удалить предыдущую версию без нарушения зависимостей.
Я бегу на леопарда. У меня такое чувство, что Apple не хочет, чтобы Вы обновлялись. Будет ли покупка Snow Leopard и обновление решить эту проблему (и будущие, как это)?
12 ответов
возможно, вы захотите проверить PHP-пакет Marc Liyanage. Он поставляется в хорошем пакете установщика Mac OS X, который вы можете дважды щелкнуть. Он держит все в курсе.
кроме того, хотя обновление до Snow Leopard не поможет вам делать обновления PHP в будущем, это, вероятно, даст вам более новую версию PHP. Я запускаю OS X 10.6.2, и у него есть PHP 5.3.0.
затем config в .bash_profile или .bashrc
нет встроенного менеджера пакетов. MacPorts не распознает php как установленный пакет, потому что он не устанавливал сам PHP.
вы все еще можете установить его с MacPorts. sudo port install php52 (или любая версия, которую вы хотите) установит PHP.
он не будет перезаписывать версию, поставляемую Apple. Он установит его под /opt/local . Вы можете добавить /opt/local в начало $PATH и используйте версию MacPorts в конфигурации Apache.
Я думаю, что один простой способ сделать это, это:
1-Проверьте, где находится ваш текущий PHP:
вы видите? Обычно наши команды, которые мы запускаем, являются ссылкой в /usr/local/bin so.
2-разблокируйте эту текущую ссылку PHP
если вы предпочитаете, прежде чем разорвать его, проверьте путь, а затем удалите файлы php (do ls -al /usr/local/bin / grep php, а затем rm -rf на нужный путь)
3-установить PHP 7.1
4 — Создайте новую ссылку (используя php 7.1 bin, который вы установили)
как я уже сказал, Это простой способ, я думаю.
Как было рекомендовано здесь, этот сайт обеспечивает удобный, современный один вкладыш.
Это не перезаписывает базовую версию PHP в вашей системе, а вместо этого устанавливает ее чисто в /usr/local/php5.
мой предпочтительный метод-просто установить через Homebrew.
прежде чем я продолжу, У меня есть последняя версия (v5.0.15) of сервер OS X (да, ужасно, я знаю. однако веб-сервер, похоже, работает A-OK). Я искал повсюду в течение нескольких дней, пытаясь обновить (или, по крайней мере, заставить Apache указать) новую версию PHP. Мой mcrypt не работал, вместе с другими расширениями, и я установил и переустановил PHP бесчисленное количество раз из http://php-osx.liip.ch/и другие учебники пока я, наконец, заметил tid-бит информации, написанной в комментарии в одном из многих разных .conf файлы OS X Server сохраняет, который был, что OS X Server загружает его собственный пользовательский .conf файл перед загрузкой Apache httpd.conf (расположенном в /etc/apache2/httpd.conf ). Файл сервера находится:
когда вы открываете этот файл, вы должны прокомментировать эту строку следующим образом:
затем добавьте правильный путь (который уже должен быть установлен, если у вас есть устанавливается черезhttp://php-osx.liip.ch/ ссылка):
после этой модификации мой PHP наконец-то загрузил правильную установку PHP. При этом, если что-то пойдет не так, это может быть потому, что OS X сделана для работы с родной установкой PHP во время установки OS X. Чтобы вернуться, просто отмените изменение выше.
в любом случае, надеюсь, это полезно для тех, кто тратит бесчисленные часы на это.
обновление до Snow Leopard не решит вашу основную проблему обновления PHP. Apple не всегда поддерживает стороннее программное обеспечение, которое она связывает с обновлениями ОС. И полагаясь на Apple, чтобы получить вам исправление ошибки / обновление для системы безопасности, вам нужны проблемы.
кроме того, я бы рекомендовал установить через MacPorts (и сделать конфигурацию, необходимую для ее использования вместо PHP от Apple), а не пытаться обновить PHP, поставляемый Apple на месте. Все, что вы делаете /usr/bin риски перезаписи некоторыми будущими обновлениями Apple.
сохранение при нажатии клавиш, это сработало на MacOS Sierra:
Проверьте текущую версию php в терминале с помощью следующей команды,
вы видите текущую версию php в терминале, и следующая команда запускается в терминале, если вы хотите обновить свою версию php с php concat с версией, понравившейся как,
пожалуйста, перезапустите терминал, если вы закончили обновление версии php и запустите команду.
Теперь вы видите текущую версию PHP в терминале. спасибо
используйте эту команду:
лучший способ обновления скомпилировать его из исходников
см. этот учебник, который может быть полезным для вас
для обновления php7 до последней стабильной версии brew upgrade php7 или для рнр5.X до последней стабильной версии
использовать brew list чтобы проверить установленную версию
Updating php version on mac
I want to update php version, currently I have 5.5.38 and I want 7.1
What I tried so far is using this command:
I tried several different versions but none of them worked. It opens bash_profile for a second and then I get Received SIGHUP or SIGTERM and message below:
Buffer written to /Users/Morpheus/.bash_profile.save.6
Not sure what went wrong and why it won’t update.
8 Answers 8
Use Homebrew:
I would probably recommend installing homebrew to manage such installations for you. With that installed you can just run the following command to install php7.1
Install the required PHP to your PATH
Then make sure it’s all working
This command will show you where your ini file is loaded
The simplest way to update the version of php on Mac is via Homebrew.
If you do not have brew please visit https://brew.sh/ or install via command in terminal:
/usr/bin/ruby -e «$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)»
When finished installing Homebrew, run the following commands:
You might get an error if PHP 5.6 has not been installed by brew previously, but don’t worry, you can simply continue.
You can also change the version to 7.0 by replacing the command from above commands from brew install php@71 to brew install php@70 .
You can check the output by command.
If the output of php -v still doesn’t echoes the version 7, simply type this command and hit enter in terminal.
How do I upgrade PHP in Mac OS X?
I feel this is an awfully obtuse question to ask, but strangely, this problem is poorly documented.
I would like to upgrade PHP, but there are several problems:
- There is no built-in package manager. MacPorts doesn’t recognize php as an installed package because it didn’t install PHP itself.
- Running locate php indicates there are probably many dependencies.
- I don’t know HOW php was installed, as it was included with the OS, so I don’t know whether I should install from source or download binaries. I also don’t know the proper way to uninstall the previous version without breaking dependencies.
I am running on Leopard. I have a feeling Apple doesn’t want you to upgrade. Would buying Snow Leopard and upgrade solve this problem (and future ones like it)?
13 Answers 13
You may want to check out Marc Liyanage’s PHP package. It comes in a nice Mac OS X installer package that you can double-click. He keeps it pretty up to date.
Also, although upgrading to Snow Leopard won’t help you do PHP updates in the future, it will probably give you a newer version of PHP. I’m running OS X 10.6.2 and it has PHP 5.3.0.
Then config in your .bash_profile or .bashrc
I think one simple way to do it, is:
1 — Check you where is your current PHP:
You see? Usually, our commands that we run is a link in /usr/local/bin so.
2 — Unlink this current link of PHP
If you prefere, before unlink it, check the path and then remove php files (do ls -al /usr/local/bin | grep php and then rm -rf into desired path)
4 — Create new link (using php 7.1 bin that you have installed)
Like I said, its a simple way I think.
There is no built-in package manager. MacPorts doesn’t recognize php as an installed package because it didn’t install PHP itself.
You could still install it with MacPorts. sudo port install php52 (or whichever version you want) will install PHP.
It won’t overwrite the Apple-supplied version. It’ll install it under /opt/local . You can add /opt/local to the beginning of your $PATH , and use the MacPorts version in your Apache config.
Option #1
As recommended here, this site provides a convenient, up-to-date one liner.
This doesn’t overwrite the base version of PHP on your system, but instead installs it cleanly in /usr/local/php5.
Option #2
My preferred method is to just install via Homebrew.
Before I go on, I have the latest version (v5.0.15) of OS X Server (yes, horrible, I know. however, the web server seems to work A-OK). I searched high and low for days trying to update (or at least get Apache to point to) a new version of PHP. My mcrypt did not work, along with other extensions and I installed and reinstalled PHP countless times from http://php-osx.liip.ch/ and other tutorials until I finally noticed a tid-bit of information written in a comment in one of the many different .conf files OS X Server keeps which was that OS X Server loads it’s own custom .conf file before it loads the Apache httpd.conf (located at /etc/apache2/httpd.conf ). The server file is located:
When you open this file, you have to comment out this line like so:
Then add in the correct path (which should already be installed if you have installed via the http://php-osx.liip.ch/ link):
After this modification, my PHP finally loaded the correct PHP installation. That being said, if things go wonky, it may be because OS X is made to work off the native installation of PHP at the time of OS X installation. To revert, just undo the change above.
Anyway, hopefully this is helpful for anyone else spending countless hours on this.