?

Log in

No account? Create an account
Установка модуля php5-readline в Debian 7 (wheezy)
coderua
Функции модуля readline представляют удобную работу с командной строкой из php-скриптов.

Установка данного модуля в Debian Linux имеет некоторые «хитрости».
И просто установить его командой apt-get install php5-readline не получится.

Итак, исходная система:
$ lsb_release -a

No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 7.3 (wheezy)
Release: 7.3
Codename: wheezy


Процесс установки.

  1. Установим php и, необходимые для успешной установки readline, модули:
    sudo apt-get install php5-dev php5-cli libedit-dev libreadline6-dev
    В данном случае я указываю только обязательные пакеты, не акцентируя внимания на других php-модулях.

  2. Далее, необходимо загрузить исходники php, чтобы скомпилировать модуль:
    cd /tmp && apt-get source php5-cli

    В результате будет выведена строка на подобии следующей:
    dpkg-source: инфо: извлечение php5 в php5-5.4.4

  3. Переходим в директорию с нужным расширением php:
    cd php5-5.4.4/ext/readline

  4. Компилируем его:
    sudo -s
    phpize && ./configure && make

    • Если компиляция прервется следующей ошибкой:
      /tmp/php5-5.4.4/ext/readline/readline_cli.c:64:26: fatal error: sapi/cli/cli.h: No such file or directory
      compilation terminated.
      make: *** [readline_cli.lo] Ошибка 1


      следует создать символическую ссылку:
      ln -s ../../sapi/

      и повторить комманду:
      phpize && ./configure && make


  5. После успешной компиляции будет выведено приблизительно следующее сообщение:
    Libraries have been installed in:
    /tmp/php5-5.4.4/ext/readline/modules

    If you ever happen to want to link against installed libraries
    in a given directory, LIBDIR, you must either use libtool, and
    specify the full pathname of the library, or use the `-LLIBDIR'
    flag during linking and do at least one of the following:
    - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
    during execution
    - add LIBDIR to the `LD_RUN_PATH' environment variable
    during linking
    - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
    - have your system administrator add LIBDIR to `/etc/ld.so.conf'

    See any operating system documentation about shared libraries for
    more information, such as the ld(1) and ld.so(8) manual pages.
    ----------------------------------------------------------------------

    Build complete.
    Don't forget to run 'make test'.

  6. Можно устанавливать модуль:
    make install

    Результатом успешной установки будет строка вида:
    Installing shared extensions: /usr/lib/php5/20100525+lfs/

  7. Подключаем модуль к php:
    cat > /etc/php5/mods-available/readline.ini << EOF
    ; configuration for php Readline module
    ; priority=20
    extension=readline.so
    EOF

  8. Включаем модуль:
    php5enmod readline

  9. Проверяем успешность загруженности модуля в php:
    php -m | grep readline
    Результатом будет строка:
    readline


Поздравляю, установка модуля php5-readline в Debian GNU/Linux 7 (wheezy) успешно завершена!

[reposted post]Нужен верстальщик
jc_blog
reposted by coderua


Нужен талантливый верстальщик со знанием JS для самизнаетекакого проекта.
Желательно на долгосрочной основе. У
мение верстать адаптивно с поддержкой ретины будет огромным плюсом.

Портфолио (на github, free-lance etc.) и ссылки на несколько ваших работ с условиями сотрудничества (цена, сроки)
присылайте мне на почту jc.guru@gmail.com с темой: «верстка».

Подробное ТЗ пришлю выбранным кандидатам. За репост/твит отдельное спасибо.



[reposted post]Getphotos — cервис покупки фотографий со стоков
jc_blog
reposted by coderua



Getphotos — уникальный автоматический cервис покупки фотографий, видео и аудиоматериалов со
всемирно известных стоков
по восхитительно низким ценам.

Несколько лет назад я наблюдал проблему, которая и по сегодняшний день остается актуальной.
Речь идет о покупке материалов со стоков. Признайтесь, вы хоть раз, но затирали водяные знаки на
фотографиях ;) Общеизвестно, что наиболее популярные стоки до сих пор не принимают привычные
для жителей СНГ методы оплаты, а цены на материалы явно не соизмеримы с бюджетами среднего
по рынку проекта.

Тогда я и решил: пора брать дело в свои руки! С 2009 года я предоставляю услуги по покупке
различного контента (чаще всего изображений) со стоков в ручном режиме. Но, ручной режим — это
тоже ряд неудобств для обеих сторон.

Сотни довольных покупателей, внушительное количество положительных отзывов клиентов и
востребованность такого рода услуги вдохновили меня на нечто большее.

Рад представить вашему вниманию небольшое превью долгожданного проекта, над которым мы с
командой работаем уже длительное время. Именно он и призван решить эту проблему в полной мере.


И хоть он еще в разработке, но мы стремительно приближаемся к дате релиза, и поэтому, предлагаем
вам «занять места» заранее. Ведь наверняка вы захотите поучаствовать в бета-тесте.

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

Хотите покупать со стоков быстро, удобно и выгодно? Тогда посетите наш сайт и подпишитесь на
обновления, чтобы узнать об открытии сервиса первым!


P.S. Буду благодарен за репост или распространение этой новости в социальных сетях (ставить лайки
лучше непосредственно с сайта).



Aptana Studio 3 shortcuts (hotkeys)
coderua
Просмотреть, установленные сочетания клавиш для IDE Aptana Studio, можно нажав комбинацию Ctrl + Shift + L. Двойное нажатие данного сочетания клавиш, откроет окно настроек, в котором можно будет, эти самые, сочетания изменить. Детальнее про шорткаты можно почитать в документации: wiki.appcelerator.org.

Привожу все комбинации одним скрином — удобно для распечатки.
aptana3-shortcuts-all
Tags: ,

Поддержка синтаксиса Smarty в Sublime Text 2
coderua
Думаю, прекрасный редактор для написания кода, Sublime Text 2, не нуждается в представлении. Отмечу лишь, что это быстрый, простой, красивый и удобный редактор с поддержкой множества языков программирования. Правда, среди всех плюсов есть один «минус» — редактор платный.
Из коробки поддержка синтаксиса шаблонизатора Smarty не включена. Чтобы ее включить, необходимо выполнить несколько действий.
Для Windows путь к директории с пакетами c:\Users\<ИМЯ_ПОЛЬЗОВАТЕЛЯ>\AppData\Roaming\Sublime Text 2\Packages\. Если вы не можете найти директорию с пакетами, то пункт меню «Preferences -> Browse Packages» в программе, поможет вам. Далее по тексту путь будет указан относительно.
Итак, чтобы включить подсветку синтаксиса нужно выполнить следующее:
  1. Скачать файл «Smarty.plist» и сохранить в «Packages\User\Smarty.tmLanguage».
  2. Далее открыть файл «Packages\HTML\HTML.tmLanguage» и в нем дважды удалить комментарии относящиеся к Smarty — последовательность символов «<!--» и «->». Ну и, естественно, сохраниться :)
  3. Возможно, что тема по умолчанию, не будет поддерживать подсветку синтаксиса, тогда можно переключиться на тему Twilight: «Preferences -> Color Scheme -> Twilight»
  4. Перезапусть редактор, если он был открыт.

Вот как теперь выглядит шаблон:

Подсветка синтаксиса шаблонизатора Smarty


Как установить PECL-расширение во FreeBSD
coderua
Что такое PECL и с чем его едят я коротко описал в предыдущем посте "Как установить PECL-расширение в Ubuntu"

В ОС FreeBSD PECL-расширения очень просто устанавливаются из портов.
Имя порта формируется по следующему принципу: pecl-<имя_pecl_пакета>.
Например, если нужно установить пакет pecl_http, то имя порта будет pecl-http, или libevent - порт будет называться pecl-libevent.


1. Задача.
Установить необходимые расширения. В нашем случае это pecl_http
Ошибка которую выдает веб-сервер и свидетельствует, что расширение не установлено, выглядит вот так:
Fatal error: Call to undefined function http_get() in some_file.php on line xxx

3. Исходная система.
FreeBSD 8.2-RELEASE, Apache-2.2.17_1, PHP 5.3.8 и т.п.

4. Процесс установки.
  1. Ищем необходимый пакет:
    whereis pecl-http
    Результат выдаст нам путь по которому находится порт pecl-http: /usr/ports/www/pecl-http

  2. Перейдем в директорию с портом:

    cd /usr/ports/www/pecl-http

  3. Произведем установку (не забываем, что ее необходимо выполнять от суперпользователя - root):

    # make install clean

  4. Если все пройдет без ошибок, то вы увидите на экране приблизительно следующую строку:

    ===> Cleaning for pecl-http.

    В файл /usr/local/etc/php/extensions.ini будет добавлена строка, подключающая библиотеку:
    extension=http.so
  5. Перезапустим веб-сервер Apache
    # apachectl restart

Photoshop - сохранение результатов в формате .ico
coderua
Иногда возникает необходимость сохранить результаты работы в формате .ico или .cur.
И, к сожалению, штатными средствами Adobe Photoshop этого сделать не удастся.
Но, как всегда, выход найдется :)
Существует бесплатный плагин ICOFormat.
Скачать можно отсюда. Существуют версии как для PC так и для Mac.

Установка:
  1. Распаковать архив.
  2. Файл с расширением .8bi скопировать в C:\Program Files\Adobe\Photoshop\Plug-Ins\File Formats
  3. Запустить/перезапустить Photoshop
Использование плагина:
При сохранении файла (Ctrl+Shift+S) в поле тип файла выбираем ICO (Windows Icon) (*.ICO; *.CUR)
Сохранение файла

Как установить PECL-расширение в Ubuntu
coderua
1. Лирическое отступление
PECL (англ. PHP Extension Community Library) — это репозиторий модулей для PHP, написанных на C, доступных через систему пакетов PEAR. PECL был создан, когда возникла проблема удаления некоторых модулей из стандартной поставки PHP. Модули PECL разработаны в соответствии со стандартами кодирования, которые приняты командой разработчиков PHP
Более подробно читаем здесь: Википедия, http://pecl.php.net/.

2. Задача.
Установить необходимые расширения. В моем случаее это pecl_http
Ошибка которую выдает веб-сервер и свидетельствует, что расширение не установлено, выглядит вот так:
Fatal error: Call to undefined function http_get() in some_file.php on line xxx


3. Исходная система.
Linux Ubuntu 10.10, Apache 2.2.16, PHP 5.3.3 и т.п.

4. Процесс установки.

  1. Устанавливаем PEAR из репозиториев:
    sudo apt-get install php-pear

  2. При установке, нам будет предложено установить пакеты php5-dev и/или php4-dev. Устанавливаем:
    sudo apt-get install php5-dev

  3. sudo apt-get install libcurl3-openssl-dev

  4. После всего этого можно будет устанавливать pecl-библиотеки. Установим нужную нам библиотеку:
    sudo pecl install pecl_http

  5. Если всё прошло удачно, инсталятор выдаст следующее: You should add "extension=http.so" to php.ini.
    Это означает, что для подключения расширения к PHP необходимо внести данную строчку в файл /etc/php5/apache2/php.ini. Если возникли ошибки, смотрите ниже.

  6. Добавим строку в файл
    sudo echo "extension=http.so" >> /etc/php5/apache2/php.ini && sudo echo "extension=http.so" >> /etc/php5/cli/php.ini

  7. Перезапустим веб-сервер
    sudo /etc/init.d/apache2 restart или sudo /etc/init.d/httpd restart

  8. Если видим [OK], значит всё сделано верно.

Внимание!
Во время выполнения комманды в пункте №5 может возникнуть следующая ошибка: "Fatal error: Call to undefined method PEAR::raiseErro() in /usr/share/php/PEAR/REST.php on line 165";
Решение:
1. Узнаем какая директория используется PEAR для кеша. Выполним комманду:
pear config-get cache_dir
Результат: /tmp/pear/cache
2. Вот этой директории и не хватает. Создаем её:
sudo mkdir -p /tmp/pear/cache

Поддержка Smarty в PDT
coderua
SmartyPDT - плагин подсветки синтаксиса шаблонизатора Smatry.
Его можно использовать в Zend Studio, Eclipse, Aptana.
Внимание! Самая новая, на данный момент, версия (0.9.0) не совместима с Aptana 3 и Zend Studio 8. 

Smartypdt

Установка плагина:

1. Качаем плагин: http://code.google.com/p/smartypdt/downloads/list
2. Открываем любимую IDE (Zend Studio, Eclipse, Aptana)
3. Пункт меню Help -> Install New Software
2. Жмем кнопку «Add».., далее жмем кнопку «Archive» и выбираем скачанный .zip-архив;
Чтобы плагин появился в списке доступных для установки, необходимо снять галочку «Group items by category»;
После этого в списке появится выбор «Smarty Feature»

Всё готово для установки.
Жмем «Next-Next-Finish».
Для того чтобы изменения вступили в силу, перезапускаем редактор.
Теперь IDE «понимает» синтаксис Smarty и программировать становиться приятнее.

Сервис микроблогинга Twitter в цифрах
coderua


Впечатляет, не правда ли?
Tags: