mac os установка php
Как установить новый PHP в macOS
По умолчанию в macOS уже установлен PHP, но иногда требуется обновить конфигурацию или устновить другую версию PHP.
Я уже рассказывал про то, как установить и настроить PHP. Фактически до этого мы просто включали PHP в настройках Apache.
Недавно мне потребовалась поддержка расширения GD Freetype и пришлось установить другую версию PHP. На официальном сайте рекомендуют использовать уже готовые и сконфигурированные для этого пакеты.
Я воспользовался пакетами от Liip (https://php-osx.liip.ch). Это готовые сборки различных версий PHP, которые очень легко установить.
Устанавливаем PHP
Сразу замечу, что новая версия PHP установится параллельно с текущей, поэтому волноваться не стоит. Откройте терминал и выполните следующую команду:
Данная команда автоматически скачает и установит в macOS PHP версии 5.6. Если нужна другая версия, укажите вместо 5.6 ее номер (например, можно указать версию 7.1).
Установка может занять некоторое время. У меня на это ушло около минуты.
В конце я получил следующее сообщение:
Restarting Apache
[Fri Mar 17 10:03:03.441097 2017] [so:warn] [pid 26302] AH01574: module php5_module is already loaded, skipping
Откроем файл конфигурации Apache, для этого выполните в терминале команду:
Найдите строку: LoadModule php5_module libexec/apache2/libphp5.so и закомментируйте ее (перед строкой нужно поставить символ решетки #). Сохраните и закройте файл.
Осталось перезапустить Apache. Выполните в терминале команду:
На этом установка новой версии PHP завершена.
Установка Apache, PHP, MySQL в macOS
Рассмотрим, как установить веб-сервер Apache, PHP и MySQL в macOS.
Все действия в данной статье будут выполняться в macOS Sierra.
Установка Apache
Хорошая новость — веб-сервер Apache уже установлен в вашей системе. Его нужно только запустить. Для этого откройте терминал и выполните в терминале команду:
Данной командной мы выполняем утилиту apachectl с правами суперпользователя (так как перед командной мы вводим sudo) и передаем утилите опцию start. Обратите внимание, что после того, как вы нажмете Enter, необходимо будет ввести пароль, который вы используете для входа в систему. При вводе пароля на экране не будет никакой индикации или символов, которые вы вводите. Просто введите пароль и нажмите Enter.
Установка PHP
И снова хорошая новость — PHP уже установлен. Нужно только включить его поддержку веб-сервером.
Для этого необходимо отредактировать файл конфигурации Apache: /etc/apache2/httpd.conf
Откроем файл конфигурации:
В файле необходимо раскомментировать строку, которая отвечает за загрузку модуля php5_module:
LoadModule php5_module libexec/apache2/libphp5.so
Так как конфигурация сервера изменилась, необходимо перезапустить сервер, чтобы новые параметры вступили в силу. Для перезапуска Apache выполните в терминале команду:
Установка MySQL
Для установки MySQL необходимо скачать с сайта mysql.com пакет с инсталлятором.
Перейдите на страницу http://dev.mysql.com/downloads/mysql/ и скачайте DMG-файл вида mysql-5.7.16-osx10.11-x86_64.dmg. После того, как вы нажмете на ссылку Download, откроется страница с предложением войти или зарегистрироваться на сайте. Регистрироваться не нужно, внизу страницы есть ссылка «No thanks, just start my download.«, нажмите на нее.
В конце установки отобразится окошко, в котором будет написан временный пароль root’а для доступа к MySQL. Запишите его.
Дополнительные действия после установки MySQL
Теперь нужно выполнить еще одно важное действие. Дело в том, что в MySQL есть небольшая ошибка, которая уходит в корнями в 2012 год, но исправить ее очень просто. Выполните в терминале последовательно следующие команды:
Теперь снова перезапустите Apache:
Меняем пароль root’а в MySQL
Выше, во время установки MySQL, мы получили временный пароль root пользователя. Однако, его необходимо поменять. Обращаю ваше внимание на то, что речь идеть про пароль пользователя root для MySQL сервера и этот пароль ни как не связан с паролем, который вы используете для входа в систему или при выполнении команд через sudo.
Чтобы задать новый пароль для root пользователя в MySQL необходимо выполнить в терминале ряд команд.
Запуск MySQL сервера из терминала
Запустить MySQL сервер можно из терминала или из Системных настроек.
Для запуска MySQL сервера через терминал выполните команду:
Чтобы остановить сервер выполните:
Запуск MySQL сервера из Системных настроек
В Системных настройках добавился новый пункт MySQL. Можно запускать MySQL сервер оттуда. Там же есть опция для автоматического запуска MySQL сервера при старте системы.
Проверка работоспособности
Как написано выше, файлы сайта localhost находятся в директории /Library/WebServer/Documents. Мы можем для проверки создать PHP файл, в котором выполним функцию phpinfo(). Для этого можно воспользоваться терминалом. Создадим файл /Library/WebServer/Documents/testfile.php и добавим в него вызов функции phpinfo():
Теперь можно открыть файл в браузере, перейдя по адресу: http://localhost/testfile.php
Чтобы проверить, что MySQL сервер работает, и мы можем выполнять действия с базами данных, можно воспользоваться утилитой mysql. Выполните в терминале:
Введите пароль пользователя root и нажмите Enter. Вы попадете в shell для управления MySQL. Введите команду:
Отобразится список текущих баз данных. Завершите работу введя:
Заключение
Итак, мы установили Apache, PHP и MySQL в macOS. Следующим шагом будет установка phpMyAdmin и настройка виртуальных хостов (сайтов).
Установка окружения для разработки PHP на macOS и Linux
Настройка окружения PHP-разработчика в macOS
Пакетный менеджер
Скачивать и устанавливать весь требуемый софт мы будем с помощью пакетного менеджера Homebrew.
Пакетный менеджер — это инструмент, который значительно облегчает процесс установки любых программ. С Homebrew установка программы на компьютер сводится буквально к одной команде в терминале.
Но сам Homebrew тоже требуется установить, так как по умолчанию он не входит в состав операционной системы.
Понятная инструкция по его установке есть на главной странице этой программы. Выполните её и переходите к следующему шагу.
Установка PHP
Начнём с установки PHP-интерпретатора.
Все последующие команды выполняются через терминал.
Установить интерпретатор можно через одну простую команду:
Проверим, что всё установилось корректно:
Установка веб-сервера
PHP — это язык программирования, на котором можно создавать современные сайты. Обработкой запросов пользователей и отдачей им запрошенных страниц занимаются специальные программы — веб-сервера.
PHP работает в тесной связке с веб-сервером, так как именно последний обращается к нему и, в конечном счёте запускает наши сценарии. В общем, без веб-сервера нам никак не обойтись.
Поднять веб-сервер можно с помощью плагинов для редактора или настроить веб-сервер самостоятельно. Рассмотрим оба варианта.
Использование веб-сервера из редактора
Современные редакторы могут самостоятельно запускать сервер. В VS Code это можно сделать через плагин PHP Server, а в PHP Storm через — PHP Debug Server. По ссылкам есть инструкция с настройками. Для того, чтобы сервер стартовал, нужно чтобы локально был установлен php интерпретатор.
Установка nginx
Рассмотрим как установить веб-сервер самостоятельно.
Установим последнюю версию nginx:
Запускаем nginx, чтобы он работал в фоне и обслуживал наши запросы:
Проверяем, что всё установилось корректно, и nginx успешно работает на нашем компьютере:
откройте любой браузер и введите в адресной строке следующий URL:
в ответ вы должны увидеть страницу с текстом «Welcome to nginx!»
Интеграция PHP и веб-сервера
На этом шаге мы «подружим» PHP-интерпретатор и nginx, чтобы при запросе веб-страниц с расширением.php автоматически выполнялся php-сценарий и мы видели результат его работы в браузере.
Откройте конфигурационный файл nginx:
Добавим в конец документа перед закрывающей скобкой от блока http следующий код:
USERNAME нужно будет в двух местах заменить на имя вашего пользователя
Разрешим nginx читать содержимое нашего проекта
(*)Поменяйте USER на имя вашего пользователя и yeticave на папку вашего проекта
Для того, чтобы изменения применились на 80 порт, нужно перезагрузить сервер с доступом администратора командой:
Установка xdebug
Установить xdebug можно простой командой:
Проверка работы
Базовая настройка окружения закончена. Осталось проверить, что мы всё сделали правильно.
Создадим тестовый PHP-сценарий со следующим содержимым:
Установка MySQL в macOS
Актуальную версию MySQL для macOS можно загрузить с официальной страницы. Для удобства установки рекомендуется загружать DMG Archive. В этом случае процесс установки будет выполняться с помощью стандартного инсталлятора.
Рисунок 1. Окно инсталлятора
Рисунок 2. Выбор компонент для установки
Рисунок 3. Автоматически сформированный пароль
Рисунок 4. Окно System Preferences
Рисунок 5. Аплет запуска MySQL
Чтобы протестировать соединение с MySQL и получить возможность выполнять базовые задачи, вам потребуется фирменная утилита от Oracle — MySQL Workbench. Установка утилиты выполняется стандартным для macOS способом: запускаем загруженный DMG и в окне инсталлятора перетаскиваем иконку MySQL Workbench в папку Application.
Для тестирования корректности установки MySQL запустим MySQL Workbench и попробуем установить соединение.
Рисунок 6. Главное окно MySQL Workbench
Рисунок 7. Соединение с MySQL установлено
Установка на Linux
Настроить рабочее окружение для разработки на PHP в Linux возможно несколькими способами. Рассмотрим один из наиболее быстрых способов: настройка связки PHP плюс nginx.
Запустите приложение «Терминал». Ярлык на запуск доступен в менеджере приложений.
Установка PHP
Последним компонентом в настройке рабочего окружения станет PHP.
В окне терминала введите команду для установки php-fpm из репозитория.
Настройка xdebug
Сохраняем изменения ctrl + o и закрываем редактор nano ctrl + x.
Дмитрий [KP0H] Пелевин
Сохраняю тишину в голове
Установка PHP на Mac OS X
С тех пор как я попробовал после Windows систем сесть на Linux, а потом и на Mac ничего кардинально не изменилось. Пока нужно сделать что-то не сложное — это делается в один клик, как только нужно сделать что-то очень простое, это просто невыполнимо.
Ну в общем, мне нужно настроить Mac OS для разработки на PHP. Надо заметить что Apache на моем Mac уже стоит, причем это по умолчанию. (У меня Yosemite, для справки).
Особо удачливые и гуру могут использовать инструкцию с сайта php, а здесь я попытаюсь изложить доходчиво и по пунктам для всех остальных.
Ну пожалуй по порядку.
Apache
Нам нужен для работы Apache, который в принципе уже предустановлен (в Yosimite по умолчанию доступна версия 2.4), но в панели управления никаких интерфейсов для работы с ним не представлено.
Есть несколько простых способов решить эту задачку с помощью сторонних приложений, например, clickontyler или VirtualHostX. (На самом деле clickontyler это более простая и бесплатная версия одного и того же продукта).
Но все можно сделать используя уже имеющиеся средства.
Нас интересует Terminal и apachectl.
Чтобы запустить web-сервер:
$ sudo apachectl start
Чтобы остановить apache:
$ sudo apachectl stop
Чтобы перезапустить apache после изменение конфигурации:
$ sudo apachectl restart
Настройки Document Root
$ sudo nano /etc/apache2/httpd.conf
Измените адрес на необходимый вам. К примеру
DocumentRoot «/Users/ /Sites»
Так же нужно внести изменения внутри должен быть указан тот же путь:
* посмотреть назначение параметров можно, например, здесь.
User & Group
Создаем корневую директорию
Hello World. 1111 Работает.
Теперь, когда вы откроете в браузере http://localhost, вы должны увидеть именно это сообщение. Если все работает — можно продолжать дальше.
Homebrew
Существуют различные менеджеры пакетов для Mac OS:
В принципе, вы можете использовать тот, что Вам больше нравится. Исторически сложилось так, что я пользуюсь Homebrew.
В первую очередь, для установки brew потребуется поставить XCode и Command Lite Tools. Сперва убедитесь, что установлен XCode он доступен в Mac App Store.
Затем в терминале пишем:
Установка
Полную документацию можно найти на Homebrew Wiki, кажется теперь ее переместили к репозиторию на GitHub. Я приведу только выдержку.
Просто следуем предложениям терминала и там где требуется вводим пароль. Это займет несколько минут.
Проверка
Простой вариант проверить, что brew установился корректно — набрать команду:
Так же вы можете использовать следующую команду, чтобы удостовериться, что все корректно
Вы получите инструкции, если необходимо что-то исправить.
Если brew уже был установлен, удостоверьтесь, что вы используете последую доступную версию:
Теперь можно работать с brew.
Немного мат.части для общего развития.
У Homebrew есть формулы, это нечто вроде скриптов на Ruby, например вот:
Homebrew не станет устанавливать файлы за пределами своей директории. Вы можете установить Homebrew в любую директорию.
Установка PHP 5.4
В общем-то после установки brew, установка php становится весьма тривиальной задачей. В данном описании я покажу только установку конкретной версии PHP, а дальнейшем постараюсь показать вариант установки нескольких версий и переключения между ними. Англоязычное описание по установке нескольких версий php можно найти прямо здесь.
$ brew tap homebrew/dupes
$ brew tap homebrew/versions
$ brew tap homebrew/homebrew-php
$ brew install php54
Этот процесс займет какое-то время.
Если в процессе компиляции вы увидите ошибку: configure: error: Cannot find OpenSSL’s вам необходимо переустановить XCode command line tools, для этого достаточно набрать: xcode-select —install
Если вам потребуется подстроить php под себя, конфигурационный файл вы сможете найти по адресу:
/usr/local/etc/php/5.4/php.ini
Настройка Apache
# — в данном случае символ комментария, но мы можем не трогать эту строку, т.к. параметр все равно ссылается на версию php, которая была предустановленна вместе с OS X.
Просто добавляем под этой строкой следующее:
# Brew PHP LoadModule
LoadModule php5_module /usr/local/opt/php54/libexec/apache2/libphp5.so
Так мы сказали Apache для обработки PHP запросов использовать PHP 5.4, который установили ранее.
Так же сразу следует убрать комментарий с объявления модуля mod_rewrite.so (описание на английском языке можно найти здесь):
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
Теперь Apache должен начать обрабатывать php.
Для проверки этого утверждения используем команду phpinfo(), которая заодно расскажет нам практически все текущие параметры и пригодится в будущем.
Просто создаем файл info.php в папке
/Sites/ и помещаем в него одну строку
Открываем в браузере http://localhost/info.php и наблюдаем страницу с информацией о нашем PHP.
Если Вы нашли ошибку, пожалуйcта выделите ее и нажмите Shift + E или нажмите здесь чтобы информировать меня. Спасибо.
Установка php5.5+php-fpm+mysql+nginx на Mac OS X Mavericks
Каждый веб-разработчик, выбравший Mac, после первичной настройки системы ищет рабочий инструментарий. И если c IDE и редакторами всё понятно, то что-либо подобное по удобству win-довым OpenServer или Denwer за бесплатно найти трудно. Есть отличное решение MAMP PRO, но оно стоит две тысячи деревянных. Да и работа через Apache некоторых может смутить.
Занимаясь решением этого вопроса, набрёл на интереснейший материал, который рассказывает о том, как при помощи консольного пакет-менеджера Homebrew настроить рабочее пространство буквально за 5-10 минут. Публикую его перевод, потому что кому-нибудь подобная инструкция по настройке веб-окружения на Mac обязательно пригодится.
«Только что получил новый MacBook Pro и решил настроить его с чистого листа, потому что я использую тот же бэкап Time Machine примерно уже четверы года. Хороший шанс избавиться от стэка веб-сервера/LAMP (Linux Apache MySQL PHP) и заменить его Nginx и PHP-FPM как реализацию FastCGI. Ниже вы можете прочесть, как настроить Nginx, PHP-FPM, MySQL и PhpMyAdmin на OS X 10.9 / Mavericks.
Xcode
Прежде всего, установите последнюю версию Xcode через Mac App Store:
Скачать Xcode.app (через Mac App Store)
Как только закончится загрузка, откройте Xcode в папке /Applications и согласитесь с лицензией.
Откройте окно Терминала и установите Xcode через следующую команду:
Homebrew
Теперь необходимо установить Homebrew, который является менеджером пакетов для OS X. Вы возможно уже слышали про apt-get или aptitude на дистрибутивах Linux для установки пакетов и зависимостей для конкретный приложений. brew работает также, только на компьютерах под управлением Mac OS X. Он также удостоверится, что вы получите последние обновления для установленных приложений, так что вам не нужно будет беспокоиться из-за просроченных версиях или брешах в системе безопасности, эксплойтах и так далее.
Прежде всего, нам понадобиться Xquarz:
Теперь нам необходимо загрузить и установить Homebrew при помощи следующей команды:
Поверим на любые конфликты и проблемы:
Обновим репозитории и приложения при помощи Homebrew:
PHP-FPM
Потому как Homebrew не имеет репозитория по-умолчанию для PHP-FPM, нам необходимо его добавить:
Установим PHP-FPM при помощи следующих аргументов:
Homebrew загрузит исходный код PHP-FPM и скомпилирует его аз вас. Дайте ему немного времени, это может занять несколько минут.
Настройка PHP в командной строке
Настройка автозапуска
Удостоверьтесь, что PHP-FPM слушает порт 9000:
Вывод должен выглядеть примерно следующим образом:
MySQL
Следующий шаг для установки MySQL:
Настройка автозапуска
И запустите сервер баз данных:
Обезопасьте установку
Для безопасности нашего MySQL-сервера мы вызовем идущий в компоекте бинарник secure_mysql_installation для смены root-пароля, удаления анонимного пользователя и отключения возможности дистанционного логина под root-ом:
Пожалуйста, укажите текущий пароль, если он уже установлен.
Нажите enter, указав пароль для root-пользователя. По желанию сохраните его в менеджерах паролей LastPass или 1Password.
Да, в них нет необходимости.
Да, нет необходимости в авторизации под root с любого другого IP кроме 127.0.0.1.
Да. Нам не нужны тестовые таблицы.
Перезагрузка таблицы привилегий даст нам возможность удостовериться, что изменения вступили в силу.
Проверка соединения
Введите указанный ранее root-пароль и увидите консоль MySQL:
Закончите сессию при помщи команды \q :
phpMyAdmin
Установите autoconf который необходим для phpMyAdmin:
Приступим к установке phpMyAdmin:
Nginx
Установите Nginx при помощи команды:
Настройка автозапуска
Так как мы используем 80 порт, необходимо запускать Nginx под пользователем root:
Протестриуйте веб-сервер
Конфигурация по-умолчанию слушает порт 8080 вместо стандартного для протокола HTTP порта 80. Пока проигнорируем это:
Ответ должен выглядеть следующим образом:
Снова остановим Nginx:
Дальнейшая настройка
nginx.conf
Создайте папки, которые понадобятся нам при последующей конфигурации Nginx:
Загрузка PHP FPM
Скачайте мои настройки PHP-FPM с GitHub:
Создание виртуальных хостов
Клонируйте тестовый виртуальный хост (включая рерайты для 404, 403 и phpinfo() ) используя git :
Настройка SSL
Создайте папку для наших сертификатов SSL и частных ключей:
Сгенерируйте 4096bit RSA ключи и само-подписные сертификаты следюущей командой:
Включение виртуальных хостов
Теперь нам нужно создать симлинки в папке sites-enabled для виртуальных хостов с целью включить их:
Снова стартуем Nginx:
Последние тесты
Вот оно, всё должно работать. Щелкайте на ссылках ниже с целью удостовериться в этом:
Управление сервисами
В силу того, чтоы вам рано или поздно понадобиться перезапустить тот или иной вресив, вам возможно понадобятся дополнительные алиасы:
Вы можете или открыть новое окно/сессию Терминала или же вручную перезагрузить
/.bash_profile при помощи команды:
Nginx
Вы можете стартовать, остановить и перезапустить Nginx при помощи команд:
Быстрый доступ к логам:
PHP-FPM
Старт, стоп и перезагрузка PHP-FPM:
MySQL
Старт, стоп и рестарт MySQL-сервера:
Дайте мне знать, если застряли или у вас есть какие-либо дополнения!»