Установка на macOS
Этот раздел содержит руководство и различные советы по установке PHP на macOS. PHP поставлялся вместе с macOS, начиная с macOS X (10.0.0) по macOS Monterey (12.0.0). Компилирование на которых схоже с установкой в Unix-системах.
User Contributed Notes
There are no user contributed notes for this page.
- Установка и настройка
- Общие инструкции по установке
- Установка на Unix-системы
- Установка на macOS
- Установка в системах Windows
- Установка на платформах Cloud Computing
- Менеджер процессов FastCGI (FPM)
- Установка модулей PECL
- Проблемы?
- Конфигурация времени выполнения
- Copyright © 2001-2024 The PHP Group
- My PHP.net
- Contact
- Other PHP.net sites
- Privacy policy
Как запустить php на mac os
PHP поставлялся вместе с macOS, начиная с macOS X (10.0.0) по macOS Monterey (12.0.0). Включение PHP в стандартный веб-сервер делается простым раскомментированием нескольких строк в конфигурационном файле Apache httpd.conf в то время как CGI и/или CLI включены по умолчанию (доступны для использования терминальными программами).
Включение PHP согласно приведённой ниже инструкции предназначено для быстрой настройки локальной среды разработки. Крайне рекомендуется всегда обновлять PHP до новейшей стабильной версии. Для любого развивающегося ПО, новые версии выпускаются для исправления ошибок и добавления новой функциональности и PHP не является исключением. Читайте соответствующую документацию по установке на macOS, в которой описываются все подробности. Следующие инструкции предназначены для начинающих разработчиков и описывают стандартную установку, позволяющую быстро приступить к работе. Всем пользователям рекомендуется скомпилировать или установить из репозитория самую новую версию PHP.
Стандартная установка с использованием mod_php, который включается для стандартного веб-сервера macOS (сервер по умолчанию доступен через системные настройки) включает следующие шаги:
-
Найдите и откройте конфигурационный файл Apache. По умолчанию он расположен по пути /private/etc/apache2/httpd.conf Использование Finder или Spotlight для нахождения файла может быть не простым, так как он располагается в приватном пространстве и принадлежит пользователю root .
Замечание: Один из вариантов, как открыть этот файл — использовать консольный редактор, к примеру, nano , запустив его через терминал. Так как файл принадлежит пользователю root , для его открытия будет необходимо использовать команду sudo (которая повышает привилегии до пользователя root ). Просто запустите приложение Terminal , введите команду sudo nano /private/etc/apache2/httpd.conf и, когда будет запрошен пароль, введите его. Полезные команды nano: ^w (искать), ^o (сохранить) и ^x (закрыть), где ^ — это клавиша Ctrl.
Замечание: Версии macOS до 10.5 содержат устаревшие версии PHP и Apache. В этом случае конфигурационный файл может располагаться по пути /etc/httpd/httpd.conf .
# LoadModule php5_module libexec/httpd/libphp5.so # AddModule mod_php5.c
# Если PHP разрешён, он будет обрабатывать файлы .php и .phps. AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps # Часто требуется, чтобы index.php рассматривался как # страница по умолчанию, если она прямо не указана. # Сделать это можно следующим образом DirectoryIndex index.html index.php Замечание: До macOS 10.5 (Leopard), в состав ОС был включён PHP 4, а не PHP 5. В таком случае в инструкциях выше просто поменяйте 5 на 4.
CLI (или в более старых версиях CGI ) именуется как php и содержится в /usr/bin/php . Откройте терминал, прочитайте раздел документации PHP командная строка, и запустите php -v для проверки установленной версии PHP. Вызов функции phpinfo() также покажет эту информацию.
User Contributed Notes 2 notes
15 years ago
You only have to uncomment:
#LoadModule php5_module libexec/apache2/libphp5.soThis is gone:
# AddModule mod_php5.cThe statement in 3 was changed to:
#
# TypesConfig points to the file containing the list of mappings from
# filename extension to MIME-type.
#
TypesConfig /private/etc/apache2/mime.types#
# AddType allows you to add to or override the MIME configuration
# file specified in TypesConfig for specific file types.
#
#AddType application/x-gzip .tgz
#
# AddEncoding allows you to have certain browsers uncompress
# information on the fly. Note: Not all browsers support this.
#
#AddEncoding x-compress .Z
#AddEncoding x-gzip .gz .tgz
#
# If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:
#
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz#
# AddHandler allows you to map certain file extensions to «handlers»:
# actions unrelated to filetype. These can be either built into the server
# or added with the Action directive (see below)
#
# To use CGI scripts outside of ScriptAliased directories:
# (You will also need to add «ExecCGI» to the «Options» directive.)
#
#AddHandler cgi-script .cgi# For type maps (negotiated resources):
#AddHandler type-map var#
# Filters allow you to process content before it is sent to the client.
#
# To parse .shtml files for server-side includes (SSI):
# (You will also need to add «Includes» to the «Options» directive.)
#
#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtmlExtra MIME types can either be added to the file /private/etc/apache2/mime.types or by using an AddType directive as commented on above.
4 years ago
setup apache + php environment on macOS 10.12.6
step 1: start httpd by apachectl
> sudo apachectl startstep 2: find httpd.conf
> sudo apachectl -t -D DUMP_INCLUDESstep 3: edit conf, eg: /opt/local/etc/apache2/httpd.conf
> sudo vim /opt/local/etc/apache2/httpd.confstep 4: Load php module before , eg:
«`
LoadModule php5_module /usr/libexec/apache2/libphp5.so«`
step 5: add mod_php5.c end of httpd.conf
«`
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.html index.php
«`step 6: save and quit
step 7: restart httpd
> sudo apachectl restartstep 8: write demo.php , test configuration
«`
phpinfo ();
?>
«`step 9: copy demo.php to «DocumentRoot», you can find by httpd.conf
step 10: visit demo.php
- Установка на macOS
- Использование пакетов
- Использование встроенного PHP до macOS Monterey
- Компилирование PHP на macOS
Как запустить php на mac os
Установка веб-сервера Apache и PHP на Mac OS несколько отличается от процесса установки на Windows. Прежде всего следует отметить, что Mac OS уже по умолчанию имеет встроенный Apache. Однако начиная с версии macOS Monterey из операционной системы был удален PHP, который в предыдущих версиях устанавливался по умолчанию. Кроме того, настройка конфигурации встроенного веб-сервера несколько затруднена, каких-то пакетов может недостовать. И в этом случае более предпочтительный подход состоит в использовании пакетного менеджера Homebrew , который значительно облегчает установку и настройку всех необходимых компонентов. Поэтому рассмотрим установку и настройку Apache и PHP с помощью пакетного менеджера Homebrew.
Вначале надо установить сам пакетный менеджер Homebrew через терминал с помощью команды:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Чтобы убедиться, что Homebrew установлен, можно проверить его версию с помощью следующей команды:
brew --version
В этом случае терминал должен отобразить что-то наподобие:
Homebrew 3.3.1 Homebrew/homebrew-core (git revision 1362c572e16; last commit 2021-10-29)
Затем установим PHP с помощью следующей команды:
brew install php
Далее установим веб-сервер Apache с помощью следующей команды:
brew install httpd
После установки веб-сервера Apache вначале проверим его работоспособность. Для его запустим его с помощью следующей команды:
brew services start httpd
При удачном запуске веб-сервера мы сможем обратиться к нему, введя в адресную строку веб-браузера адрес http://localhost:8080 . И в этом случае веб-браузер должен нам отобразить надпись «It works!»:

