Антон Шевчук // Web-разработчик

PHP разработчику под MacOS // PHP

PHP and Mountain Lion

Так сложилась ситуация, что я стал Mac’оводом… Наиграться с MacOS я успел за пару месяцев, пора переходить к работе — о том что и как я сетапил и пойдёт речь.

Небольшое лирическое отступление – ноут у меня шёл с предустановленной MacOS 10.7 aka Lion, дабы не заморачиваться с установкой был установлен
MacPorts (менеджер пакетов), а с него уже устанавливалась связка Apache+PHP+MySQL и всё работало, пока я не решил обновить систему до Mountain Lion – после оного всё сломалось, то апач не тот, то мускуль отпадает, переустановка через port не помогала — тратить на это время мне не хотелось, поэтому пошёл в обход

Hosting

Из коробки с MacOS идёт Apache 2.2.22 и устаревший PHP 5.3.15, при этом модуль PHP отключён, а DocumentRoot смотрит куда-попало. Если вас эта среда устраивает, а работать вы всегда будете лишь над одним проектом, то вам потребуется лишь изменить httpd.conf:

sudo vim /etc/apache2/httpd.conf
# находим и разкоменчиваем
LoadModule php5_module libexec/apache2/libphp5.so
# изменяем директиву DocumentRoot
# DocumentRoot "/Library/WebServer/Documents"
DocumentRoot "/Users/Anton/Sites"

Изменили, сохранили, перезапустили:

apachectl -k restart

Apache

Меня ситуация с одним проектом совсем не устраивает, поэтому лезем в настройки виртуальных хостов и прописываем хост для каждого проекта, говорим куда смотреть и где искать… Та ну его, я балованный, я не люблю править конфиги ручками, поэтому чуток погугля был найдет скрипт, который будет делать это за меня — https://github.com/pgib/virtualhost.sh. Работать с ним достаточно просто:

sudo virtualhost.sh <name>
sudo virtualhost.sh --list
sudo virtualhost.sh --delete <name>

PHP

PHP версии 5.3 мне не подходит, надо поновее — 5.4, но на MacOS нельзя просто взять и обновить PHP… Для таких страждущих уже всё придумали — взгляните на ресурс http://php-osx.liip.ch/ — там есть простая инструкция по установке:

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.4

Если никому не доверяете – то можете сами просмотреть данный скрипт, либо устанавливать вручную

В результате получим следующее:

PHP 5.4

Если уж упомянул о возможности обновить «ручками» — то вот вам руководство к действию: Upgrading the Native PHP Installation on OS X Mountain Lion (ага, и картинку я тоже у них взял)

MySQL

Для установки MySQL вам потребуется лишь скачать нужный .dmg с официального сайта: идём по ссылке http://dev.mysql.com/downloads/mysql/, затем «Mac OS X ver. 10.6 (x86, 64-bit), DMG Archive&raquol → «Download» → «No thanks, just start my download!».
Скачанный архив содержит 3 компонента — сам сервер, тулзы автозапуска, панель управления и readme.txt:

MySQL DMG Archive

Устанавливаем всё перечисленное, хотя установка панели управления – это дело вкуса:

MySQL Control Panel

В любом случае у вас будет консоль, стартуем сервер:

sudo /usr/local/mysql/support-files/mysql.server start

Дабы каждый раз с путём не заморачиваться – пропишите его в PATH:

cd ~; vim .profile
# добавляем путь
export PATH="/usr/local/mysql/bin:$PATH"
# сохраняем, выходим

Применяем наши изменения:

source .profile

Проверяем что всё работает как надо:

mysql --version
#> mysql  Ver 14.14 Distrib 5.5.27, for osx10.6 (i386) using readline 5.1

И ещё момент — не зубудьте задать пароль для root’а :)

mysqladmin -u root password 'newpassword'

IDE

Ну мой выбор IDE очевиден — PHPStorm — имхо, лучшая PHP IDE на данный момент, голосую за неё рублём:

PHPStorm

MySQL Manager

Для работы с базой данных я использую SQLYog Enterprise — приобретена данная версия ради двух «платных» фич: туннели разных мастей для соединения и синхронизация БД (весь остальной функционал есть и в Community Edition). С данным менеджером лишь одна беда — он доступен лишь под Windows, для установки оного под MacOS потребуется Wine + XQuartz — с такой связкой SQLYog замечательно работает.
Я думаю, те немногие, что столкнутся с данной проблемой, справятся с установкой и без посторонней помощи :)

А вот выбор «родного» маковского софта не радует, я нашёл лишь Navicat, к которому оставлено куча нелестных отзывов, но есть trial версии — так что сможете испытать, прежде чем купить. Кстати, в сторе Premium Essintials сейчас по $19.99 (сравнить функционал можно тут), но там засада — в более дешёвой версии нет автодополнения кода в редакторе :(

В комментариях подсказали ещё Sequel Pro — хорош для работы с localhost, да и SSH туннель поддерживает, бесплатный. Мне не совсем подходит, т.к. нет туннеля по HTTP (это очень выручает, когда доступ лишь по FTP) и синхронизация между серверами БД тоже отсутствует :(

Есть ещё вариант использовать phpMyAdmin, но это совсем крайний случай, я когда на него смотрю мне и работать не хочется

На этом «пост-памятку» закончу, возможно в дальнейшем я его дополню, или дополнят мои читатели, используя комментарии ;)

© Антон Шевчук 2007-2023