2016-03-26 13:42:13

Установка расширений PHP в Mac OS X

В мемориз PHP Mac OS

Как известно, в Mac OS X уже есть и apache и PHP, но что делать если требуется добавить какое-либо расширение в PHP? Можно, конечно, воспользоваться brew и получить еще одну параллельную версию PHP, а потом мучиться с ее настройкой, ради одного расширения. Я же опишу более правильный путь - собрать расширение для уже имеющегося в системе PHP.

Читать дальше...

2016-03-25 23:28:12

Исправляем поведение Home и End на клавиатуре в Mac OS X

В мемориз Mac OS

Подключив внешнюю клавиатуру к своему MacBook Air сразу стало заметно непривычное поведение клавиш Home и End: они переводили курсор в самое начало конец документа, а не текущей строки. Для меня это оказалось крайне неудобно, если на клавиатуре ноутбука это не особо заметно, то на внешней полноразмерной стало сильно раздражать.

Решение нашлось быстро по ссылке http://www.evansweb.info/2005/03/24/mac-os-x-and-home-end-keys/, благо я не один такой, кому это мешает :)

Идем и создаем (или правим) файл

~/Library/KeyBindings/DefaultKeyBinding.dict

В нем пишем:

{
    /* Remap Home / End to be correct :-) */
    "\UF729"  = "moveToBeginningOfLine:"; /* Home */
    "\UF72B"  = "moveToEndOfLine:"; /* End */
    "$\UF729" = "moveToBeginningOfLineAndModifySelection:"; /* Shift + Home */
    "$\UF72B" = "moveToEndOfLineAndModifySelection:"; /* Shift + End  */
}

Если в файле уже что-то было, то добавляем 4 строки по аналогии с тем что написано выше.

Логофимся и получаем правильную привычную работу клавиш Home и End.

2016-02-11 16:10:14

Настраиваем сервер gitolite и клиента на Mac OS

Linux Git Mac OS

В качестве возможности провести свободное время, расскажу свой опыт настройки сервера gitolite на Linux машине и организовать работу клиента на Mac OS :)

На старте у нас имеется сервер под управлением CentOS, который будет выступать хостингом репозиториев; и клиент на Mac OS Yosemite, который будет с ним работать.

Подготовительный этап

Для самого начала нам потребуются ssh ключи. На любой машине генерим приватный и публичный ключ командой

ssh-keygen -t rsa

После этого будет создана пара ключей 

~/.ssh/id_rsa.pub
и
~/.ssh/id_rsa

Эти ключи будут использоваться для администратора gitolite, но их так же можно использовать и для себя в качестве клиента, поэтому можно создавать их и на клиентской машине. Далее я буду рассматривать ситуацию когда эти ключи используются как для админа так и для клиента, поэтому приватный ключ должен оказаться на клиентской машине, например в файле ~/.ssh/git, а публичный - на сервере в файле /tmp/git.pub.

Важное замечание, если вы генерите non-openssh public keys, например, при помощи PuTTY gen, то для использования в gitolite публичный ключ придется конвертировать командой

ssh-keygen -i -f /tmp/ssh2/YourName.ppk > /tmp/openssh/YourName.pub

Это типичная проблема при использовании, например, TurtoiseGit на windows, когда для того чтоб он принял ключ он должен быть в формате *.ppk, а на сервере - в фомате openssh.

Читать дальше...

2016-02-09 15:28:52

Установка Oracle Client на Mac OS

PHP Oracle Mac OS

В продолжение темы про установку Oracle Client на Windows расскажу про свой опыт установки аналогичной связки для Mac OS.

На старте имеем Mac OS X 10.10 Yosemite в которой уже работает штатный web сервер apache и php 5.4. Цель первая - получить рабочий Oracle Client, иметь возможность работать с Oracle через Toad (да да, для мака есть тоад, и он бесплатный). Цель вторая - иметь возможность работать с Oracle из PHP.

Для начала качаем Oracle Instant Client для Mac OS с сайта oracle.com (там нужно регистрироваться):

  • instantclient-basic-macos.x64-11.2.0.4.0.zip (обязательно)
  • instantclient-sqlplus-macos.x64-11.2.0.4.0.zip (если хотим проверить, а тоад ставить нет планов)
  • instantclient-sdk-macos.x64-11.2.0.4.0.zip (если планируем использовать в PHP)

* я для себя выбрал 11-ю версию для того чтоб иметь возможность работы со старыми БД, например 9-й версии.

Распаковываем содержимое архивов в удобное место, для меня это /Library/Oracle. Возможны и другие варианты, но для меня более логично показалось так, далее все описания будут производиться относительно этого пути.

В результате получаем вот такую структуру папок:

/Library/Oracle/instantclient_11_2
/Library/Oracle/instantclient_11_2/sdk (если решили с SDK)

Далее создаем линки:

cd /Library/Oracle/instantclient_11_2
ln -s libclntsh.dylib.11.1 libclntsh.dylib
ln -s libocci.dylib.11.1 libocci.dylib.dylib

Читать дальше...