Настройка Apache
Теперь настроим Apache. Для этого нам надо изменить файл конфигурации веб-сервера. В зависимости от архитектуры Mac расположение файла конфигурации будет отличаться:
- Для архитектуры Intel это путь /usr/local/etc/httpd/httpd.conf .
- Для архитектуры Apple M1 это путь /opt/homebrew/etc/httpd/httpd.conf .
Соответственно для изменения файла нам потребуется текстовый редактор. Можно использовать встроенный текстовый редактор типа TextEdit.
Если архитектура — Intel, введем в терминале следующую команду:
open -e /usr/local/etc/httpd/httpd.conf

Если архитектура — Apple M1, введем в терминале следующую команду:
open -e /opt/homebrew/etc/httpd/httpd.conf
Вначале изменим порт — по умолчанию он равен 8080. Для этого найдем следующую строку:
Listen 8080
Параметр Listen указывает на порт, по которому можно будет обращаться к веб-серверу. Заменим эту строку на следующую:
Listen 80
Далее настроим папку для файлов веб-сервера. По умолчанию это папка «/usr/local/var/www». Но изменим ее.
Создадим в папке текущего пользователя новую папку, которую назовем localhost . Например, в моем текущий пользователь называется eugene , поэтому папка документов веб-сервера будет иметь путь Users/eugene/localhost . Теперь установим эту папку в качестве каталога для файлов веб-сервера.
Важно: папка localhost должна открыта для записи и чтения, иначе Apache не сможет с ней работать. Открыть доступ к папке можно в свойствах папки.
Если архитектура Intel, найдем в файле следующие строки
DocumentRoot "/usr/local/var/www"
Если архитектура Apple M1, найдем в файле следующие строки
DocumentRoot "/opt/homebrew/var/www"
Параметры DocumentRoot и Directory указывает на каталог файлов веб-сервера. Теперь изменим эти строки, передав данным параметрам наш выше созданный каталог:
DocumentRoot "/Users/eugene/localhost"
Напоминаю, что вместо «eugene» в каждом конкретном случае будет идти имя текущего пользователя.
Затем установим имя сервера. Для этого найдем следующую строку:
#ServerName www.example.com:8080
Заменим эту строку на следующую:
ServerName localhost
Изменим пути файлам, в которые будут заноситься сведения об ошибках или посещении сайта.
Если архитектура Intel, найдем строку
ErrorLog "/usr/local/var/log/httpd/error_log"
Если архитектура Apple M1, найдем следующую строку
ErrorLog "/opt/homebrew/var/log/httpd/error_log"
И заменим ее на
ErrorLog "/Users/eugene/localhost/error.log"
Далее изменим путь к логу посещений. Если архитектура Intel, найдем строку
CustomLog "/Users/eugene/localhost/access_log" common
Если архитектура Apple M1, найдем следующую строку
CustomLog "/opt/homebrew/var/log/httpd/access_log" common
И заменим ее на
CustomLog "/Users/eugene/localhost/access_log" common
Таким образом, файл error.log , в который записываются ошибки, и файл access.log , в который заносятся все данные о посещении веб-сайта, будут располагаться в папке c:/localhost.
Настройка PHP
Теперь свяжем Apache с PHP. Вначале нам надо узнать версию PHP. Для этого введем в терминал команду
php -v
Нам должно отобразиться что-то вроде следующего
PHP 8.1.1 (cli) (built: Jan 08 2022 08:25:03) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.1.1, Copyright (c) Zend Technologies with Zend OPcache v8.1.1, Copyright (c), by Zend Technologies
Здесь нас будут интересовать первые две цифры версии. В моем случае выше это 8.1 . В зависимости от архитектуры компьютера также настройка PHP будет отличаться.
найдем в файле строку
#LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so
Если архитектура Intel, после этой строки добавим следующую
LoadModule php_module /usr/local/opt/php@8.1/lib/httpd/modules/libphp.so
Если же архитектура Apple M1, добавим следующую
LoadModule php_module /opt/homebrew/opt/php@8.1/lib/httpd/modules/libphp.so
В данном случае добавляется модуль php. Обратите внимание на часть php@8.1 . Поскольку в моем случае версия 8.1, соответственно я указываю данную версию модуля. То есть в итоге получится
#LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so LoadModule php_module /usr/local/opt/php@8.1/lib/httpd/modules/libphp.so // для Intel LoadModule php_module /opt/homebrew/opt/php@8.1/lib/httpd/modules/libphp.so // для Apple M1
# # TypesConfig points to the file containing the list of mappings from # filename extension to MIME-type.
И под строкой добавим две строчки:
AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
То есть должно получиться:
AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps # # TypesConfig points to the file containing the list of mappings from # filename extension to MIME-type. #
В данном случае мы добавили поддержку для файлов с расширением .php и .phps .
DirectoryIndex index.html И заменим его на следующий:
DirectoryIndex index.html index.php В данном случае мы определяем файлы, которые будут выполняться при обращении к корню файла или каталога. То есть по сути определяем главные страницы веб-сайта: index.html и index.php.
Это минимально необходимая конфигурация, которая нужна для работы с PHP.
Теперь наша задача — убедиться, что php подключен и работает правильно. Для этого перейдем в папку /Users/eugene/localhost , которую мы создали для хранения файлов веб-сервера, и добавим в нее обычный текстовый файл. Переименуем его в index.php и внесем в него следующее содержание:
В данном случае мы создали простейший скрипт, который выводит общую информацию о PHP.
Теперь перезапустим Apache. Для этого последовательно введем в терминале две следующих команды:
brew services stop httpd brew services start httpd
И после перезапуска веб-сервера обратимся к выше созданному скрипту index.php, набрав в строке браузера адрес http://localhost/index.php

