В этой статье обновим версию PHP встроенного в macOS сервера Apache, а также настроим работу PHP версии 7.3.8 для работы из терминала. По умолчанию, в macOS стоит PHP 7.1.23. Последнюю версию PHP можно установить с помощью установки пакетов с PHP Packaged site.
Установка PHP 7.3
Откройте терминал и выполните команду:
1 |
curl -s https://php-osx.liip.ch/install.sh | bash -s 7.3 |
Система безопасности macOS может потребовать ввод пароля для получения доступа к системным файлам — вводите его. Скрипты компании Liip для установки PHP не содержат в себе вредоносного кода.
В случае, если у вас уже установлена новая версия, то эта команда может вызвать вывод предупреждения об уже установленной свежей версии PHP.
В результате скрипта будет развёрнут архив с файлами PHP 7.3 в директории пользователя, в моём случае, это было здесь:
1 |
/usr/local/php5-7.3.8-20190811-205217/ |
Окончание установки выглядело таким образом (обратите внимание на путь к распаковываемым файлам):
Настройка работы PHP 7.3 из терминала
Чтобы проверить текущую версию, запускаемую в терминале, выполните команду
1 |
php -v |
Для работы composer в терминал у меня была поставлена версия PHP 7.2.16. Чтобы настроить запуск из терминала новой версии PHP нужно в файле ~/.bash_profile
, если вы используете окружение терминала bash, добавить в конец файла следующие строки:
1 2 |
export PATH="/usr/local/php5-7.3.8-20190811-205217/bin:$PATH" export PATH="/usr/local/php5-7.3.8-20190811-205217/sbin:$PATH" |
Путь к установленной версии PHP может отличаться от указанного мною. Актуальный для вас путь содержится в терминале, где происходила установка новой версии и запуск команды curl. После сохранения изменений в файле .bash_profile, внутри новых сессий терминала будет использоваться указанная вами версия. Для обновления версии внутри текущей сессии терминала, следует прочесть файл заново с помощью вызова:
1 |
source ~/.bash_profile |
Теперь при вызове php -v в терминале вы должны увидеть последнюю версию PHP:
Если нет файла ~/.bash_profile
В случае, если файл ~/.bash_profile не создан, то это можно сделать прямо из терминала с помощью команды:
1 |
touch ~/.bash_profile |
А затем взять в редактирование с помощью выполнения вызова:
1 |
sublime ~/.bash_profile |
Если у вас не настроен запуск редактора sublime text из консоли, то это вы можете сделать с помощью этой статьи.
Настройка PHP 7.3 во встроенном в macOS сервере Apache
В операционную систему macOS изначально установлен веб сервер Apache, который позволяет разрабатывать сайты и полностью себя конфигурировать без установки LAMP, Apache через brew и т.п. Чтобы встроенный сервер Apache загружал нужную версию модуля PHP следует ему указать это в конфигурационном файле. Файл конфигурации находится по адресу:
1 |
/private/etc/apache2/httpd.conf |
В этом файле следует найти строку, содержащую слово php. По умолчанию, она выглядит следующим образом:
1 |
#LoadModule php7_module libexec/apache2/libphp7.so |
Следует убрать у неё в начале #, чтобы эта строка не была закомментирована, а также прописать вместо libexec/apache2/libphp7.so полный путь до файла libphp7.so в директории с новой версией PHP 7.3. В моём случае, строка выглядит следующим образом:
1 |
LoadModule php7_module /usr/local/php5-7.3.8-20190811-205217/libphp7.so |
Сохраняем файл, вводим пароль, подтверждающий наши права на сохранение файла в системном месте. А затем нужно перезапустить сервер Apache c помощью команды:
1 |
sudo apachectl restart |
Теперь, при заходе на страницу с phpinfo();
увидим обновленную версию: