PHP разработчику под MacOS // PHP
Так сложилась ситуация, что я стал 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
Если никому не доверяете – то можете сами просмотреть данный скрипт, либо устанавливать вручную
В результате получим следующее:
Если уж упомянул о возможности обновить «ручками» — то вот вам руководство к действию: 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»l → «Download» → «No thanks, just start my download!».
Скачанный архив содержит 3 компонента — сам сервер, тулзы автозапуска, панель управления и readme.txt:
Устанавливаем всё перечисленное, хотя установка панели управления – это дело вкуса:
В любом случае у вас будет консоль, стартуем сервер:
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 на данный момент, голосую за неё рублём:
MySQL Manager
Для работы с базой данных я использую SQLYog Enterprise — приобретена данная версия ради двух «платных» фич: туннели разных мастей для соединения и синхронизация БД (весь остальной функционал есть и в Community Edition). С данным менеджером лишь одна беда — он доступен лишь под Windows, для установки оного под MacOS потребуется Wine + XQuartz — с такой связкой SQLYog замечательно работает.
Я думаю, те немногие, что столкнутся с данной проблемой, справятся с установкой и без посторонней помощи :)
А вот выбор «родного» маковского софта не радует, я нашёл лишь Navicat, к которому оставлено куча нелестных отзывов, но есть trial версии — так что сможете испытать, прежде чем купить. Кстати, в сторе Premium Essintials сейчас по $19.99 (сравнить функционал можно тут), но там засада — в более дешёвой версии нет автодополнения кода в редакторе :(
В комментариях подсказали ещё Sequel Pro — хорош для работы с localhost, да и SSH туннель поддерживает, бесплатный. Мне не совсем подходит, т.к. нет туннеля по HTTP (это очень выручает, когда доступ лишь по FTP) и синхронизация между серверами БД тоже отсутствует :(
Есть ещё вариант использовать phpMyAdmin, но это совсем крайний случай, я когда на него смотрю мне и работать не хочется
На этом «пост-памятку» закончу, возможно в дальнейшем я его дополню, или дополнят мои читатели, используя комментарии ;)