Что тут произошло? При обращении к сайту на локальной машине в качестве адреса указывается http://localhost . Затем указывается имя ресурса, к которому идет обращение. В данном случае в качестве ресурса используется файл index.php . И так как в файле httpd.conf в качестве хранилища документов веб-сервера указан каталог /Users/eugene/localhost , то именно в этом каталоге и будет веб-сервер будет производить поиск нужных файлов.
И поскольку выше при конфигурировании мы указали, что в качестве главной страницы может использоваться файл index.php , то мы можем также обратиться к этому ресурсу просто http://localhost/
Таким образом, теперь мы можем создавать свои сайты на php на MacOS.
Настройка php
Как и для Windows, конфигурация php хранится в файле php.ini. На MacOS этот файл располагается по следующему пути:
/usr/local/etc/php/[версия]/php.ini
Например, я установил версию php 8.1.1, поэтому в моем случай файл php.ini располагается по пути «/usr/local/etc/php/8.1/php.ini». Соответственно, если мне необходимо его отредактировать в текстовом редакторе по умолчанию TextEdit, я могу ввести в терминал команду
open -e /usr/local/etc/php/8.1/php.ini
Как установить/обновить PHP 8.3 на MacOS с помощью Homebrew
PHP 8.3 — это крупное обновление PHP 2023 года, содержащее ряд новых возможностей, таких как типизированные константы классов, гранулированные исключения в расширении DateTime , новая функция json_validate , изменения и улучшения функциональности, а также исправления. В этой статье рассказывается, как установить или обновить PHP 8.3 на macOS с помощью Homebrew.
Shivam Mathur поддерживает две ветки Brew, shivammathur/php и shivammathur/extensions , которые содержат прекомпилированные пакеты PHP 8.3 (bottles), которые постоянно обновляются, что делает удобной установку PHP 8.3 и нескольких расширений ядра PHP и PECL с помощью Homebrew.
- Быстрый старт
- Подробное руководство по установке/обновлению PHP 8.3 на macOS
- Предварительные условия
- Составьте и сохраните список имеющихся пакетов PHP
- Добавление новых тапов Homebrew
- Установка PHP 8.3
- Дополнительные PHP расширения
- Интеграция веб-сервера
- Тестирование установки PHP 8.3
- Перенос конфигурации
- Удаление старых версий PHP
Быстрый старт
В терминале macOS выполните следующие команды, которые позволят быстро установить PHP 8.3 с помощью Homebrew. Сначала необходимо установить Homebrew.
# Добавьте метки PHP и PHP Extension
brew tap shivammathur/php
brew tap shivammathur/extensions
# Установите PHP 8.3
brew install shivammathur/php/php@8.3
# Свяжите исполняемый файл PHP 8.3 CLI с `php`.
brew link --overwrite --force shivammathur/php/php@8.3
# Протестируйте установку
php -vПодробное руководство по установке/обновлению PHP 8.3 на macOS
1. Предварительные условия
Убедитесь, что установлен Homebrew. Это было протестировано на macOS Monterey, Ventura и Sonoma.
Установка PHP 8.3, как показано в остальной части статьи, требует наличия Homebrew и двух тапов Homebrew, поддерживаемых Shivam Mathur.
2. Составьте и сохраните список имеющихся пакетов PHP
При обновлении существующей версии PHP следующая команда выводит список всех пакетов Brew, фильтрует их на наличие слов, связанных с PHP, и сохраняет их в файл packages.txt . Этот файл может пригодиться позже для установки того же набора пакетов PHP для PHP 8.3.
Этот шаг не требуется при установке PHP на новую систему.
brew list --full-name | grep -E "php|shivammathur/extensions" | tee packages.txt3. Добавление новых тапов Homebrew
brew tap shivammathur/php
brew tap shivammathur/extensions4. Установка PHP 8.3
brew install shivammathur/php/php@8.3
brew link --force --overwrite shivammathur/php/php@8.3При установке PHP с ним устанавливается несколько основных расширений. Невозможно изменить список включённых расширений без перекомпиляции PHP.
5. Дополнительные PHP расширения
Тап shivammathur/extensions содержит несколько расширений PECL, готовых к установке.
# Установка xdebug для PHP 8.3
brew install shivammathur/extensions/xdebug@8.3Полный список доступных расширений можно посмотреть здесь. Для удобства ниже приведены некоторые из наиболее популярных расширений PECL:
Расширение Имя Xdebug shivammathur/extensions/xdebug@8.3 APCu shivammathur/extensions/apcu@8.3 IMAP shivammathur/extensions/imap@8.3 PCOV shivammathur/extensions/pcov@8.3 Redis shivammathur/extensions/redis@8.3 Swoole shivammathur/extensions/swoole@8.3 YAML shivammathur/extensions/yaml@8.3 6. Интеграция веб-сервера
Если PHP интегрирован с веб-сервером, перезапустите/перезагрузите веб-сервер, чтобы перезагрузить изменения с новой версией PHP FPM.
- Apache: brew services restart httpd
- Nginx: brew services restart nginx
- Caddy: caddy reload
7. Тестирование установки PHP 8.3
Запуск php -v в терминале должен показать что-то вроде этого:
$ php -v
PHP 8.3.0-dev (cli) (built: Nov 20 2023 16:22:29) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.0-dev, Copyright (c) Zend Technologies
with Xdebug v3.2.2, Copyright (c) 2002-2023, by Derick Rethans
with Zend OPcache v8.3.0-dev, Copyright (c), by Zend Technologies8. Перенос конфигурации
Этот шаг применим только при обновлении до PHP 8.3 с более старой версии PHP.
Конфигурационные файлы для PHP 8.3 находятся в каталоге /opt/homebrew/etc/php/8.3 . Существующие установки PHP также должны находиться в каталоге /opt/homebrew/etc/php .
Не копируйте существующие файлы PHP INI в каталог /opt/homebrew/etc/php/8.3 . Хотя это может сработать при обновлении с PHP 8.2 или более поздней версии, рекомендуется вручную копировать INI директивы.
9. Удаление старых версий PHP
Этот шаг применим только при обновлении до PHP 8.3 с более старой версии PHP.
Для удаления старых версий PHP запустите команду brew uninstall с именем и версией пакета PHP.
PHP, установленный из основных пакетов Brew
brew uninstall php@8.2PHP был установлен из shivammathur/php
brew uninstall shivammathur/php/php@8.2- Как установить или обновить PHP 8.3 на Ubuntu и Debian
- Как установить или обновить PHP 8.3 на Fedora, RHEL, CentOS