Обновление до PHP 7.3.8 на macOS Mojave (OSX 10.14.6). Настройка версии PHP в терминале и встроенном Apache

В этой статье обновим версию PHP встроенного в macOS сервера Apache, а также настроим работу PHP версии 7.3.8 для работы из терминала. По умолчанию, в macOS стоит PHP 7.1.23. Последнюю версию PHP можно установить с помощью установки пакетов с PHP Packaged site.

Установка PHP 7.3

Откройте терминал и выполните команду:

curl -s https://php-osx.liip.ch/install.sh | bash -s 7.3

Система безопасности macOS может потребовать ввод пароля для получения доступа к системным файлам — вводите его. Скрипты компании Liip для установки PHP не содержат в себе вредоносного кода.

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

В результате скрипта будет развёрнут архив с файлами PHP 7.3 в директории пользователя, в моём случае, это было здесь:

/usr/local/php5-7.3.8-20190811-205217/

Окончание установки выглядело таким образом (обратите внимание на путь к распаковываемым файлам):

Настройка работы PHP 7.3 из терминала

Чтобы проверить текущую версию, запускаемую в терминале, выполните команду

php -v

Для работы composer в терминал у меня была поставлена версия PHP 7.2.16. Чтобы настроить запуск из терминала новой версии PHP нужно в файле ~/.bash_profile, если вы используете окружение терминала bash, добавить в конец файла следующие строки:

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, внутри новых сессий терминала будет использоваться указанная вами версия. Для обновления версии внутри текущей сессии терминала, следует прочесть файл заново с помощью вызова:

source ~/.bash_profile

Теперь при вызове php -v в терминале вы должны увидеть последнюю версию PHP:

Если нет файла ~/.bash_profile

В случае, если файл ~/.bash_profile не создан, то это можно сделать прямо из терминала с помощью команды:

touch ~/.bash_profile

А затем взять в редактирование с помощью выполнения вызова:

sublime ~/.bash_profile

Если у вас не настроен запуск редактора sublime text из консоли, то это вы можете сделать с помощью этой статьи.

Настройка PHP 7.3 во встроенном в macOS сервере Apache

В операционную систему macOS изначально установлен веб сервер Apache, который позволяет разрабатывать сайты и полностью себя конфигурировать без установки LAMP, Apache через brew и т.п. Чтобы встроенный сервер Apache загружал нужную версию модуля PHP следует ему указать это в конфигурационном файле. Файл конфигурации находится по адресу:

/private/etc/apache2/httpd.conf

В этом файле следует найти строку, содержащую слово php. По умолчанию, она выглядит следующим образом:

#LoadModule php7_module libexec/apache2/libphp7.so

Следует убрать у неё в начале #, чтобы эта строка не была закомментирована, а также прописать вместо libexec/apache2/libphp7.so полный путь до файла libphp7.so в директории с новой версией PHP 7.3. В моём случае, строка выглядит следующим образом:

LoadModule php7_module /usr/local/php5-7.3.8-20190811-205217/libphp7.so

Сохраняем файл, вводим пароль, подтверждающий наши права на сохранение файла в системном месте. А затем нужно перезапустить сервер Apache c помощью команды:

sudo apachectl restart

Теперь, при заходе на страницу с phpinfo(); увидим обновленную версию: